Avamar: Como usar o script dump_root_hashes.rb para gerar uma lista de clients e backups
Summary: Como usar o script "dump_root_hashes.rb" de engenharia do Avamar para gerar uma lista de clients e backups. Isso pode ser útil para solucionar problemas de capacidade, replicação e outros. Este artigo era historicamente conhecido como KB 502709. ...
Instructions
Este artigo discute os recursos do script de engenharia do Avamar "dump_root_hashes.rb" e fornece ao leitor orientações básicas sobre seu uso.
Casos de uso comuns:
- Gerar uma lista de clients e suas propriedades (por exemplo, ID do client, domínio) em um sistema.
- Comparar uma lista de clients entre dois sistemas.
- Gerar uma lista de todos os backups em uma grade do Avamar e suas propriedades. Isso inclui hash de root, tamanho, ID do plug-in, domínio, nome do client, expiração, retenção e tamanho.
- Comparar backups armazenados em um par de grades de replicação do Avamar (útil para identificar backups ausentes ou excedentes por Avamar: Um par de replicação mostra diferentes níveis de uso da capacidade. Como investigar as causas. Talvez seja necessário fazer log-in no Suporte Dell para acessar este artigo.)
O script reconhece os backups executados a partir do Avamar, mas enviados ao Data Domain.
Como fazer download do script:
Consulte o seguinte artigo para obter informações sobre como localizar e fazer download do script: Avamar: Como encontrar e fazer download de scripts e ferramentas do Avamar na página Dell Central Avamar.
Como executar o script:
O script é executado prefixando o nome do script com "ruby" (como visto abaixo):
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
Como usar o script para comparar backups armazenados em um par de grades de replicação do Avamar:
O comando dump_root_hashes.rb script pode ser útil para identificar backups excedentes ou ausentes em que os clientes podem ter um par de grades do Avamar replicadas e configuradas. Geralmente, a expectativa é que os níveis de capacidade sejam semelhantes e pelo menos os backups dos dias anteriores tenham sido replicados.
Exemplo:
os comandos a seguir devem ser executados na grade do Avamar de origem. Especifique o nome do Avamar Server de destino no comando e o backupcompare modo é invocado. (As versões mais recentes do script informam automaticamente todos os backups detectados no 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 o script seja executado com sucesso, um arquivo de senha ofuscado deve ser gerado executando-se o script no modo "genpasswordfile".
Por motivos de segurança, as credenciais não podem ser passadas diretamente para o script usando a linha de comando:
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.
Esse arquivo de senha pode então ser passado para o script usando um dos parâmetros acima (dependendo se você estiver tentando se conectar remotamente à origem ou ao destino).
Exemplo:
ruby dump_root_hashes.rb --dstaddr=<target-avamar-servername> --dst-password-file=<path-to-password-file> --show-ddr-info
Depois que o script é executado até a conclusão, um arquivo de .csv é gerado com um formato semelhante a este:backupcompare_<source>_to_<target>.domain.com_YYYY-MM-DD_HHMM
O arquivo pode ser aberto no Excel e é formatado com os seguintes nomes de coluna:
- Tecla
- Hash de root
- No Data Domain
- Grade de origem
- Domínio de origem
- Client de origem
- src_created (UTC)
- src_expires (UTC)
- src_retention_type
- src_bytes
- src_labelnum
- src_ddrindex
- Grade de destino
- Domínio de destino
- Client de destino
- dst_created (UTC)
- dst_expires (UTC)
- dst_retention_type
- dst_bytes
- dst_labelnum
- dst_ddrindex
Essas colunas podem ser usadas para classificar e filtrar os dados.
De uso específico nesta situação, é a primeira coluna "Key". Os valores aqui indicam se o backup é armazenado no sistema de origem (S), no destino (D) ou em ambos os sistemas (B).
Esperamos que o sistema de origem possa ter backups (ainda) não presentes no destino. Isso ocorre devido ao atraso natural entre quando o backup é gravado no backup de origem e replicado no destino (geralmente no dia seguinte).
Assista a este vídeo: