Обновление при помощи инструмента Pangolin Installer
При переходе к данному разделу предполагается, что изучена информация общего блока автоматизированного обновления.
Обновление при помощи инструмента Pangolin Installer проходит по такому же сценарию, как и обновление при помощи Ansible плейбуков, но требует меньше действий и погружения в процесс. Все те же проверки и типы обновления реализуются «внутри» данного инструмента.
Подготовка к обновлению
В случае обновления с использованием Pangolin Installer проверка готовности к обновлению выполняется автоматически и запуск скрипта-разведчика не требуется.
Шаг 1. Подготовка дистрибутива
Предварительно скачайте и распакуйте дистрибутив новой версии.
Шаг 2. Установка утилиты Pangolin Installer
-
Установите rpm/deb-пакет
pangolin-installer
:- SberLinux, РЕД ОС, CentOS
- Red Hat Enterprise Linux
- Astra Linux
- Альт СП
sudo dnf install pangolin-installer-{version_component}-{OS}.x86_64.rpm
sudo yum install pangolin-installer-{version_component}-{OS}.x86_64.rpm
sudo apt install pangolin-installer-{version_component}_amd64.deb
sudo apt-get install pangolin-installer-{version_component}-{OS}.x86_64.rpm
ПодсказкаПример заполненной команды:
cd distributive
sudo dnf install installer/utilities/pangolin-installer-1.0.0-sberlinux8.x86_64.rpm
Шаг 3. Ознакомление с параметрами Pangolin Installer (опциональный)
Для вывода на экран справки по Pangolin Installer в режиме terminal
выполните команду:
Путь до утилиты: /opt/pangolin-ansible-venv-controller/bin/
.
pangolin-installer terminal --help
Вывод команды pangolin-installer terminal --help
Использование: pangolin-installer terminal [-h] [--version] [--debug] -c CONFIG [-a {info,install,clean,updates,scouting,configure_roles}] [-v] [--no_archive_logs] [--force] [--vault-password-file VAULT_PASSWORD_FILE]
Опции:
-h, --help Вывести справку по команде
--version Версия pangolin-installer
--debug Включить функцию дебага pangolin-installer – подробное сообщение о процессе выполнения (по умолчанию=False)
-c CONFIG, --config CONFIG Путь до конфигурационного файла
-a {info,install,clean,updates,scouting,configure_roles}, --action {info,install,clean,updates,scouting,configure_roles}
Тип действий для запуска процесса установки или обновления (не обязательный параметр, по умолчанию работает автоопределение процесса установки). Поддерживаемые типы:
info - вывод информации о хосте и типе автоопределенного action
install - запуск процесса установки
clean - запуск очистки стенда
updates - запуск обновление хоста
scouting - запуск процесса проверки перед обновлением
configure_roles - запуск процесса ролевой модели
-v Уровень логирования в ansible-playbook (по умолчанию=vvv)
--no_archive_logs Выключить архивирование директории с логами (по умолчанию=False)
--force Принудительно запускать action (по умолчанию=False)
--vault-password-file VAULT_PASSWORD_FILE
Путь до файла vault, который нужен для запуска ansible-playbook
Запуск сценария обновления
Обновление СУБД Pangolin через Pangolin Installer подразумевает под собой этапы:
- Инициализация и заполнение конфигурационного файла Pangolin Installer.
- Запуск сценария обновления.
- Проверка готовности к обновлению (выполняется автоматически).
- Завершение обновления СУБД (вывод информации утилиты о результате выполнения обновления).
Шаг 1. Инициализация и заполнение конфигурационного файла Pangolin Installer
-
Выполните команду инициализации конфигурационного файла:
pangolin-installer init -t/--terminal
В результате выполнения команды создается начальный конфигурационный файл
config.yml
, предназначенный для дальнейшей настройки. -
Отредактируйте созданный файл
config.yml
с помощью текстового редактора.Обозначения
Заполните информацию о конечных узлах и параметрах подключения:
- В поле
hosts
, заполните параметры хостов (ip/dns
,password
,usersname
). - В
local_distr_path
укажите полный путь к дистрибутиву новой версии. - В
pangolin_license_path
укажите полный путь до лицензионного файла с названием файла. Пример:/home/admin/distributive/license.json
.
Пример настроенного конфигурационного файла
config.yaml
:- для cluster-конфигурации
- для standalone-конфигурации
hosts:
master:
hostname: <ip-address>
password: password
username: user
replica:
hostname: <ip-address>
password: password
username: user
arbiter:
hostname: <ip-address>
password: password
username: user
local_distr_path: /home/admin/distributive
pangolin_license_path: /home/admin/distributive/license.jsonhosts:
master:
hostname: <ip-address>
password: password
username: user1
local_distr_path: /home/admin/distributive
pangolin_license_path: /home/admin/distributive/license.jsonПодсказкаВ случае установки standalone конфигурации необходимо удалить параметры хостов replica и arbiter, аналогично примеру.
- В поле
Шаг 2. Запуск процесса обновления
-
Запустите процесс обновления Pangolin. Выполните команду:
pangolin-installer terminal -c config.yml -a updates
Возможные параметры запуска установки:
- флаг
-c
предполагает заполнение пути до конфигурационного файла; - без указания атрибута
-a
будет запущено автоопределение процесса действий установка/обновление; - если указан флаг
-a install
– будет запущен процесс установки/переустановки; - если указан флаг
-a updates
– будет запущен процесс обновления.
- флаг
-
Во время запуска проверки перед обновлением и самим обновлением, утилитой будет выведена информация о ходе выполнения этапов.
Пример вывода:
Вывод об успешном обновлении stanalone конфигурации
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| scouting |
+----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
| Node | Action | CPU | MEM | Disk available | OS | Version OS | Packages Installed | Packages Update | Configuration |
+----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
| node: master | updates | 4 | 12 GB | /dev 5.9G | SberLinux | 8.8 | pangolin-pooler (1.3.0) | pangolin-pooler (1.5.0) | standalone |
| ip/dns: (IP-address) | | | | /dev/shm 5.9G | | | platform-v-pangolin-dbms (6.1.9) | pangolin-dbms-6.5 (6.5.0) | |
| | | | | /run 5.9G | | | pangolin-timescaledb-6.1 (2.19.3) | | |
| | | | | /sys/fs/cgroup 5.9G | | | | | |
| | | | | / 45G | | | | | |
| | | | | /boot 668M | | | | | |
| | | | | /tmp 4.6G | | | | | |
| | | | | /run/user/1002 1.2G | | | | | |
+----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
Выполняемая задача: scouting
🟢 Роль MAIN PLAY - Завершена! [Время выполнения: 0:06:52] Задач выполнено: 628 | | |####################################################################################################|
🟢 Роль COMMON - Завершена! [Время выполнения: 0:02:49] Задач выполнено: 335 | | |####################################################################################################|
Success: S03001:Разведка перед обновлением успешно выполнена.
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| updates |
+----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
| Node | Action | CPU | MEM | Disk available | OS | Version OS | Packages Installed | Packages Update | Configuration |
+----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
| node: master | updates | 4 | 12 GB | /dev 5.9G | SberLinux | 8.8 | pangolin-pooler (1.3.0) | pangolin-pooler (1.5.0) | standalone |
| ip/dns: (IP-address) | | | | /dev/shm 5.9G | | | platform-v-pangolin-dbms (6.1.9) | pangolin-dbms-6.5 (6.5.0) | |
| | | | | /run 5.9G | | | pangolin-timescaledb-6.1 (2.19.3) | | |
| | | | | /sys/fs/cgroup 5.9G | | | | | |
| | | | | / 45G | | | | | |
| | | | | /boot 668M | | | | | |
| | | | | /tmp 4.6G | | | | | |
| | | | | /run/user/1002 1.2G | | | | | |
+----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
Процедура проверки перед обновлением прошла успешно. Начать обновление? (Y/N): y
Выполняемая задача: updates
🟢 Роль MAIN PLAY - Завершена! [Время выполнения: 0:00:13] Задач выполнено: 11 | | |####################################################################################################|
🟢 Роль PANGOLIN_CHECKS - Завершена! [Время выполнения: 0:13:29] Задач выполнено: 849 | | |####################################################################################################|
🟢 Роль COMMON - Завершена! [Время выполнения: 0:01:08] Задач выполнено: 142 | | |####################################################################################################|
🟢 Роль PANGOLIN_LICENSE - Завершена! [Время выполнения: 0:00:07] Задач выполнено: 6 | | |####################################################################################################|
🟢 Роль PANGOLIN_AUTH_REENCRYPT - Завершена! [Время выполнения: 0:00:52] Задач выполнено: 28 | | |####################################################################################################|
🟢 Роль PANGOLIN_CERTS_ROTATE - Завершена! [Время выполнения: 0:00:29] Задач выполнено: 29 | | |####################################################################################################|
🟢 Роль PANGOLIN_SECURITY_UTILITIES - Завершена! [Время выполнения: 0:00:12] Задач выполнено: 10 | | |####################################################################################################|
🟢 Роль PANGOLIN_MANAGER - Завершена! [Время выполнения: 0:00:00] Задач выполнено: 4 | | |####################################################################################################|
🟢 Роль PANGOLIN_DBMS - Завершена! [Время выполнения: 0:05:05] Задач выполнено: 147 | | |####################################################################################################|
🟢 Роль PANGOLIN_POOLER - Завершена! [Время выполнения: 0:00:27] Задач выполнено: 16 | | |####################################################################################################|
🟢 Роль PANGOLIN_TUNER - Завершена! [Время выполнения: 0:00:12] Задач выполнено: 9 | | |####################################################################################################|
🟢 Роль PANGOLIN_DIAGNOSTIC_TOOL - Завершена! [Время выполнения: 0:00:11] Задач выполнено: 10 | | |####################################################################################################|
🟢 Роль FINALLY - Завершена! [Время выполнения: 0:00:32] Задач выполнено: 29 | | |####################################################################################################|
🟢 Роль CONFIGURE - Завершена! [Время выполнения: 0:00:20] Задач выполнено: 45 | | |####################################################################################################|
🟢 Роль FINALLY - Завершена! [Время выполнения: 0:01:29] Задач выполнено: 92 | | |####################################################################################################|
🟢 Роль PANGOLIN_BACKUP_TOOLS - Завершена! [Время выполнения: 0:00:52] Задач выполнено: 100 | | |####################################################################################################|
Success: S05001:Обновление успешно завершено.
+---------------------------------------------------------------------------------+
| after updates |
+----------------------+---------------+------------------------------------------+
| Node | Action | Packages Installed |
+----------------------+---------------+------------------------------------------+
| node: master | after updates | pangolin-backup-tools-venv (1.1.0) |
| | | pangolin-backup-tools (1.2.3) |
| ip/dns: (IP-address) | | pangolin-pooler (1.5.0) |
| | | pangolin-dbms-6.5 (6.5.0) |
| | | pangolin-tuner (1.0.0) |
| | | pangolin-auth-reencrypt (6.5.0) |
| | | pangolin-dbms-6.5-client (6.5.0) |
| | | pangolin-certs-rotate (6.5.0) |
| | | pangolin-timescaledb-6.5-apache (2.19.3) |
| | | pangolin-security-utilities (6.5.0) |
| | | pangolin-diagnostic-tool (6.5.0) |
| | | pangolin-ansible-venv-controlled (6.5.0) |
| | | |
+----------------------+---------------+------------------------------------------+
Дальнейшие шаги
Для проверки успешности завершения обновления рекомендуется обратиться к шагам «Проверки результата» в общем блоке автоматизированного обновления.