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

Данная схема актуальна для любого типа конфигурации СУБД Pangolin.
Схемы работы скриптов автоматизированного обновления СУБД Pangolin#
В данном разделе представлены схемы процесса обновления для различных типов обновления с учетом различных конфигураций экземпляра СУБД.
Обновление с переносом данных#
Схема процесса обновления с переносом данных для конфигурации 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 |
Создание локальной резервной копии БД и ее валидация |
Создание резервной копии. Производится при наличии параметра |
11 |
Включение блокировки трафика |
В данном сценарии обновления на весь период включена блокировка трафика |
12 |
Обновление компонента |
Обновление соответствующего компонента |
13 |
Обновление компонента |
Обновление соответствующего компонента |
14 |
Обновление компонента |
Обновление соответствующего компонента |
15 |
Остановка старой версии Pangolin |
Остановка установленной версии СУБД |
16 |
Обновление файлов конфигурации и установка новой версии СУБД Pangolin |
Формирование новых конфигурационных файлов, с учетом используемых ранее настроек для СУБД и установка новой версии Pangolin |
17 |
Запуск процесса миграции данных |
Миграция данных в режиме |
18 |
Запуск новой версии Pangolin |
Запуск новой версии СУБД Pangolin |
19 |
Сбор статистики и пересчет индексов БД |
Производится сбор статистики и пересчет индексов БД |
20 |
Обновление компонента Pangolin Pooler |
Обновление соответствующего компонента |
21 |
Обновление утилиты Pangolin Tuner |
Обновление соответствующего компонента |
22 |
Обновление компонента |
Обновление соответствующего компонента |
23 |
Конфигурирование БД |
Производится финальное конфигурирование СУБД, а именно: |
24 |
Выключение блокировки трафика |
Выключение ранее установленной блокировки трафика |
25 |
Обновление компонента |
Обновление соответствующего компонента |
26 |
Запуск процесса отката стенда к исходному состоянию, при необходимости |
Данный этап производится в случае возникновения ошибок при обновлении на шаге 12, 13, 14, 18, 20, 21, 22 или 25. |
27 |
Обновление прошло успешно |
Обновление завершается |
Схема процесса обновления с переносом данных для конфигурации 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 |
Настройка процесса |
Настройка и запуск отдельного процесса непрерывного копирования WAL-записей с мастера на реплику (копирование производится в то же пространство, где будет находится локальная РК) |
11 |
Создание локальной резервной копии БД и ее валидация (на реплике) |
Создание резервной копии. Производится при наличии параметра |
12 |
Включение блокировки трафика |
В данном сценарии обновления на весь период включена блокировка трафика |
13 |
Обновление компонента |
Обновление соответствующего компонента |
14 |
Обновление компонента |
Обновление соответствующего компонента |
15 |
Обновление компонента |
Обновление соответствующего компонента |
16 |
Включение |
Включение режима |
17 |
Обновление компонента Pangolin Manager на мастере |
Обновление соответствующего компонента |
18 |
Обновление компонента Pangolin Manager на арбитре |
Обновление соответствующего компонента |
19 |
Обновление компонента Pangolin Manager на реплике |
Обновление соответствующего компонента |
20 |
Установка пакета новой версии СУБД Pangolin (на мастере и реплике) |
Установка пакета с новой версией СУБД Pangolin на мастер и на реплику |
21 |
Обновление файлов конфигурации и установка новой версии СУБД Pangolin (на мастере и реплике) |
Обновление файлов конфигурации |
22 |
Остановка старой версии Pangolin (сначала основной узел, затем реплика) |
Остановка установленной версии СУБД (действие выполняется первоначально на мастере, затем на реплике) |
23 |
Остановка Pangolin Manager на мастере и на реплике |
Остановка службы компонента Pangolin Manager (действие выполняется первоначально на мастере, затем на реплике) |
24 |
Запуск процесса миграции данных на мастере |
Миграция данных в режиме |
25 |
Запуск процесса миграции данных с мастера на реплику |
Миграция данных с мастера на реплику с помощью утилиты |
26 |
Запуск новой версии Pangolin на мастере |
Запуск новой версии СУБД Pangolin через Pangolin Manager |
27 |
Запуск новой версии Pangolin на реплике |
Запуск новой версии СУБД Pangolin через Pangolin Manager |
28 |
Сбор статистики и пересчет индексов БД |
Производится сбор статистики и пересчет индексов БД |
29 |
Перечитывание конфигурационного файла Pangolin Manager и перезапуск службы |
Выполняется перечитывание конфигурационного файла компонента и перезапуск службы Pangolin Manager (действия выполняется первоначально на мастере, затем на реплике) |
30 |
Синхронизация кластера (выполняется на реплике) |
Выполняется проверка синхронизации кластера на предмет отсутствия задержки между узлами. Проверка выполняется на реплике |
31 |
Обновление компонента Pangolin Pooler |
Обновление соответствующего компонента |
32 |
Обновление утилиты Pangolin Tuner |
Обновление соответствующего компонента |
33 |
Обновление компонента |
Обновление соответствующего компонента |
34 |
Выключение |
Выключение режима |
35 |
Конфигурирование БД |
Производится финальное конфигурирование СУБД, а именно: |
36 |
Выключение блокировки трафика |
Выключение ранее установленной блокировки трафика |
37 |
Обновление компонента |
Обновление соответствующего компонента |
38 |
Отключение процесса |
Выключение ранее активной службы |
39 |
Запуск процесса отката стенда к исходному состоянию, при необходимости |
Данный этап производится в случае возникновения ошибок при обновлении на шаге 13, 14, 15, 17, 18, 19 26, 27, 31, 32, 33 или 36. |
40 |
Обновление прошло успешно |
Обновление завершается |