Разделение кластера необходимо при переходе на новую версию ПО, когда требуется произвести обновление без перерыва в обслуживании. При использовании данной методики происходит разделение кластера на две независимые ноды. После чего производится обновление одной из нод на новую версию с последующим запуском. Далее производится остановка второй ноды, её обновление и запуск в работу. Для разделения кластера на отдельные ноды, используется утилита 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-10).
Запустить все ноды ECSS-10 командой:
sudo systemctl start ecss.service |
На данном этапе мы получили две независимо работающие ноды разных версий.
Перейти на соседнюю ноду и выполнить её остановку:
sudo systemctl stop ecss.service |
Снять блокировку на второй ноде:
sudo ecss-control attach |
Провести обновление первой ноды согласно документации (см. Регламент обновления ECSS-10).
Запускаем обновленную ноду командой:
sudo systemctl start ecss.service |
На данном этапе обновление кластера можно считать законченным.