Резервное копирование и восстановление#
Резервное копирование – это процесс создания резервной копии, то есть данных, которые необходимы для восстановления платформы Astra Automation.
Резервная копия представляет собой единый файл архива /var/backups/astra-automation/astra-automation-backup-<date>.tar.gz, где <date> – дата и время создания резервной копии.
Архив содержит следующие данные:
информация о настройках системы;
ключи шифрования паролей и секретов базы данных;
каталог с локальными копиями проектов;
резервная копия базы данных;
сертификаты.
Структура архива резервной копии#
В разархивированном виде структура каталогов резервной копии платформы может выглядеть следующим образом:
Архив включает следующие файлы:
<node>.tar.gz– архив с настройками и данными Automation Controller.Здесь
<node>– название узла из группы инвентаряautomationcontroller.astra_automation.version– файл с информацией о версии Astra Automation, в которой была создана резервная копия.automationedacontroller.tar.gz– архив с настройками и данными Event-Driven Automation. Криптографический ключ контроллера Event-Driven Automation (файлSECRET_KEY) хранится внутри данного архива.automationgateway.tar.gz– архив с настройками и данными шлюза.automationhub.tar.gz– архив с настройками и данными Private Automation Hub. Криптографический ключ Private Automation Hub (SECRET_KEY) хранится внутри данного архива.common.tar.gz– архив с криптографическим ключом Automation Controller.postgres.tar.gz– резервная копия базы данных Automation Controller.
Ниже приведено описание содержимого каталогов компонентов, входящих в резервную копию платформы Astra Automation.
Automation Controller#
В резервной копии для каждого узла Automation Controller создается отдельный каталог, содержащий его настройки и локальные данные.
Пример структуры каталога узла Automation Controller:
Здесь:
conf– каталог с настройками конкретного узла Automation Controller:conf.d– каталог с дополнительными модулями настройки, автоматически загружаемыми при запуске контроллера:aa_setup_custom_variables.py– пользовательские параметры, заданные при установке и настройке платформы;container_groups.py– настройки контейнерных групп;execution_environments.py– описание EE, доступных для выполнения заданий;gateway.py– параметры взаимодействия со шлюзом;ha.py– настройки HA;subscription_usage_model.py– параметры учета использования подписки.
settings.py– основной файл настроек Automation Controller.tower.cert– сертификат TLS Automation Controller.tower.key– закрытый ключ сертификата TLS.uwsgi.ini– настройки сервиса uWSGI.
projects– каталог с проектами автоматизации.
Event-Driven Automation#
Данные Event-Driven Automation сохраняются в одном каталоге, независимо от количества узлов компонента в кластере.
Пример структуры:
Здесь:
automationedacontroller.db– локальная база данных Event-Driven Automation, содержащая настройки и служебные данные компонента.conf– каталог с файловой конфигурацией Event-Driven Automation:SECRET_KEY– файл с криптографическим ключом, используемым компонентом для подписи данных и защиты секретов.settings– файл с настройками Event-Driven Automation.
Gateway#
Данные шлюза сохраняются в одном каталоге для всех узлов компонента.
Пример структуры:
Здесь:
automationgateway.db– локальная база данных шлюза, содержащая конфигурационные и служебные данные.conf– каталог с настройками шлюза:SECRET_KEY– криптографический ключ, используемый шлюзом для защиты данных и аутентификации.
Private Automation Hub#
Private Automation Hub сохраняет собственные данные и артефакты в отдельном каталоге резервной копии.
Пример структуры:
Здесь:
automationhub.db– локальная база данных Private Automation Hub, содержащая метаданные репозиториев и коллекций.database_fields.symmetric.key– симметричный ключ, используемый для шифрования данных в базе Private Automation Hub.var_lib_pulp– каталог с данными сервиса Pulp:media/artifact– хранилище артефактов и файлов коллекций Ansible.
Общие сведения#
В каталоге common хранятся криптографические данные платформы, используемые Automation Controller.
Пример структуры:
Здесь:
SECRET_KEY– основной криптографический ключ Automation Controller, используемый для подписи сессий, шифрования секретов и других важных операций;version– служебный файл с информацией о версии платформы.
База данных#
Каталог postgres содержит резервную копию базы данных Automation Controller и вспомогательные сценарии SQL, используемые при восстановлении.
Пример структуры:
Здесь:
aa-controller.db– резервная копия базы данных Automation Controller;instance_group_map.sql– сценарий SQL для восстановления сопоставления групп узлов контроллера;instance_group_map_cleanup.sql– сценарий SQL для очистки данных групп узлов контроллера перед восстановлением.
Требования к узлу#
Рекомендуется выполнять резервное копирование и восстановление на установочном узле или на узле, удовлетворяющем следующим требованиям:
установленный пакет
astra-automation-setup;корректно заполненный файл
/opt/rbta/aa/astra-automation-setup/inventory.
Утилита назначает владельцем создаваемого файла пользователя, указанного в переменной ansible_user раздела [all:vars] инвентаря.
Если эта переменная отсутствует, то этим пользователем будет admin.
Пример настройки:
[all:vars]
ansible_user='astra'
Предупреждение
Восстанавливать кластер следует в той же конфигурации, которая была на момент создания резервной копии.
При установке с помощью коллекции эти требования соблюдаются на узле с примененной ролью astra.aa_controller.aac.
Резервное копирование#
Для выполнения резервного копирования выполните следующие действия:
Убедитесь, что в файле
inventoryв разделе[all:vars]значением параметраansible_userявляется название учетной записи пользователя ОС установочного узла, например:[all:vars] ansible_user='astra'
Для выполнения резервного копирования выполните команду:
sudo ./aa-setup -b
По умолчанию резервная копия сохраняется в каталог /var/backups/astra-automation/.
Чтобы сохранить резервную копию в другой каталог, укажите полный путь нему в качестве позиционного аргумента после аргумента -b, например:
sudo ./aa-setup -b /opt/backups/
В каталоге для хранения резервных копий также создается символическая ссылка astra-automation-backups-latest.tar.gz, которая всегда указывает на самую новую резервную копию в каталоге.
Восстановление из резервной копии#
Для восстановления Astra Automation из резервной копии выполните следующие действия:
Скопируйте архив с резервной копией в каталог
/var/backups/astra-automation/.Перейдите в каталог
/opt/rbta/aa/astra-automation-setup/и запустите утилитуaa-setupс аргументом-r:sudo ./aa-setup -r
По умолчанию утилита
aa-setupвосстанавливает резервную копию из самого нового архива, размещенного в каталоге/var/backups/astra-automation/. Чтобы использовать для восстановления другой архив, укажите полный путь к нему в качестве позиционного аргумента после аргумента-r, например:sudo ./aa-setup -r /var/backups/astra-automation-backup-16-06-2024-155236.tar.gz
Если резервная копия была создана в версии платформы отличающейся от той, в которой она восстанавливается, утилиту
aa-setupобязательно нужно запустить еще раз:sudo ./aa-setupЭто обусловлено несоответствием структуры таблиц базы данных в разных версиях платформы.
Для проверки корректности восстановления выполните вход в веб-интерфейс контроллера от имени администратора и проверьте содержимое разделов.