Avamar. Как использовать сценарий «dump_root_hashes.rb» для создания списка клиентов и резервных копий
Summary: Как использовать сценарий инженерного отдела Avamar «dump_root_hashes.rb» для создания списка клиентов и резервных копий. Это может оказаться полезным в поиске и устранении проблем с емкостью, репликацией и другими факторами. Эта статья ранее называлась KB 502709. ...
Instructions
В статье обсуждаются функции сценария Avamar Engineering «dump_root_hashes.rb», а читателю даются основные рекомендации по его использованию.
Типовые примеры использования:
- Генерирование списка клиентов и их свойств (например, идентификатора клиента, домена) в системе.
- Сравнение списка клиентов между двумя системами.
- Создание списка всех резервных копий в сети Avamar и их свойств. К ним относятся корневой хэш, размер, идентификатор подключаемого модуля, домен, имя клиента, срок действия, срок хранения и размер.
- Сравнение резервных копий, хранящихся в паре реплицируемых сетей Avamar (полезно для определения отсутствующих или избыточных резервных копий в соответствии с Avamar. В паре репликации наблюдаются разные уровни использования емкости. Порядок выявления причин. Для доступа к этой статье может потребоваться войти в службу поддержки Dell.)
Сценарий предусматривает резервные копии, запускаемые из Avamar, но отправляемые в Data Domain.
Скачивание сценария:
Сведения о поиске и скачивании сценария см. в следующей статье: Avamar. Как найти и скачать сценарии и инструменты Avamar со страницы Dell Central Avamar.
Запуск сценария:
Сценарий запускается путем простановки префикса в имени сценария с «ruby» (как показано ниже):
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
Как использовать сценарий для сравнения резервных копий, хранящихся в паре реплицируемых сетей Avamar.
Сценарий dump_root_hashes.rb может быть полезен для определения избыточных или отсутствующих резервных копий, в которых у заказчиков может быть настроена пара реплицируемых сетей Avamar. Как правило, ожидается, что уровни емкости будут одинаковыми, и резервные копии будут реплицированы по крайней мере до предыдущих.
Пример.
В исходной сети Avamar следует выполнить следующие команды. Укажите имя целевого сервера Avamar в команде и активируется режим backupcompare . (Самые новые версии сценария автоматически отображают информацию о любых найденных в системе 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.
Чтобы сценарий запустился успешно, файл зашифрованного пароля должен быть сгенерирован через запуск сценария в режиме «genpasswordfile».
В целях безопасности учетные данные нельзя передать непосредственно сценарию с помощью командной строки:
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.
Затем этот файл пароля можно передать в сценарий, используя один из указанных выше параметров (в зависимости от того, выполняется ли удаленное подключение к исходной или целевой системе).
Пример.
ruby dump_root_hashes.rb --dstaddr=<target-avamar-servername> --dst-password-file=<path-to-password-file> --show-ddr-info
После завершения выполнения сценария создается файл .csv с именем, аналогичным следующему формату:backupcompare_<source>_to_<target>.domain.com_YYYY-MM-DD_HHMM
Файл можно открыть в Excel и отформатировать со следующими именами столбцов:
- 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
Эти столбцы можно использовать для сортировки и фильтрации данных.
В нашей конкретной ситуации используется первый столбец «Key». Значения здесь указывают, хранится ли резервная копия в исходной системе (S), в целевой системе (D) или в обеих системах (B).
Ожидается, что резервные копии исходной системы в целевой системе могут (пока) отсутствовать. Это происходит из-за естественной задержки между записью резервной копии в исходную резервную копию и репликацией в целевую систему (обычно в течение следующего дня).
Посмотрите следующее видео.