Миграция#
В организациях может возникнуть необходимость мигрировать платформу Astra Automation с одних узлов на другие. При этом часто изменяются доменные имена и IP-адреса узлов платформы.
Чтобы выполнить такую миграцию, необходимо воспользоваться функциональностью утилиты aa-setup.
Здесь рассматривается пример миграции платформы Astra Automation с одной конфигурации на другую.
Важно
Версии ОС на установочном узле и узлах платформы не изменяются.
Версия платформы не изменяется.
Допускается миграция платформы между конфигурациями с разным количеством узлов.
Пусть исходная конфигурация платформы имеет следующие параметры:
Платформа развернута с полным составом компонентов на пяти узлах:
Узел
Назначение
FQDN
IP-адрес
node1Узел шлюза платформы
node1.example.com192.168.56.11node2Управляющий узел
node2.example.com192.168.56.12node3Узел Private Automation Hub
node3.example.com192.168.56.13node4Узел Event-Driven Automation
node4.example.com192.168.56.14node5Узел СУБД
node5.example.com192.168.56.15Для администрирования узлов используется учетная запись
administrator.Сервер СУБД PostgreSQL развернут средствами платформы.
Далее эта платформа будет называться исходной платформой, а соответствующий ей установочный узел – исходным установочным узлом.
Пусть целевая конфигурация платформы имеет следующие параметры:
Для развертывания платформы подготовлены пять узлов:
Узел
Назначение
FQDN
IP-адрес
gwУзел шлюза платформы
gw.example.com10.120.0.10acУправляющий узел
ac.example.com10.120.0.11hubУзел Private Automation Hub
hub.example.com10.120.0.12edaУзел Event-Driven Automation
eda.example.com10.120.0.13rdbsУзел СУБД
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
Если необходимо использовать другой установочный узел, любым удобным способом скопируйте на него самый новый архив с резервной копией.
Каталог
/var/backups/astra-automation/создается только при резервном копировании, поэтому на целевом установочном узле его необходимо предварительно создать и назначить его владельцем учетную запись, используемую при копировании:sudo mkdir -p /var/backups/astra-automation/ sudo chown <user> /var/backups/astra-automation/
Затем скопируйте архив, например по сети:
scp /var/backups/astra-automation/astra-automation-backup-latest.tar.gz <user>@<host>:/var/backups/astra-automation/astra-automation-backup-latest.tar.gz
Здесь:
<user> – название учетной записи пользователя целевого установочного узла;
<host> – FQDN или IP-адрес целевого установочного узла.
Восстановление из резервной копии#
Для восстановления платформы из резервной копии подключитесь к целевому установочному узлу и выполните следующие действия:
Перейдите в каталог
/opt/rbta/aa/astra-automation-setup/:cd /opt/rbta/aa/astra-automation-setup/
В инвентарь утилиты развертывания внесите изменения, соответствующие новой конфигурации платформы. Для описанной выше конфигурации файл инвентаря необходимо привести к следующему виду:
[automationgateway] gw.example.com [automationcontroller] ac.example.com [automationhub] hub.example.com [automationedacontroller] eda.example.com [database] rdbs.example.com [all:vars] ansible_user='devops' ansible_ssh_private_key_file='/path/to/private/ssh/key' redis_mode=standalone automationgateway_admin_password='p@ssW0rd!' automationgateway_pg_host=10.120.0.101 admin_username='admin' admin_email='admin@example.com' admin_password='p@ssW0rd!' pg_host=10.120.0.101 pg_port=5432 automationhub_pg_host=10.120.0.101 automationedacontroller_pg_host=10.120.0.101
automationgateway: hosts: gw.example.com: automationcontroller: hosts: ac.example.com: automationhub: hosts: hub.example.com: automationedacontroller: hosts: eda.example.com: database: hosts: rdbs.example.com: all: vars: ansible_user: devops ansible_ssh_private_key_file: /path/to/private/ssh/key redis_mode: standalone automationgateway_admin_password: p@ssW0rd! automationgateway_pg_host: 10.120.0.101 admin_username: admin admin_email: admin@example.com admin_password: p@ssW0rd! pg_host: 10.120.0.101 pg_port: 5432 automationhub_pg_host: 10.120.0.101 automationedacontroller_pg_host: 10.120.0.101
Запустите развертывание платформы:
sudo ./aa-setupЕсли инвентарь хранится в файле формата YAML, укажите путь к нему в значении аргумента
--inventory(-i):sudo ./aa-setup --inventory=/path/to/inventory.yml
Запустите восстановление платформы из резервной копии:
sudo ./aa-setup --restore
Если инвентарь хранится в файле формата YAML, укажите путь к нему в значении аргумента
--inventory(-i):sudo ./aa-setup --restore --inventory=/path/to/inventory.yml
Для проверки корректности восстановления выполните вход в веб-интерфейс Astra Automation от имени администратора и проверьте содержимое разделов.