Avamar: come utilizzare lo script dump_root_hashes.rb per generare un elenco di client e backup
Summary: Come utilizzare lo script Avamar Engineering "dump_root_hashes.rb" per generare un elenco di client e backup. Questa procedura può risultare utile per la risoluzione di problematiche relative alla capacità, alla replica e ad altre questioni. Questo articolo era noto in passato come KB 502709. ...
Instructions
Questo articolo descrive le caratteristiche dello script Avamar Engineering "dump_root_hashes.rb" e fornisce al lettore indicazioni di base sul suo utilizzo.
Casi d'uso tipici:
- Generazione di un elenco di client e delle relative proprietà (ad esempio ID client o dominio) su un sistema.
- Confronto di un elenco di client tra due sistemi.
- Generazione di un elenco di tutti i backup in una griglia Avamar e delle relative proprietà, tra cui hash root, dimensioni, ID di plug-in, dominio, nome client, scadenza, conservazione e dimensione.
- Confronto dei backup archiviati su una coppia di griglie di replica Avamar (utile per identificare i backup mancanti o in eccesso in base alle indicazioni fornite in Avamar: una coppia di replica mostra livelli diversi di uso della capacità. Come indagare le cause. Potrebbe essere necessario accedere al Supporto Dell per accedere a questo articolo).
Lo script è a conoscenza dei backup eseguiti da Avamar ma inviati a Data Domain.
Download dello script:
Consultare il seguente articolo per informazioni su come individuare e scaricare lo script: Avamar: Come trovare e scaricare gli script e gli strumenti Avamar dalla pagina Dell Central Avamar.
Esecuzione dello script:
Lo script viene eseguito facendo precedere il nome dello script con "ruby" (come mostrato di seguito):
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
Come utilizzare lo script per confrontare i backup archiviati su una coppia di griglie di replica Avamar:
Lo script dump_root_hashes.rb può essere utile per identificare i backup in eccesso o mancanti in cui i clienti potrebbero avere una coppia di griglie di replica Avamar configurate. In genere, si prevede che i livelli di capacità siano simili e che siano stati replicati almeno fino ai backup dei giorni precedenti.
Esempio:
I seguenti comandi devono essere eseguiti sulla griglia Avamar di origine. Specificare il nome dell'Avamar Server di destinazione nel comando e che venga richiamata la modalità backupcompare . Le versioni più recenti dello script segnalano automaticamente eventuali backup rilevati su 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.
Affinché lo script venga eseguito correttamente, è necessario generare un file di password offuscato eseguendo lo script in modalità "genpasswordfile".
Per motivi di sicurezza, le credenziali non possono essere passate direttamente allo script utilizzando la riga di 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.
Questo file di password può quindi essere passato allo script utilizzando uno dei parametri precedenti (a seconda che si stia tentando di connettersi in remoto all'origine o alla destinazione).
Esempio:
ruby dump_root_hashes.rb --dstaddr=<target-avamar-servername> --dst-password-file=<path-to-password-file> --show-ddr-info
Al termine dell'esecuzione dello script, viene generato un file .csv denominato con un formato simile al seguente:backupcompare_<source>_to_<target>.domain.com_YYYY-MM-DD_HHMM
Il file può essere aperto in Excel ed è formattato con i seguenti nomi di colonna:
- 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
Queste colonne possono essere utilizzate per ordinare e filtrare i dati.
Particolarmente utile in questa situazione è la prima colonna, "Key". I valori qui indicano se il backup è archiviato nel sistema di origine (S), nel sistema di destinazione (D) o su entrambi (B).
Si prevede che il sistema di origine possa avere backup non (ancora) presenti sulla destinazione. Ciò è dovuto al ritardo naturale tra l'ora di scrittura del backup nel backup di origine e l'ora di replica nella destinazione (in genere entro il giorno successivo).
Guardare questo video: