Не так давно в нашей платформе управления виртуализацией VMmanager стали доступны автономные Unbreakable кластеры. Рассказываем, что это такое, как они реализованы и как с ними работать.
Какие возможности дает новая фича
С помощью Unbreakable кластеров можно обеспечить высокую доступность инфраструктуры, тем самым повысив бесперебойность бизнес-процессов.
Говоря простыми словами, работает это так: если на одном узле кластера (физическом сервера) случится какой-то сбой, все работавшие на нем ВМ с минимальным простоем перезапустятся на исправном хосте без каких-либо ручных действий.
Подробнее о реализации отказоустойчивых кластеров
Всем узлам в кластере может быть присвоен какой-либо из нескольких статусов. Эти статусы могут быть как «хорошими», так и «плохими».
«Хорошие» статусы:
- Лидер — узел, который может принимать решения на уровне целого кластера.
- Участник — узел, не являющийся лидером в кластере.
«Плохие» статусы:
- Изоляция по сети — возникла аварийная ситуация, связанная с работой сети.
- Изоляция по хранилищу — возникла аварийная ситуация, связанная с доступом к системе хранения данных.
- Полный отказ — узел с этим статусом недоступен полностью.
Когда какой-либо узел получает один их трех «плохих» статусов, платформа VMmanager запускает процесс восстановление виртуальной инфраструктуры.
Также узлам могут быть присвоены дополнительные статусы:
- Выход из unbreakable кластера — это значит, что узел стал недоступен по сети, а проверочный IP-адрес, указанный в настройках кластера, остался доступен.
- Сеть нестабильна — возникает при недоступности сети менее 15 секунд и повторении такой ситуации (иными словами, когда узел то доступен по сети, то нет).
При появлении этих статусов платформа не инициирует процесс перемещения виртуальных машин — они просто служат сигналом для администратора о возникновении каких-либо неполадок.
Как происходит процедура восстановления
Когда на узле появляется какой-либо из аварийных статусов, ВМ на нем останавливаются, а узел сообщает о ситуации лидеру. Но узел-лидер может «понять» самостоятельно, что кто-то из участников претерпевает сбой. Затем в кластере запускается процесс восстановления ВМ в соответствии с определенными ранее политиками.
ВМ запускается на перезагруженном узле только в том случае, если соблюдаются сразу два условия:
- у узла определен позитивный статус;
- ВМ принадлежит исключительно одному узлу.
Всю информацию о состоянии узла VMmanager хранит в метаданных кластера. Благодаря этому исключено возникновение сценария Split Brain, при котором сразу две ВМ пытаются подключиться к одному диску.
Обратите внимание: в случае, если узел «ушел в отказ», восстанавливаются только те ВМ, на которых ранее был активирован параметр «Отказоустойчивость».
Для его активации должно выполняться три условия:
- в составе кластера не менее 2 узлов;
- используется сетевое хранилище — CEPH или SAN;
- виртуальная инфраструктура построена на базе виртуализации KVM.
Как реализована отказоустойчивость самого VMmanager
Платформа построена так, что процесс восстановления в кластере работает за счет High Availability агентов и никак не зависит от мастера платформы. Иными словами, если на сервере с VMmanager случится сбой, кластер останется отказоустойчивым.
При желании, используя unbreakable кластеры, можно обеспечить и отказоустойчивость VMmanager. Для этого необходимо реализовать конфигурацию, в рамках которой мастер платформы мигрирует на одну из отказоустойчивых ВМ. Если на сервере с мастером произойдет сбой, кластер восстановит доступность ВМ с VMmanager на борту.
Хотите узнать, как работает VMmanager? Запросите доступ к демо и оцените возможности платформы самостоятельно!