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

Руководство относится к платформе Astra Automation, развернутой в контейнерах. Для платформы, развернутой из deb-пакетов, используйте Резервное копирование и восстановление, а для платформы в кластере Kubernetes – Резервное копирование и восстановление в Kubernetes.

Обе операции выполняет утилита развертывания aa-setup с установочного узла по тем же соединениям SSH, которыми она развертывала платформу. Состав узлов утилита берет из описания инвентаря, а не из резервной копии.

Резервную копию Automation Dashboard создают отдельно, так как этот компонент хранит данные в собственной базе данных (см. Резервное копирование и восстановление Automation Dashboard).

Структура архива резервной копии#

Резервная копия – единый файл astra-automation-backup-<date>.tar.gz, где <date> – дата и время создания копии в формате dd-mm-YYYY-HHMMSS. Рядом с ним утилита развертывания создает символическую ссылку astra-automation-backup-latest.tar.gz на самую новую копию.

Внутри архива лежит каталог backups/ с отдельным архивом каждого компонента:

astra-automation-backup-latest.tar.gz
└── backups/
    ├── controller_0.tar.gz
    ├── eda_0.tar.gz
    ├── gateway_0.tar.gz
    ├── hub_0.tar.gz
    ├── postgresql.tar.gz
    ├── receptor_0.tar.gz
    └── redis_0.tar.gz

Цифра в названии – порядковый номер узла в его группе описания инвентаря, начиная с нуля. При нескольких узлах одного компонента утилита развертывания создает архивы controller_0.tar.gz, controller_1.tar.gz и так далее. Архив базы данных порядкового номера не имеет, так как база данных в платформе одна.

Архив каждого компонента содержит секреты Podman, дамп его базы данных и каталоги с данными и настройками:

Компонент

Содержимое архива

Automation Controller

Секреты Podman, дамп базы данных, каталог проектов, настройки, конфигурация nginx, данные метрик и сертификаты

Шлюз платформы

Секреты Podman, дамп базы данных, данные шлюза и его обратного прокси, сертификаты

Private Automation Hub

Секреты Podman, дамп базы данных, данные компонента, том с контентом и сертификаты

Контроллер Event-Driven Automation

Секреты Podman, дамп базы данных, данные компонента и сертификаты

PostgreSQL

Секреты Podman, каталог данных и настроек сервера, сертификаты

Redis

Данные Redis и сертификаты

Receptor

Данные Receptor и сертификаты

Дамп базы данных каждого компонента лежит внутри его архива. Отдельный архив Receptor утилита развертывания создает для каждого управляющего и исполняющего узла.

Создание резервной копии#

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

  1. На установочном узле перейдите в каталог с утилитой развертывания.

  2. Запустите утилиту aa-setup с аргументами --containerized и -b:

    sudo ./aa-setup --containerized -b
    

    По умолчанию утилита создает копию в каталоге /var/backups/astra-automation/.

  3. Чтобы создать копию в другом каталоге, укажите его после аргумента -b:

    sudo ./aa-setup --containerized -b /opt/backups/
    

Для запуска без запросов подтверждения, например из сценария, добавьте аргументы --plain и -y:

sudo ./aa-setup --containerized --plain -y -b /opt/backups/

Свободное место на установочном узле необходимо в объеме всей резервной копии. Основной вклад в ее размер дает Private Automation Hub, который хранит контент.

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

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

  1. На установочном узле перейдите в каталог с утилитой развертывания.

  2. Запустите утилиту aa-setup с аргументами --containerized и -r:

    sudo ./aa-setup --containerized -r
    

    По умолчанию утилита восстанавливает копию из файла /var/backups/astra-automation/astra-automation-backup-latest.tar.gz.

  3. Чтобы восстановить другую копию, укажите путь к ее архиву:

    sudo ./aa-setup --containerized -r /opt/backups/astra-automation-backup-16-06-2026-155236.tar.gz
    

Утилита развертывания распаковывает единый архив рядом с ним, останавливает службы компонентов, восстанавливает данные и базы данных, пересоздает контейнеры и запускает службы заново. Промежуточные файлы распаковки она удаляет после восстановления.

Особенности контейнерной модели#

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

  • Дамп базы данных утилита развертывания создает не системной командой pg_dump, а такой же командой внутри контейнера образа PostgreSQL. Поэтому клиент PostgreSQL на узлах платформы не требуется.

  • Дамп утилита создает с аргументом --disable-macs, поэтому мандатные метки Astra Linux Special Edition в дамп не попадают, и восстановление под непривилегированной учетной записью базы данных проходит без сообщений о нехватке привилегий.

  • Контейнеры работают в режиме rootless под служебной учетной записью, поэтому обе операции утилита выполняет от ее имени, а не от имени root.

  • Топологию восстановления утилита берет из описания инвентаря. Номер в названии архива соответствует порядку узла в группе, поэтому копию восстанавливают в платформу того же состава. Архивы, созданные прежними версиями платформы по именам узлов, утилита тоже распознает.

Важно

Резервную копию платформы, развернутой из deb-пакетов, восстановить в контейнерную платформу нельзя, как и наоборот. Это разные по структуре артефакты: секреты, данные компонентов и дампы баз данных в них лежат по-разному. Переход между моделями развертывания выполняют миграцией, а не восстановлением из резервной копии.