Миграция#
В организациях может возникнуть необходимость мигрировать платформу Astra Automation с одних узлов на другие. При этом часто изменяются доменные имена и IP-адреса узлов платформы.
Чтобы выполнить такую миграцию, следует воспользоваться функциональностью утилиты aa-setup.
Здесь рассматривается пример миграции платформы Astra Automation с одной конфигурации на другую.
Важно
Версии ОС на установочном узле и узлах платформы не изменяются.
Версия платформы не изменяется.
Допускается миграция платформы между конфигурациями с разным количеством узлов.
Пусть исходная конфигурация платформы имеет следующие параметры:
Развернут кластер Automation Controller из трех узлов:
Узел
Назначение
FQDN
IP-адрес
node1Управляющий узел
node1.example.com192.168.56.11node2Управляющий узел
node2.example.com192.168.56.12node3Узел СУБД
node3.example.com192.168.56.13Для администрирования узлов используется учетная запись
administrator.Сервер СУБД PostgreSQL развернут средствами платформы.
Далее эта платформа будет называться исходной платформой, а соответствующий ей установочный узел – исходным установочным узлом.
Пусть целевая конфигурация платформы имеет следующие параметры:
Для развертывания платформы подготовлены три узла:
Узел
Назначение
FQDN
IP-адрес
ac1Управляющий узел
ac1.example.com10.120.0.11ac2Управляющий узел
ac2.example.com10.120.0.12rdbsУзел СУБД
rdbs.example.com10.120.0.101Установочный узел и узлы платформы настроены согласно инструкций из документа Подготовка узлов.
Для администрирования узлов платформы используется учетная запись
devops.Сервер СУБД PostgreSQL будет развернут средствами платформы.
Далее эта платформа будет называться целевой платформой, а соответствующий ей установочный узел – целевым установочным узлом.
Совет
В качестве целевого установочного узла можно использовать исходный установочный узел.
Создание резервной копии#
Для создания резервной копии подключитесь к исходному установочному узлу и выполните следующие действия:
Перейдите в каталог
/opt/rbta/aa/astra-automation-setup/:cd /opt/rbta/aa/astra-automation-setup/
Запустите утилиту
aa-setupс аргументом--backup(-b):sudo ./aa-setup --backup
Если инвентарь хранится в файле формата YAML, укажите путь к нему в значении аргумента
--inventory(-i):sudo ./aa-setup --backup --inventory=/path/to/inventory.yml
Перейдите в каталог
/tmp/backups/astra-automation/:cd /tmp/backups/astra-automation/
Получите список файлов, упорядоченных по дате создания:
ls -l --sort=time
Если необходимо использовать другой установочный узел, любым удобным способом скопируйте на него самый новый архив с резервной копией. Например, чтобы скопировать архив по сети, выполните команду:
scp <backup> <user>@<host>:<dir>
где:
<backup> – имя файла резервной копии, например,
astra-automation-backup-28-05-2024-114821.tar.gz;<user> – название учетной записи пользователя целевого установочного узла;
<host> – FQDN или IP-адрес установочного узла целевого кластера;
<dir> – полный путь к каталогу на установочном узле целевого кластера.
Восстановление из резервной копии#
Для восстановления платформы из резервной копии подключитесь к целевому установочному узлу и выполните следующие действия:
Создайте каталог
/tmp/backups/astra-automation/:mkdir -p /tmp/backups/astra-automation/
Скопируйте файл резервной копии в каталог
/tmp/backups/astra-automation/:cp <backup> /tmp/backups/astra-automation/
Перейдите в каталог
/opt/rbta/aa/astra-automation-setup/:cd /opt/rbta/aa/astra-automation-setup/
В инвентарь установщика внесите изменения, соответствующие новой конфигурации платформы. Для описанной выше конфигурации файл инвентаря необходимо привести к следующему виду:
[automationcontroller] ac1.example.com ansible_host=10.120.0.11 ac2.example.com ansible_host=10.120.0.12 [database] rdbs.example.com ansible_host=10.120.0.101 [all:vars] ansible_user='devops' ansible_ssh_private_key_file='/path/to/private/ssh/key' admin_username='admin' admin_email='admin@example.com' admin_password='p@ssW0rd!' pg_host=10.120.0.101 pg_port=5432
automationcontroller: hosts: ac1.example.com: ansible_host: 10.120.0.11 ac2.example.com: ansible_host: 10.120.0.12 database: hosts: rdbs.example.com: ansible_host: 10.120.0.101 all: vars: ansible_user: devops ansible_ssh_private_key_file: /path/to/private/ssh/key admin_username: admin admin_email: admin@example.com admin_password: p@ssW0rd! pg_host: 10.120.0.101 pg_port: 5432
Запустите развертывание платформы:
sudo ./aa-setupЕсли инвентарь хранится в файле формата YAML, укажите путь к нему в значении аргумента
--inventory(-i):sudo ./aa-setup --inventory=/path/to/inventory.yml
В каталоге
/tmp/создайте структуру подкаталоговbackups/astra-automation/:mkdir -p /tmp/backups/astra-automation/
Скопируйте файл резервной копии в каталог
/tmp/backups/astra-automation/под именемastra-automation-backup-latest.tar.gz, например:cp astra-automation-backup-28-05-2024-114821.tar.gz \ /tmp/backups/astra-automation/astra-automation-backup-latest.tar.gz
Запустите восстановление платформы из резервной копии:
sudo ./aa-setup --restore
Если инвентарь хранится в файле формата YAML, укажите путь к нему в значении аргумента
--inventory(-i):sudo ./aa-setup --restore --inventory=/path/to/inventory.yml
Для проверки корректности восстановления выполните вход в веб-интерфейс контроллера от имени администратора и проверьте содержимое разделов.