Навигатор по разделу:
1. Резервное копирование Avanpost DS
Для резервного копирования Avanpost DS используется утилита "/opt/avanpost/tools/cli/cli db-backup".
Утилита создаёт резервную копию базы данных. Запускается на контроллере домена при работающем Avanpost DS, не прерывая его работу.
ВНИМАНИЕ!
Необходимо обязательно сохранять версии дистрибутива. Резервная копия Avanpost DS привязана к конкретной версии продукта. Восстановление данных возможно только на ту же версию, с которой создавалась копия.
Флаги:
- --output — Путь и имя файла для архива бэкапа. Архив бэкапа будет создан по указанному пути с заданным именем.
--config — Путь и имя файла конфигурации, который будет включён в архив бэкапа. Этот файл будет скопирован и сохранён в составе бэкапа.
- --keytab — Путь и имя файла keytab, который будет включён в архив резервной копии. Этот файл будет скопирован и сохранён в составе бэкапа.
--cert — Путь и имя файла сертификата, который будет включён в архив бэкапа. Этот файл будет скопирован и сохранён в составе бэкапа.
--key — Путь и имя файла приватного ключа, который будет включён в архив бэкапа. Этот файл будет скопирован и сохранён в составе бэкапа.
$ /opt/avanpost/tools/cli/cli db-backup \ --output "/opt/avanpost/ads/backup_$(date +%F)" \ --config "/opt/avanpost/ads/config/config.yaml" \ --keytab "/opt/avanpost/ads/config/.mkey.keytab" \ --cert "/opt/avanpost/ads/dc_cert" \ --key "opt/avanpost/ads/dc_key" 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 из резервной копии
2.1. Полное восстановление Avanpost DS из резервной копии
Восстановление требуется в случае сбоя всех контроллеров в домене. Для восстановления Avanpost DS используется утилита "/opt/avanpost/tools/cli/cli db-load".
Утилита восстанавливает базу данных из резервной копии. Запускать утилиту необходимо только при выключенном Avanpost DS. При восстановлении удаляет информацию о репликах (replhosts).
Флаги:
- --backup — Путь к архиву бэкапа. Указывает расположение файла бэкапа, который нужно восстановить.
- --config-dest — Путь, по которому будет восстановлен конфигурационный файл из архива бэкапа. Файл будет извлечён и сохранён по этому пути (включая название).
- --keytab-dest — Путь, по которому будет восстановлен файл keytab из архива бэкапа. Файл будет извлечён и сохранён по этому пути (включая название).
- --cert-dest — Путь, по которому будет восстановлен сертификат из архива бэкапа. Файл будет извлечён и сохранён по этому пути (включая название).
- --key-dest — Путь, по которому будет восстановлен приватный ключ из архива бэкапа. Файл будет извлечён и сохранён по этому пути (включая название).
$ /opt/avanpost/tools/cli/cli db-load \ --backup "/opt/avanpost/ads/backup_2025-03-20.tar" \ --config-dest "/opt/avanpost/ads/config/config.yaml" \ --keytab-dest "/opt/avanpost/ads/config/.mkey.keytab" \ --cert-dest "/opt/avanpost/ads/dc_cert" \ --key-dest "/opt/avanpost/ads/dc_key" 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. Восстановить один из контроллеров из резервной копии.
Для этого требуется на выбранном КД запустить восстановление базы данных с помощью утилиты "cli 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. Проверить репликацию.
Все вторичные КД должны синхронизироваться с основным КД, восстановленным из резервной копии. После завершения репликации инфраструктура будет восстановлена.
2.2. Частичное восстановление Avanpost DS из резервной копии
Для частичного восстановления Avanpost DS используется утилита "/opt/avanpost/tools/cli/cli db-load-partial".
Утилита загружает выборочные записи из резервной копии БД по указанным UID. Запускать утилиту необходимо только при выключенном Avanpost DS. Восстанавливаются только те объекты, UIDs которых переданы явно.
Флаги:
- --backup — Путь к архиву бэкапа. Указывает расположение файла бэкапа, из которого нужно извлечь объекты.
- --uids — Список UIDs, которые нужно восстановить, указанные через пробел. Например: "uid1 uid2 uid3".
$ /opt/avanpost/tools/cli/cli db-load-partial \ --backup "/opt/avanpost/ads/backup_2025-08-10.tar" \ --uids "0182735e-32f8-4df3-820f-279cd2f8c183 bd448a8d-0a40-43a1-870f-b24a54e21176" Database LOAD PARTIAL: starting... config is valid Restored USN 296 296 Restored HWM for ds02.example.com 212 Restored UTD for ds02.example.com 155 2025/08/10 17:24:02 Processing UID: 0182735e-32f8-4df3-820f-279cd2f8c183 2025/08/10 17:24:02 current usn 296 attr 'surname' replacing 2025/08/10 17:24:02 new usn 297 2025/08/10 17:24:02 Processing UID: bd448a8d-0a40-43a1-870f-b24a54e21176 2025/08/10 17:24:02 current usn 297 attr 'surname' replacing 2025/08/10 17:24:02 new usn 298 Database LOAD PARTIAL: successful, please, start DS again.