Оглавление

Введение

На странице описывается порядок обновления ПК СВ "Брест" без остановки кластера.

Требования

Порядок обновления узлов

Обновление узлов кластера на Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) выполняется стандартным для debian-систем пакетным менеджером apt. Однако, чтобы сохранить обслуживание клиентов облака во время обновления его узлов, необходимо придерживаться приведенных здесь рекомендаций.

Обновлять узлы следует в следующем порядке:

  1. Узлы виртуализации по очереди;
  2. front-end (если они развернуты отдельно от узлов виртуализации).

Подготовка узла виртуализации

Для обновления узла виртуализации он должен быть выведен в режим обслуживания. Для этого:

  1. Войдите в веб-интерфейс администрирования облака;
  2. Мигрируйте все работающие ВМ с этого узла на другие узлы;
  3. Перейдите в Infrastructure - Hosts;
  4. Отметьте нужный узел и нажмите "Off".

Обновление

Внесите изменения в файл: /etc/apt/source.list, имейте в виду, что репозиторий с пакетами ПК СВ "Брест" 2.6 необходимо отключить, так как будут конфликты пакетов. (ошибка с повторным объявлением).

Войдите в командную строку узла учетной записью <local-admin> и выполните команды: 

sudo apt update

sudo apt dist-upgrade #на запрос замены файлов, отвечаем Y, иначе не будет расширен функционал кластера

После окончания установки пакетов перезагрузите узел.

Включение узла

  1. Перейдите в интерфейс управления облаком;
  2. Перейдите в Infrastructure - Hosts;
  3. Отметьте нужный узел и нажмите "Enable". Дождитесь статуса "ON" у данного узла.
  4. Мигрируйте на него виртуальные машины и убедитесь в их работоспособности.

Далее нужно повторить порядок обновления для следующего узла виртуализации.

Обновление front-end


Если не используется RAFT, то на время перезагрузки front-end в ходе обновления доступ к облаку и управление им будет прервано

Если у вас несколько front-end и они работают вместе в конфигурации RAFT, выполняйте их обновление по очереди.

В первую очередь переведите все работающие ВМ с обновляемого узла на другой узел.

Сделайте резервную копию файла /etc/one/oned.conf

Сделайте резервную копию базы данных командой:

sudo -u postgres /usr/bin/pg_dump --dbname=onedb  --format=plain --blobs --verbose --clean --create --file="/tmp/leader_db.backup"

Файл /tmp/leader_db.backup  будет удален после перезагрузки узла. Если собираетесь перезагружать узел, сохраните копию базы в другом каталоге.


Проверьте, какой узел является лидером в данный момент командой:

sudo onezone show 0
Если лидер в данный момент именно тот узел, который вы собираетесь обновить, то перезапустите сервис opennebula на этом узле (лидером станет другой узел) командой:
sudo systemctl restart opennebula
Войдите в командную строку front-end под учетной записью <local-admin> и выполните команды:

sudo apt update

sudo apt dist-upgrade

При ошибке обновления пакета brestcloud-common, запустите обновление этого файла отдельно

sudo apt install brestcloud-common

На запрос обновления файла oned.conf и сопутствующих ответить Y! Перенесите данные из старого файла oned.conf в новый и проверьте запуск сервиса opennebula, блоки RAFT, DB.

После окончания установки пакетов перезагрузите узел.

Если у вас несколько front-end и они работают вместе в конфигурации RAFT, прежде, чем переходить к обновлению следующей машины, убедитесь, что предыдущая корректно вернулась в зону. Для этого войдите в ее командную строку и проверьте вывод команды

sudo onezone show 0
Если статус обновленной машины "follower" или "leader" -  повторите действия пункта "Обновление front-end" для остальных узлов.