Проверка готовности к обновлению
Данный раздел описывает процесс проверки готовности экземпляра СУБД Pangolin к обновлению.
Выполнение проверки готовности к обновлению доступно ручным и автоматизированным способом:
-
Автоматизированная проверка перед обновлением обусловлена обязательным запуском скрипта-разведчика (
playbook_scouting.yaml
), в задачи которого входит выполнение ряда проверок, сбора информации о стенде, а также вычислении типа обновления версии СУБД, необходимого для перехода на новую версию СУБД Pangolin. Все проверки происходит автоматически. В результате проверок могут быть либо выведены предупреждения, и дальнейшее обновление может быть продолжено, либо выведены ошибки, и дальнейшее обновление будет заблокировано. Со всеми возможными проверками, предупреждениями и ошибками вы можете ознакомиться в разделах далее. -
Ручная проверка перед обновлением обусловлена ручным проведением необходимых проверок с помощью представленных рекомендаций в данном разделе. Является обязательным шагом для предотвращения возникновения возможных трудностей непосредственно в процессе обновления.
Подготовительные действия
Проверки начинаются с разблокировки пользователя postgres
в OC и выставления бессрочного пароля на время работы скрипта.
Данные действия производятся автоматически при работе скрипта.
Для того чтобы прои звести разблокировку пользователя postgres
и выставить бессрочный пароль необходимо выполнить следующие действия:
- Разблокируйте пользователя
postgres
в системе следующей командой:
sudo usermod -U postgres
- Установите новый пароль для пользователя
postgres
в системе:
sudo -i -u postgres
- Обновите пароль пользователя
postgres
в СУБД. Для этого подключеть к БД и выполните следующий SQL-запрос:
ALTER USER postgres PASSWORD '<new_pwd>';
Где new_pwd
- пароль пользователя postgres
, который вы установили в системе ранее.
Происходит загрузка custom_file_sample.yml
и словаря update.yml
, содержащего дополнительные переменные с информацией для выводимых сообщений и поддерживаемых расширений. Загрузка происходит в автоматическом режиме при использовании скрипта.
Запуск автоматизированной проверки готовности к обновлению
Разде л описывает запуск скрипта-разведчика для автоматизированной проверки готовности к обновлению. При реализации ручной проверки пропустите данный раздел.
Обязательным условием запуска скриптов обновления СУБД, является запуск скрипта-разведчика (playbook_scouting.yaml
).
Перед запуском Ansible плейбука, необходимо убедиться, что на всех узлах, в том числе и на том, с которого планируется запуск скрипта-разведчика, установлен пакет python
версии 3 и выше.
-
Скачайте и распакуйте дистрибутив новой версии на сервере.
-
Перейдите в каталог с распакованным дистрибутивом, а затем в каталог
installer
. -
Перед запуском обновления заполни те файл
hosts.ini
в зависимости от установленного решения добавив информацию о хостах и учетных данных пользователя, которые будет использовать Ansible.Данные должны содержать те же параметры, что и при установке. Примеры заполнения файлов описаны в разделе «Автоматизированная установка при помощи Ansible-плейбука».
-
Заполните настраиваемый конфигурационный файл
custom_file_sample.yml
. -
Чтобы удостовериться в готовности к обновлению, используйте Ansible сценарий проверки. Пример команды:
ansible-playbook playbook_scouting.yaml -i inventories/standalone/hosts.ini -t always,standalone --ask-vault-pass -vv --extra-vars "local_distr_path=${} custom_config=${} pangolin_license_path=${}"
Далее приведены шаблоны сценариев для различных решений:
- для конфигурации cluster
- для решения standalone
ansible-playbook playbook_scouting.yaml \
-i inventories/cluster/hosts.ini \
-t always,cluster \
--ask-vault-pass \
-vv \
--extra-vars "local_distr_path=${} \
custom_config=${}" \ansible-playbook playbook_scouting.yaml \
-i inventories/standalone/hosts.ini \
-t always,standalone \
--ask-vault-pass \
-vv \
--extra-vars "local_distr_path=${} \
custom_config=${}" \Описание параметров:
custom_config
— абсолютный путь к файлу конфигурацииcustom_file_template.yml
;local_distr_path
— абсолютный путь к загруженному и распакованному дистрибутиву Pangolin;pangolin_license_path
- полный путь к каталогу, где расположены файлы лицензии.
Значения используемых в команде запуска Ansible ключей:
-i
— путь к inventory-файла;--extra-vars
— переменные, которые по приоритету важнее переменных из inventory;-t
— теги для запуска;-v
— уровень логирования Ansible. Может быть, как пустым, так и-vvvvvv
, где запуск безv
- минимальное логирование;--ask-vault-pass
или--vault-password-file
— расшифровка зашифрованных файлов во время выполнения.
Внимание!В случае, если все пароли указывались в открытом виде, параметры
--ask-vault-pass
и--vault-password-file=название_файла_с_ключом
добавлять не нужно!
Необходимые проверки перед обновлением
В данном разделе представлены проверки, которые производятся в автоматическом режиме скриптом-разведчиком, а также описание проверок для проведения их в ручном режиме.
Проверки делятся на три группы:
- Проверки для всех типов обновления — включают в себя проверки, которые необходимо изучить/выполнить при любом типе обновления.
- Проверки для обновления с переносом данных — включают в себя проверки, которые необходимо изучить/выполнить только при обновлении с переносом данных, помимо основных проверок (для всех типов).
- Проверки для обновления исполняемых файлов — включают в себя проверки, которые необходимо изучить/выполнить только при обновлении исполняемых файлов, помимо основных проверок (для всех типов).