Перейти к основному содержимому

Миграция на текущую версию

Внимание!

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

Чтобы выполнить обновление Pangolin:

  1. Скачайте и распакуйте дистрибутив на сервере.

  2. Перейдите в каталог с распакованным дистрибутивом, а затем в каталог installer.

  3. Перед запуском обновления заполните файл hosts.ini, в зависимости от установленного решения, добавив информацию о хостах и учетных данных пользователя, которые будет использовать Ansible.

    Внимание!

    Данные должны содержать те же параметры, что и при установке.

  4. Заполните настраиваемый конфигурационный файл custom_file.yml.

  5. Заполните конфигурационный файл all.yml.

  6. Выполните ansible-сценарий. Далее приведены шаблоны ansible-сценариев для обновления различных решений:

    • Обновление standalone решения:

      ansible-playbook playbook_updates.yaml \
      -i inventories/standalone/hosts.ini \
      -t always,standalone \
      --ask-vault-pass \
      -vv \
      -e '{"update_complexity_level": "update_complexity_level_2"}' \
      --extra-vars "local_distr_path=${} \
      custom_config=${} \
      pangolin_license_path=${}"
    • Обновление кластерного решения (cluster):

      ansible-playbook playbook_updates.yaml \
      -i inventories/cluster/hosts.ini \
      -t always,cluster \
      --ask-vault-pass \
      -vv \
      -e '{"update_complexity_level": "update_complexity_level_2"}' \
      --extra-vars "local_distr_path=${} \
      custom_config=${} \
      pangolin_license_path=${}"

    Описание параметров:

    • custom_config - абсолютный путь до файла конфигурации custom_file.yml;
    • local_distr_path - абсолютный путь до загруженного и распакованного дистрибутива СУБД Pangolin.

    Значения используемых в команде запуска Ansible ключей:

    • -i - путь до inventory-файла;
    • --extra-vars - переменные, которые по приоритету важнее переменных из inventory;
    • -t - теги для запуска;
    • -v - уровень логирования Ansible. Может быть, как пустым, так и -vvvvvv, где запуск без v - минимальное логирование.

    После завершения обновления у пользователя postgres в его корневой директории будет сгенерирован файл с названием .process_work_statuses. В нем будетотображать состояние корректности установленных обновлений.

    Ниже приведен пример данного файла с конфигурации продукта standalone-postgresql-pgbouncer:

    Разведка перед обновлением СУБД Pangolin запущена, текущая конфигурация standalone-postgresql-pgbouncer , тип обновления update_major, режим обновления hardlink
    Разведка перед обновлением СУБД Pangolin завершена, текущая конфигурация standalone-postgresql-pgbouncer , тип обновления update_major, режим обновления hardlink
    Обновление СУБД Pangolin запущено, текущая конфигурация standalone-postgresql-pgbouncer , с версии 04.003.00 на версию 05.002.00, статус обновления: {u'aggregate': False, u'hosts': {u'replica': False, u'master': False, u'etcd': False}, u'components': {u'haproxy': False, u'pgbouncer': False, u'patroni': False, u'pg': False, u'etcd': False, u'configuration': False}, u'types': {u'etcd': {u'finally': False, u'main': False}, u'pg': {u'major_main_migrate_replica_db': False, u'remove_pgaudit': False, u'major_pre': False, u'major_post': False, u'bootstrap': False, u'role_switched': False, u'major_main_migrate_master_db': False, u'major_main_start_after_migrate_db': False, u'not_started_db': False, u'started_db': False}, u'patroni': {u'finally': False, u'main': False}}}, тип обновления update_major, режим обновления hardlink
    Обновление СУБД Pangolin успешно завершено, текущая конфигурация standalone-postgresql-pgbouncer , с версии 04.003.00 на версию 05.002.00, статус обновления: {u'aggregate': False, u'hosts': {u'replica': False, u'master': False, u'etcd': False}, u'components': {u'haproxy': False, u'pgbouncer': False, u'patroni': False, u'pg': False, u'etcd': False, u'configuration': False}, u'types': {u'etcd': {u'finally': False, u'main': False}, u'pg': {u'major_main_migrate_replica_db': False, u'remove_pgaudit': False, u'major_pre': False, u'major_post': False, u'bootstrap': False, u'role_switched': False, u'major_main_migrate_master_db': False, u'major_main_start_after_migrate_db': False, u'not_started_db': False, u'started_db': False}, u'patroni': {u'finally': False, u'main': False}}}, тип обновления update_major, режим обновления hardlink
примечание

Подробное описание процесса обновления Pangolin приведено в разделе «Обновление» документа «Руководство по установке».

Диаграмма процесса миграции с помощью pgloader

В состав дистрибутива включена утилита pgloader. Она находится в каталоге с исполняемыми файлами Pangolin. При возникновении необходимости миграции данных из СУБД MSSQL/MySQL/SQLLite Администратор АС получает УЗ на сервере, готовит файл конфигурации и запускает миграцию.

Диаграммма процесса миграции