Методика разделения (split) кластера
Разделение кластера необходимо при переходе на новую версию ПО, когда требуется произвести обновление без перерыва в обслуживании. При использовании данной методики происходит разделение кластера на две независимые ноды. После чего производится обновление одной из нод на новую версию с последующим запуском. Далее производится остановка второй ноды, её обновление и запуск в работу. Для разделения кластера на отдельные ноды, используется утилита ecss-control (описание утилиты см. в разделе Приложение Н. Описание утилиты ecss-control), которая включена в состав пакета ecss-node.
Описание методики:
- Проверить текущее состояние кластера на ноде, которую планируем обновлять первой.
Команда должна вернуть следующее:
root@ecss2:~# sudo ecss-control status all nodes attached
Данный вывод означает, что кластер находится в работающем состоянии.
Провести вывод данной ноды из кластера командой:
sudo ecss-control detach
и проверить состояние блокировки:
sudo ecss-control status locked ip: 10.10.1.2
В выводе команды должен присутствовать адрес соседней ноды.
Провести обновление версии согласно документации (см. Регламент обновления/деинсталяция ECSS).
Запустить все ноды ECSS-10 командой:
sudo systemctl start ecss.service
На данном этапе мы получили две независимо работающие ноды разных версий.
Перейти на соседнюю ноду и выполнить её остановку:
sudo systemctl stop ecss.service
Снять блокировку на второй ноде:
sudo ecss-control attach
Провести обновление первой ноды согласно документации (см. Регламент обновления/деинсталяция ECSS).
Запускаем обновленную ноду командой:
sudo systemctl start ecss.service
На данном этапе обновление кластера можно считать законченным.