Download PDF
Download page Обновление.
Обновление
Введение
В данной инструкции приведено описание порядка обновления ПК СВ "Брест" без остановки кластера.
Требования
- Для обновления ОС кластера следует руководствоваться рекомендованным порядком (см. Оперативные обновления для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)).
- Содержимое диска обновления размещено в репозитории аналогично тому, как описано в Разное ⬝ Настройка FTP-репозитория.
Порядок обновления узлов
Обновление узлов кластера, работающих на ОС Astra Linux Special Edition 1.6, выполняется пакетным менеджером apt
. Для того чтобы сохранить обслуживание клиентов облака во время обновления его узлов, необходимо обновлять узлы в следующем порядке:
- узлы виртуализации по очереди;
- front-end (если они развернуты отдельно от узлов виртуализации).
Подготовка узла виртуализации
Для обновления узла виртуализации он должен быть выведен в режим обслуживания. Для этого:
- Войти в веб-интерфейс администрирования облака.
- Перенести все работающие ВМ с этого узла на другие узлы.
- Перейти в Infrastructure — Hosts.
- Отметить нужный узел из списка доступных и нажать в верхнем меню кнопку Offline.
Обновление
Войти в командную строку узла под учетной записью <local-admin>
и выполнить команды:
sudo apt update
sudo apt dist-upgrade
После окончания установки пакетов перезагрузить узел.
Включение узла
- Перейти в интерфейс управления облаком.
- Перейти в Infrastructure — Hosts.
- Отметить нужный узел из списка и нажать кнопку Enable в верхнем меню.
Дождаться статуса ON для данного узла. - Перенести на него ВМ и убедиться в их работоспособности.
Повторить порядок обновления для следующего узла виртуализации.
Обновление front-end
Если не используется RAFT, то на время перезагрузки front-end в ходе обновления доступ к облаку и управление им будет прервано.
Если настроены несколько front-end и они работают вместе в конфигурации RAFT, выполнять их обновление следует по очереди.
Войти в командную строку front-end под учетной записью
<local-admin>
и выполнить команды:sudo cp /etc/apache2/sites-available/000-default.conf ./000-default-BKP.conf # и файл с плавающим адресом, если есть RAFT sudo cp /etc/one/oned.conf ./oned-BKP.conf sudo -u postgres /usr/bin/pg_dump --dbname=onedb --format=plain --blobs --verbose --clean --create --file="/tmp/leader_db.backup"
CODEДалее выполнить следующие команды:
sudo apt update sudo apt dist-upgrade
CODEВо время обновления будет задан вопрос о замене файла
/etc/one/oned.conf
на новую версию. Требуется ответить утвердительно на замену всех файлов конфигурации (будут заменены на новые из пакета обновления) и после выполнить следующие шаги:Выполнить редактирование файла
/etc/one/oned.conf
, внести данные из резервных копий в блоки RAFT (если есть) и DB:Пример блока RAFT
FEDERATION = [ MODE = "STANDALONE", ZONE_ID = 0, SERVER_ID = <ID>, MASTER_ONED = "" ] RAFT = [ LOG_RETENTION = 500000, LOG_PURGE_TIMEOUT = 600, ELECTION_TIMEOUT_MS = 2500, BROADCAST_TIMEOUT_MS = 500, #rbt: change from 2000 to 0, official recommendation XMLRPC_TIMEOUT_MS = 0 ] # Executed when a server transits from follower->leader # BEGIN RAFT_LEADER_HOOK enabled by ansible raft playbook RAFT_LEADER_HOOK = [ COMMAND = "raft/vip.sh", ARGUMENTS = "leader br1 192.168.56.100/24" ] # Executed when a server transits from leader->follower # BEGIN RAFT_FOLLOWER_HOOK enabled by ansible raft playbook RAFT_FOLLOWER_HOOK = [ COMMAND = "raft/vip.sh", ARGUMENTS = "follower br1 192.168.56.100/24" ]
CODEПример блока DB
DB = [ BACKEND = "pgsql", SERVER = "localhost", PORT = 5432, USER = "onedbuser", PASSWD = "12345678", DB_NAME = "onedb" ]
CODEПерезагрузить сервисы
apache2
,opennebula
,unicorn-opennebula
:sudo systemctl restart apache2 opennebula unicorn-opennebula
CODEПроверить доступность сервиса в браузере (если front-end один) или в консоли
onezone
, если используется RAFT:sudo systemctl status opennebula unicorn-opennebula # смотрим статус служб front-end sudo onezonoe show 0 # смотрим статус обновлённого узла front-end в RAFT
CODE
- После окончания установки пакетов перезагрузить узел.
Если настроены несколько front-end и они работают вместе в конфигурации RAFT, перед переходом к обновлению следующей машины следует убедиться, что предыдущая корректно вернулась в зону, выполнив:
sudo onezone show 0
Если статус машины follower
или leader
, можно переходить к обновлению следующей.