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

Схемы работы сценариев автоматизации СУБД Pangolin

Схема работы скриптов автоматизированной установки СУБД Pangolin

Схема процесса автоматизированного развертывания:

Схема процесса автоматизированного развертывания СУБД Pangolin

Данная схема актуальна для любого типа конфигурации СУБД Pangolin.

Схемы работы скриптов автоматизированного обновления СУБД Pangolin

В данном разделе представлены схемы процесса обновления для различных типов обновления с учетом различных конфигураций экземпляра СУБД.

Обновление с переносом данных

Схема процесса обновления с переносом данных для конфигурации standalone

Схема процесса обновления с переносом данных для конфигурации standalone

Описание шагов процесса обновления, представленных на схеме:

Сведения

Если параметр is_inner_full_backup пользовательского конфигурационного файла установлен в значение true, то в случае возникновения ошибок при обновлении на шаге 12, 13, 14, 18, 20, 21, 22 или 25 будет запущен автоматический откат стенда к исходному состоянию до начала обновления (шаг 26).

Номер шагаНаименование шагаОписание
1Скачивание дистрибутива PangolinЗагрузка версии дистрибутива СУБД Pangolin, на которую планируется обновление
2Проверка переменных узла, полученных в качестве аргументовПроверка наличия необходимых переменных и их корректности
3Передача групповых переменныхФормирование и передача переменных необходимых для запуска Ansible плейбука разведчика
4Запуск playbook разведчика обновления по триггеруДанный Ansible плейбук выполняет необходимые проверки, чтобы убедится что стенд готов к обновлению, а также определяет тип обновления стенда с учетом версии, с которой будет производиться обновление
5Вызов процесса обновленияЗапуск процесса обновления
6Проверка переменных узла, полученных в качестве аргументовПроверка наличия необходимых переменных и их корректности
7Передача групповых переменныхФормирование и передача переменных необходимых для запуска Ansible плейбука обновления
8Запуск playbook обновления по триггеруЗапуск процесса обновления. В процессе определяется тип обновления, в данном случае обновление производится с переносом данных
9Запуск базовых проверок готовности стенда к обновлениюПроведение базовых проверок готовности стенда к обновлению
10Создание локальной резервной копии БД и ее валидацияСоздание резервной копии. Производится при наличии параметра is_inner_full_backup=true в пользовательском конфигурационном файле
11Включение блокировки трафикаВ данном сценарии обновления на весь период включена блокировка трафика
12Обновление компонента pangolin-auth-reencryptОбновление соответствующего компонента
13Обновление компонента pangolin-certs-rotateОбновление соответствующего компонента
14Обновление компонента pangolin-security-utilitiesОбновление соответствующего компонента
15Остановка старой версии PangolinОстановка установленной версии СУБД
16Обновление файлов конфигурации и установка новой версии СУБД PangolinФормирование новых конфигурационных файлов, с учетом используемых ранее настроек для СУБД и установка новой версии Pangolin
17Запуск процесса миграции данныхМиграция данных в режиме hardlink
18Запуск новой версии PangolinЗапуск новой версии СУБД Pangolin
19Сбор статистики и пересчет индексов БДПроизводится сбор статистики и пересчет индексов БД
20Обновление компонента Pangolin PoolerОбновление соответствующего компонента
21Обновление утилиты Pangolin TunerОбновление соответствующего компонента
22Обновление компонента pangolin-diagnostic-toolОбновление соответствующего компонента
23Конфигурирование БДПроизводится финальное конфигурирование СУБД, а именно:

1. Обновление каталога безопасности.
2. Формирование итоговых конфигурационных файлов.
3. Обновление расширений.
4. Активация пользователя для созданий резервного копирования (если подключена система резервного копирования).
5. Обновление символических ссылок для рабочих каталогов и перенесенных данных.
6. Настройка welcome message.
7. Засекречивание паролей в конфигурационных файлах
24Выключение блокировки трафикаВыключение ранее установленной блокировки трафика
25Обновление компонента pangolin-backup-toolsОбновление соответствующего компонента
26Запуск процесса отката стенда к исходному состоянию, при необходимостиДанный этап производится в случае возникновения ошибок при обновлении на шаге 12, 13, 14, 18, 20, 21, 22 или 25.
Если параметр is_inner_full_backup пользовательского конфигурационного файла установлен в значение true, то будет запущен автоматический откат стенда к исходному состоянию до начала обновления
27Обновление прошло успешноОбновление завершается

Схема процесса обновления с переносом данных для конфигурации cluster

Схема процесса обновления с переносом данных для конфигурации cluster

Описание шагов процесса обновления, представленных на схеме:

Сведения

Если параметр is_inner_full_backup пользовательского конфигурационного файла установлен в значение true, то в случае возникновения ошибок при обновлении на шаге 13, 14, 15, 17, 18, 19 26, 27, 31, 32, 33 или 37 будет запущен автоматический откат стенда к исходному состоянию до начала обновления (шаг 39).

Номер шагаНаименование шагаОписание
1Скачивание дистрибутива PangolinЗагрузка версии дистрибутива СУБД Pangolin, на которую планируется обновление
2Проверка переменных узла, полученных в качестве аргументовПроверка наличия необходимых переменных и их корректности
3Передача групповых переменныхФормирование и передача переменных необходимых для запуска Ansible плейбука разведчика
4Запуск playbook разведчика обновления по триггеруДанный Ansible плейбук выполняет необходимые проверки, чтобы убедится в готовности стенда к обновлению, а также определяет тип обновления стенда с учетом версии, с которой будет производиться обновление.
Для кластерной конфигурации проверяется задержка репликации между узлами. Полученная информация сравнивается с установленным в конфигурационном файле значением максимальной задержки. При превышении фактического значения над допустимым – выводится ошибка.
5Вызов процесса обновленияЗапуск процесса обновления
6Проверка переменных узла, полученных в качестве аргументовПроверка наличия необходимых переменных и их корректности
7Передача групповых переменныхФормирование и передача переменных необходимых для запуска Ansible плейбука обновления
8Запуск playbook обновления по триггеруЗапуск процесса обновления. В процессе определяется тип обновления, в данном случае обновление производится с переносом данных
9Запуск базовых проверок готовности стенда к обновлениюПроведение базовых проверок готовности стенда к обновлению
10Настройка процесса pg_receivewalНастройка и запуск отдельного процесса непрерывного копирования WAL-записей с мастера на реплику (копирование производится в то же пространство, где будет находится локальная РК)
11Создание локальной резервной копии БД и ее валидация (на реплике)Создание резервной копии. Производится при наличии параметра is_inner_full_backup=true в пользовательском конфигурационном файле
12Включение блокировки трафикаВ данном сценарии обновления на весь период включена блокировка трафика
13Обновление компонента pangolin-auth-reencryptОбновление соответствующего компонента
14Обновление компонента pangolin-certs-rotateОбновление соответствующего компонента
15Обновление компонента pangolin-security-utilitiesОбновление соответствующего компонента
16Включение PAUSE modeВключение режима PAUSE mode на Pangolin Manager
17Обновление компонента Pangolin Manager на мастереОбновление соответствующего компонента
18Обновление компонента Pangolin Manager на арбитреОбновление соответствующего компонента
19Обновление компонента Pangolin Manager на репликеОбновление соответствующего компонента
20Установка пакета новой версии СУБД Pangolin (на мастере и реплике)Установка пакета с новой версией СУБД Pangolin на мастер и на реплику
21Обновление файлов конфигурации и установка новой версии СУБД Pangolin (на мастере и реплике)Обновление файлов конфигурации
22Остановка старой версии Pangolin (сначала основной узел, затем реплика)Остановка установленной версии СУБД (действие выполняется первоначально на мастере, затем на реплике)
23Остановка Pangolin Manager на мастере и на репликеОстановка службы компонента Pangolin Manager (действие выполняется первоначально на мастере, затем на реплике)
24Запуск процесса миграции данных на мастереМиграция данных в режиме hardlink. Производится только на мастере
25Запуск процесса миграции данных с мастера на репликуМиграция данных с мастера на реплику с помощью утилиты rsync
26Запуск новой версии Pangolin на мастереЗапуск новой версии СУБД Pangolin через Pangolin Manager
27Запуск новой версии Pangolin на репликеЗапуск новой версии СУБД Pangolin через Pangolin Manager
28Сбор статистики и пересчет индексов БДПроизводится сбор статистики и пересчет индексов БД
29Перечитывание конфигурационного файла Pangolin Manager и перезапуск службыВыполняется перечитывание конфигурационного файла компонента и перезапуск службы Pangolin Manager (действия выполняется первоначально на мастере, затем на реплике)
30Синхронизация кластера (выполняется на реплике)Выполняется проверка синхронизации кластера на предмет отсутствия задержки между узлами. Проверка выполняется на реплике
31Обновление компонента Pangolin PoolerОбновление соответствующего компонента
32Обновление утилиты Pangolin TunerОбновление соответствующего компонента
33Обновление компонента pangolin-diagnostic-toolОбновление соответствующего компонента
34Выключение PAUSE modeВыключение режима PAUSE mode на Pangolin Manager
35Конфигурирование БДПроизводится финальное конфигурирование СУБД, а именно:

1. Обновление каталога безопасности.
2. Формирование итоговых конфигурационных файлов.
3. Обновление расширений.
4. Активация пользователя для созданий резервного копирования (если подключена система резервного копирования).
5. Обновление символических ссылок для рабочих каталогов и перенесенных данных.
6. Настройка welcome message.
7. Засекречивание паролей в конфигурационных файлах
36Выключение блокировки трафикаВыключение ранее установленной блокировки трафика
37Обновление компонента pangolin-backup-toolsОбновление соответствующего компонента
38Отключение процесса pg_receivewalВыключение ранее активной службы pg_receivewal
39Запуск процесса отката стенда к исходному состоянию, при необходимостиДанный этап производится в случае возникновения ошибок при обновлении на шаге 13, 14, 15, 17, 18, 19 26, 27, 31, 32, 33 или 36.
Если параметр is_inner_full_backup пользовательского конфигурационного файла установлен в значение true, то будет запущен автоматический откат стенда к исходному состоянию до начала обновления
40Обновление прошло успешноОбновление завершается