1. Резервное копирование Avanpost DS
Для резервного копирования Avanpost DS используется утилита "db-backup".
Утилита создаёт резервную копию базы данных. Запускается на контроллере домена при работающем Avanpost DS, не прерывая его работу.
ВНИМАНИЕ!
Необходимо обязательно сохранять версии дистрибутива. Резервная копия Avanpost DS привязана к конкретной версии продукта. Восстановление данных возможно только на ту же версию, с которой создавалась копия.
Флаги:
- -o, --output — Путь и имя файла для архива резервной копии. Архив будет создан по указанному пути с заданным именем.
- -c, --config — Путь и имя файла конфигурации, который будет включён в архив резервной копии.
- -k, --keytab — Путь и имя файла keytab, который будет включён в архив резервной копии.
$ /opt/avanpost/tools/cli/cli db-backup \ -c "/opt/avanpost/ads/config/config.yaml" \ -k "/opt/avanpost/ads/config/.mkey.keytab" \ -o "/opt/avanpost/ads/backup_$(date +%F)" Database Backup: starting... Database Backup: successful $ ls -la /opt/avanpost/ads/backup -rw-r--r--. 1 ads ads 691682334 мар 20 17:09 backup_2025-03-20.tar
2. Восстановление Avanpost DS из резервной копии
Восстановление требуется в случае сбоя всех контроллеров в домене. Для восстановления Avanpost DS используется утилита "db-load".
Утилита восстанавливает базу данных из резервной копии. Запускать утилиту необходимо только при выключенном Avanpost DS. При восстановлении удаляет информацию о репликах (replhosts).
Флаги:
- -i, --input — Путь к архиву резервной копии. Указывает расположение архива, который нужно восстановить.
- -c, --config — Путь, по которому будет восстановлен конфигурационный файл из архива резервной копии. Файл будет извлечён и сохранён по этому пути (включая название).
- -k, --keytab — Путь, по которому будет восстановлен файл keytab из архива резервной копии. Файл будет извлечён и сохранён по этому пути (включая название).
$ /opt/avanpost/tools/cli/cli db-load \ -c "/opt/avanpost/ads/config/config.yaml" \ -k "/opt/avanpost/ads/config/.mkey.keytab" \ -i "/opt/avanpost/ads/backup_2025-03-20.tar" Database LOAD: starting... config is valid badger 2025/04/16 10:24:43 INFO: All 0 tables opened in 0s badger 2025/04/16 10:24:43 INFO: Discard stats nextEmptySlot: 0 badger 2025/04/16 10:24:43 INFO: Set nextTxnTs to 0 Database LOAD: successful, please, start DS again. $ ls -la /opt/avanpost | grep "data" drwx------ 2 ads ads 691682334 апр 07 07:05 data drwx------ 2 ads ads 891482734 апр 07 07:05 data_old_2025-04-7-07-05-55
Для восстановления Avanpost DS необходимо выполнить шаги:
Шаг 1. Выключить Avanpost DS на всех контроллерах домена.
Для этого требуется выполнить команду:
sudo systemctl stop ads
Шаг 2. Восстановить один из контроллеров из резервной копии.
Для этого требуется на выбранном КД запустить восстановление базы данных с помощью "db-load".
Шаг 3. Запустить Avanpost DS на восстановленном контроллер домена.
Для этого требуется выполнить команду:
sudo systemctl start ads
Данный контроллер станет основным.
Шаг 4. Установить права для пользователя "ads" на директорию "/opt/avanpost".
Для этого необходимо выполнить команду:
sudo chown -R ads:ads /opt/avanpost/ads
Шаг 5. Очистить данные на остальных контроллерах.
Для этого требуется выполнить команды:
rm -rf /opt/avanpost/ads/data \ rm -rf /opt/avanpost/ads/ds-log \
Шаг 6. Запустить Avanpost DS на остальных контроллерах.
Для этого требуется выполнить команду:
sudo systemctl start ads
Шаг 7. Добавить остальные контроллеры домена в репликацию.
Для этого необходимо выполнить команду на каждом неосновном КД, подставив свои значения в шаблон:
/opt/avanpost/tools/cli/cli add-instance --host [IP2] --name [FQDN2] --endpoint [IP1]:48910 --user [ADMIN_USER] --password [ADMIN_PASSWORD]
Заменить [ADMIN_USER] и [ADMIN_PASSWORD] на реквизиты учетной записи пользователя с правами добавления контроллеров, по умолчанию это Administrator:Avanp0st
Заменить [IP2] на IP-адрес нового контроллера.
Заменить [IP1] на IP-адрес первичного(основного) контроллера.
Заменить [FQDN2] на FQDN нового контроллера.
/opt/avanpost/tools/cli/cli add-instance --host 192.168.1.12 --name ds02.avanpost.local --endpoint 192.168.1.11:48910 --user Administrator --password Avanp0st
Шаг 8. Проверить репликацию.
Все вторичные КД должны синхронизироваться с основным КД, восстановленным из резервной копии. После завершения репликации инфраструктура будет восстановлена.