Миграция#

В организациях может возникнуть необходимость мигрировать платформу Astra Automation с одних узлов на другие. При этом часто изменяются доменные имена и IP-адреса узлов платформы.

Чтобы выполнить такую миграцию, необходимо воспользоваться функциональностью утилиты aa-setup. Здесь рассматривается пример миграции платформы Astra Automation с одной конфигурации на другую.

Важно

  • Версии ОС на установочном узле и узлах платформы не изменяются.

  • Версия платформы не изменяется.

  • Допускается миграция платформы между конфигурациями с разным количеством узлов.

Пусть исходная конфигурация платформы имеет следующие параметры:

  • Платформа развернута с полным составом компонентов на пяти узлах:

    Узел

    Назначение

    FQDN

    IP-адрес

    node1

    Узел шлюза платформы

    node1.example.com

    192.168.56.11

    node2

    Управляющий узел

    node2.example.com

    192.168.56.12

    node3

    Узел Private Automation Hub

    node3.example.com

    192.168.56.13

    node4

    Узел Event-Driven Automation

    node4.example.com

    192.168.56.14

    node5

    Узел СУБД

    node5.example.com

    192.168.56.15

  • Для администрирования узлов используется учетная запись administrator.

  • Сервер СУБД PostgreSQL развернут средствами платформы.

Далее эта платформа будет называться исходной платформой, а соответствующий ей установочный узел – исходным установочным узлом.

Пусть целевая конфигурация платформы имеет следующие параметры:

  • Для развертывания платформы подготовлены пять узлов:

    Узел

    Назначение

    FQDN

    IP-адрес

    gw

    Узел шлюза платформы

    gw.example.com

    10.120.0.10

    ac

    Управляющий узел

    ac.example.com

    10.120.0.11

    hub

    Узел Private Automation Hub

    hub.example.com

    10.120.0.12

    eda

    Узел Event-Driven Automation

    eda.example.com

    10.120.0.13

    rdbs

    Узел СУБД

    rdbs.example.com

    10.120.0.101

  • Установочный узел и узлы платформы настроены согласно инструкциям из документа Подготовка узлов.

  • Для администрирования узлов платформы используется учетная запись devops.

  • Сервер СУБД PostgreSQL будет развернут средствами платформы.

Далее эта платформа будет называться целевой платформой, а соответствующий ей установочный узел – целевым установочным узлом.

Совет

В качестве целевого установочного узла можно использовать исходный установочный узел.

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

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

  1. Перейдите в каталог /opt/rbta/aa/astra-automation-setup/:

    cd /opt/rbta/aa/astra-automation-setup/
    
  2. Запустите утилиту aa-setup с аргументом --backup (-b):

    sudo ./aa-setup --backup
    

    Если инвентарь хранится в файле формата YAML, укажите путь к нему в значении аргумента --inventory (-i):

    sudo ./aa-setup --backup --inventory=/path/to/inventory.yml
    
  3. Если необходимо использовать другой установочный узел, любым удобным способом скопируйте на него самый новый архив с резервной копией.

    Каталог /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-адрес целевого установочного узла.

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

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

  1. Перейдите в каталог /opt/rbta/aa/astra-automation-setup/:

    cd /opt/rbta/aa/astra-automation-setup/
    
  2. В инвентарь утилиты развертывания внесите изменения, соответствующие новой конфигурации платформы. Для описанной выше конфигурации файл инвентаря необходимо привести к следующему виду:

    [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
    
  3. Запустите развертывание платформы:

    sudo ./aa-setup
    

    Если инвентарь хранится в файле формата YAML, укажите путь к нему в значении аргумента --inventory (-i):

    sudo ./aa-setup --inventory=/path/to/inventory.yml
    
  4. Запустите восстановление платформы из резервной копии:

    sudo ./aa-setup --restore
    

    Если инвентарь хранится в файле формата YAML, укажите путь к нему в значении аргумента --inventory (-i):

    sudo ./aa-setup --restore --inventory=/path/to/inventory.yml
    
  5. Для проверки корректности восстановления выполните вход в веб-интерфейс Astra Automation от имени администратора и проверьте содержимое разделов.