Avamar: Cómo usar el script dump_root_hashes.rb para generar una lista de clientes y respaldos
Summary: Cómo usar el script de ingeniería de Avamar dump_root_hashes.rb para generar una lista de clientes y respaldos. Esto puede ser útil para solucionar problemas de capacidad, replicación y otros. Históricamente, este artículo se conocía como KB 502709. ...
Instructions
En este artículo, se analizan las características del script de ingeniería de Avamar “dump_root_hashes.rb” y se proporcionan al lector lineamientos básicos sobre su uso.
Casos de uso típicos:
- Generación de una lista de clientes y sus propiedades (por ejemplo, ID de cliente, dominio) en un sistema.
- Comparación de una lista de clientes entre dos sistemas.
- Generación de una lista de todos los respaldos en una cuadrícula de Avamar y sus propiedades. Estos incluyen el hash raíz, el tamaño, el ID de plug-in, el dominio, el nombre de cliente, el vencimiento, la retención y el tamaño.
- Comparación de respaldos que se almacenan en un par de cuadrículas de Avamar en replicación (útil para identificar respaldos faltantes o excedentes según Avamar: Un par de replicación muestra diferentes niveles de uso de capacidad. Cómo investigar las causas. Quizás sea necesario iniciar sesión en el soporte de Dell para acceder a este artículo).
El script reconoce los respaldos que se ejecutan desde Avamar pero se envían a Data Domain.
Descarga del script:
Consulte el siguiente artículo para obtener información sobre cómo ubicar y descargar el script: Avamar: Cómo encontrar y descargar scripts y herramientas de Avamar desde la página de Dell Central Avamar.
Ejecución del script:
El script se ejecuta agregando el prefijo “ruby” al nombre del script (como se ve a continuación):
ruby dump_root_hashes.rb --help
Starting up dump_root_hashes.rb version 0.10.2 at 2019-10-21 02:17:21 +0000 (2019-10-21 02:17:21 UTC) Usage: dump_root_hashes.rb [options] Overview of the script's features Running the script with the --help flag shows a list of features. Below is output showing features of the script as of release 0.10.2. Options: -q, --quiet Suppress progress counters --mode=<backuplist|backupcompare|clientlist|clientcompare|genpasswordfile|connchk> Specify the script mode. Supported modes: backuplist (default) - generate a report showing the list of all backups on the system; include the following information: -system name -client name -domain -backup create time -backup expiration time -retention tags -backup size -root hash backupcompare - generate a report showing backup information for both source and target; requires a --dstaddr parameter clientlist - generate a report showing the client information for all client accounts clientcompare - generate a report showing the client information for both source and target; requires a --dstaddr parameter genpasswordfile - generate a file containing obfuscated login credentials connchk - run a GSAN connectivity test -s, --srcaddr=ADDRESS Specify the replication source. Defaults to the local system. --src-password-file=FILENAME Specify a file containing credentials for the source system. Only needed if source and destination passwords differ. -d, --dstaddr=ADDRESS Specify the replication destination for "compare" modes --dst-password-file=FILENAME Specify a file containing credentials for the destination system. Only needed if source and destination passwords differ. Filtering Options: NOTE: Filter flags apply to BOTH source AND destination systems unless otherwise noted! --before=DATE Only report on backups created before DATE. This date can be any string understood by the GNU "date" utility. --after=DATE Only report on backups created after DATE. This date can be any string understood by the GNU "date" utility. --srcpath=PATH Limit reporting on the source system to domains and clients under the specified path. --dstpath=PATH Limit reporting on the destination system to domains and clients under the specified path. --mc-deleted=<include|skip> Skip the MC_DELETED domain by default --mc-retired=<include|skip> Traverse the MC_RETIRED domain by default --partials=<include|skip> Skip partial backups by default --expired=<include|skip> Skip expired backups by default --replicate=<include|skip> Traverse the REPLICATE domain by default --system-accounts=<include|skip> Skip the system accounts MC_BACKUPS, EM_BACKUPS, AVI_BACKUPS, etc. by default --adme=<include|skip> Skip the ADME domain by default Output Options: --outfile=FILENAME The report is written to this file. Defaults to "<mode>.csv", where <mode> is the script mode. The file is overwritten if it exists. --format=<csv> Data format to use for export. Supported formats: csv (default) - comma separated values; suitable for spreadsheet import --[no-]showprectime Include the backup creation precision time in report --[no-]show-ddr-info Include DDR presence information and ddrindex in report --[no-]show-tier-info Include cloud tiering information in report --[no-]showbackuptype Include the backup type (Full, Incremental+Full, etc. in report --[no-]showhybridbackups Detect hybrid backups, where a DD backup has data on GSAN (slow) --hybridsearchtimeout=n How long to wait for hybrid backup search avtar calls to return in seconds. Defaults to 300s. Set to 0 to disable timeout. --[no-]showlabel Include the backup's text label in report --[no-]showpidnum Include the backup's plugin id (pid number / pidnum) in report --[no-]showpiddesc Include a short plugin description for each backup in report --compression=<none|gzip> Use the specified compression for the output file. Defaults to gzip. --presence=src,dst,both Limit output to records only on the src, only on the dst, on both systems, or some combination thereof Shows all records by default (equivalent to --presence=src,dst,both) --[no-]header Include the header line in CSV files Script Options: --debug Enable debug logging. --memory-limit=n How much virtual memory the script can use in bytes. Defaults to 4GB. --avmgrdebug=<none|getl|getb|all> Enable debugging for avmgr queries. Defaults to none. --avmgr-debug-file=FILENAME Write avmgr debug information to the specified file. Defaults to drh_avmgr_debug.log. --getl-timeout=n How long to wait for avmgr getl to return in seconds. Defaults to 60s. Set to 0 to disable timeout. --getl-retries=n How many times to retry an avmgr getl command before giving up. Defaults to 5. --getb-timeout=n How long to wait for avmgr getb to return in seconds. Defaults to 300s (5 minutes). Set to 0 to disable timeout. --getb-retries=n How many times to retry an avmgr getb command before giving up. Defaults to 5. --encrypt=<none|proprietary|ssl|tls|tls-sa> Set encryption mode. Defaults to tls. --src-encrypt=<none|proprietary|ssl|tls|tls-sa> Set source encryption mode. Overrides --encrypt if both are specified. Defaults to tls. --dst-encrypt=<none|proprietary|ssl|tls|tls-sa> Set destination encryption mode. Overrides --encrypt if both are specified. Defaults to tls. -h, --help Display help text -v, --version Display version information
Additional Information
Cómo usar el script para comparar respaldos almacenados en un par de cuadrículas de replicación de Avamar:
El comando dump_root_hashes.rb script puede ser útil para identificar respaldos sobrantes o faltantes en los que los clientes pueden tener configurado un par de cuadrículas de Avamar de replicación. En general, la expectativa es que los niveles de capacidad sean similares y que se hayan replicado al menos los respaldos de los días anteriores.
Ejemplo:
Los siguientes comandos se deben ejecutar en la cuadrícula de Avamar de origen. Especifique el nombre del Avamar server de destino en el comando y backupcompare se invoca el modo. (Las versiones más recientes del script informan automáticamente sobre cualquier respaldo detectado en Data Domain):
ruby dump_root_hashes.rb --dstaddr=<target-avamar-servername>
Failed to connect to GSAN on avamar2.xxx.com. Check name resolution, network connectivity, and firewall settings.
Para que el script se ejecute correctamente, se debe generar un archivo de contraseña enmascarada mediante la ejecución del script en modo genpasswordfile.
Por motivos de seguridad, las credenciales no se pueden transmitir directamente al script mediante la línea de comandos:
admin@avamar1:~/>: ruby dump_root_hashes.rb --mode=genpasswordfile
Starting up dump_root_hashes.rb version 0.8.3 at 2018-02-16 14:14:34 +0000 (2018-02-16 14:14:34 UTC) Running in password file generation mode. Password filename: avamar2.pass Username [root]: Password: Encoding password Writing encoded password to /space/home/admin/avamar2.pass Password information successfully written to /space/home/admin/avamar2.pass Use --src-password-file=/space/home/admin/avamar2.pass or --dst-password-file=/space/home/admin/avamar2.pass to pass these credentials into the script.
A continuación, este archivo de contraseña se puede transmitir al script mediante uno de los parámetros anteriores (dependiendo de si intenta conectarse de forma remota al origen o al destino).
Ejemplo:
ruby dump_root_hashes.rb --dstaddr=<target-avamar-servername> --dst-password-file=<path-to-password-file> --show-ddr-info
Una vez que el script se ejecuta hasta su finalización, se genera un archivo .csv con un formato similar al siguiente:backupcompare_<source>_to_<target>.domain.com_YYYY-MM-DD_HHMM
El archivo se puede abrir en Excel y tiene el formato de los siguientes nombres de columna:
- Key
- Root Hash
- On Data Domain
- Source Grid
- Source Domain
- Source Client
- src_created (UTC)
- src_expires (UTC)
- src_retention_type
- src_bytes
- src_labelnum
- src_ddrindex
- Destination Grid
- Destination Domain
- Destination Client
- dst_created (UTC)
- dst_expires (UTC)
- dst_retention_type
- dst_bytes
- dst_labelnum
- dst_ddrindex
Estas columnas se pueden usar para ordenar y filtrar los datos.
La primera columna (“Key”) es de particular utilidad en esta situación. Los valores aquí indican si el respaldo se almacena en el sistema de origen (S), en el destino (D) o en ambos sistemas (B).
Es esperable que el sistema de origen pueda tener respaldos que (aún) no están presentes en el destino. Esto se debe al retraso natural entre el momento en que el respaldo se escribe en el respaldo del origen y se replica en el destino (por lo general, al día siguiente).
Vea este video: