Резервное копирование и восстановление

Резервное копирование и восстановление#

Резервное копирование – это процесс создания резервной копии, то есть данных, которые необходимы для восстановления платформы Astra Automation.

Резервная копия представляет собой единый файл архива, включающий в себя следующие данные:

  • информация о настройках системы;

  • ключи шифрования паролей и секретов базы данных;

  • каталог с локальными копиями проектов;

  • резервная копия базы данных;

  • сертификаты.

Архив состоит из файлов:

  • <node>.tar.gz – настройки системы и каталог локальных проектов (<node> – название первого узла в группе [automationcontroller]);

  • ca.tar.gz – сертификаты;

  • common.tar.gz – ключи шифрования паролей и секретов базы данных;

  • postgres.tar.gz – резервная копия базы данных.

Требования к узлу#

Рекомендуется выполнять резервное копирование и восстановление на установочном узле или на узле, удовлетворяющем следующим требованиям:

  • установленный пакет astra-automation-setup;

  • корректно заполненный файл /opt/rbta/aa/astra-automation-setup/inventory.

Утилита назначает владельцем создаваемого файла пользователя, указанного в переменной ansible_user раздела [all:vars] инвентаря. Если эта переменная отсутствует, то этим пользователем будет admin.

Пример настройки:

[all:vars]
ansible_user = astra

Предупреждение

Восстанавливать кластер следует в той же конфигурации, которая была на момент создания резервной копии.

При установке с помощью коллекции эти требования соблюдаются на узле с примененной ролью astra.aa_controller.aac.

Резервное копирование#

Для выполнения резервного копирования выполните следующие действия:

  1. Убедитесь, что в файле inventory в разделе [all:vars] значением параметра ansible_user является название учетной записи пользователя ОС установочного узла, например:

    [all:vars]
    ansible_user = astra
    
  2. Для выполнения резервного копирования выполните команду:

    sudo ./aa-setup -b
    

По умолчанию резервная копия сохраняется в каталог /tmp/backups/astra-automation/. Чтобы сохранить резервную копию в другой каталог, при запуске aa-setup укажите его в значении переменной Ansible backup_dest, например:

sudo ./aa-setup -b -- -e 'backup_dest=/opt/backups/'

В каталоге для хранения резервных копий также создается символическая ссылка astra-automation-backups-latest.tar.gz, которая всегда указывает на самую новую резервную копию в каталоге.

Восстановление из резервной копии#

Для восстановления Astra Automation из резервной копии выполните следующие действия:

  1. Скопируйте архив с резервной копией в каталог /tmp/backups/astra-automation/.

  2. Перейдите в каталог /opt/rbta/aa/astra-automation-setup/ и запустите утилиту aa-setup с аргументом -r:

    sudo ./aa-setup -r
    

    По умолчанию утилита aa-setup восстанавливает резервную копию из самого нового архива, размещенного в каталоге /tmp/backups/astra-automation/. Чтобы использовать для восстановления другой архив, укажите полный путь к нему в значении переменной Ansible restore_backup_file, например:

    sudo ./aa-setup -r -- -e 'restore_backup_file=/opt/backups/astra-automation-backup-16-06-2024-155236.tar.gz'
    
  3. Если резервная копия была создана в версии платформы отличающейся от той, в которой она восстанавливается, утилиту aa-setup обязательно нужно запустить еще раз:

    sudo ./aa-setup
    

    Это обусловлено несоответствием структуры таблиц базы данных в разных версиях платформы.

  4. Для проверки корректности восстановления выполните вход в веб-интерфейс контроллера от имени администратора и проверьте содержимое разделов.