Найти тему
ISPsystem

Отказоустойчивые кластеры в VMmanager? Да, мы их сделали!

Оглавление

Не так давно в нашей платформе управления виртуализацией VMmanager стали доступны автономные Unbreakable кластеры. Рассказываем, что это такое, как они реализованы и как с ними работать.

Какие возможности дает новая фича

С помощью Unbreakable кластеров можно обеспечить высокую доступность инфраструктуры, тем самым повысив бесперебойность бизнес-процессов.

Говоря простыми словами, работает это так: если на одном узле кластера (физическом сервера) случится какой-то сбой, все работавшие на нем ВМ с минимальным простоем перезапустятся на исправном хосте без каких-либо ручных действий.

Подробнее о реализации отказоустойчивых кластеров

Всем узлам в кластере может быть присвоен какой-либо из нескольких статусов. Эти статусы могут быть как «хорошими», так и «плохими».

«Хорошие» статусы:

  • Лидер — узел, который может принимать решения на уровне целого кластера.
  • Участник — узел, не являющийся лидером в кластере.

«Плохие» статусы:

  • Изоляция по сети — возникла аварийная ситуация, связанная с работой сети.
  • Изоляция по хранилищу — возникла аварийная ситуация, связанная с доступом к системе хранения данных.
  • Полный отказ — узел с этим статусом недоступен полностью.

Когда какой-либо узел получает один их трех «плохих» статусов, платформа VMmanager запускает процесс восстановление виртуальной инфраструктуры.

Также узлам могут быть присвоены дополнительные статусы:

  • Выход из unbreakable кластера — это значит, что узел стал недоступен по сети, а проверочный IP-адрес, указанный в настройках кластера, остался доступен.
  • Сеть нестабильна — возникает при недоступности сети менее 15 секунд и повторении такой ситуации (иными словами, когда узел то доступен по сети, то нет).

При появлении этих статусов платформа не инициирует процесс перемещения виртуальных машин — они просто служат сигналом для администратора о возникновении каких-либо неполадок.

Как происходит процедура восстановления

Когда на узле появляется какой-либо из аварийных статусов, ВМ на нем останавливаются, а узел сообщает о ситуации лидеру. Но узел-лидер может «понять» самостоятельно, что кто-то из участников претерпевает сбой. Затем в кластере запускается процесс восстановления ВМ в соответствии с определенными ранее политиками.

ВМ запускается на перезагруженном узле только в том случае, если соблюдаются сразу два условия:

  • у узла определен позитивный статус;
  • ВМ принадлежит исключительно одному узлу.

Всю информацию о состоянии узла VMmanager хранит в метаданных кластера. Благодаря этому исключено возникновение сценария Split Brain, при котором сразу две ВМ пытаются подключиться к одному диску.

Обратите внимание: в случае, если узел «ушел в отказ», восстанавливаются только те ВМ, на которых ранее был активирован параметр «Отказоустойчивость».

Для его активации должно выполняться три условия:

  • в составе кластера не менее 2 узлов;
  • используется сетевое хранилище — CEPH или SAN;
  • виртуальная инфраструктура построена на базе виртуализации KVM.

Как реализована отказоустойчивость самого VMmanager

Платформа построена так, что процесс восстановления в кластере работает за счет High Availability агентов и никак не зависит от мастера платформы. Иными словами, если на сервере с VMmanager случится сбой, кластер останется отказоустойчивым.

При желании, используя unbreakable кластеры, можно обеспечить и отказоустойчивость VMmanager. Для этого необходимо реализовать конфигурацию, в рамках которой мастер платформы мигрирует на одну из отказоустойчивых ВМ. Если на сервере с мастером произойдет сбой, кластер восстановит доступность ВМ с VMmanager на борту.

Хотите узнать, как работает VMmanager? Запросите доступ к демо и оцените возможности платформы самостоятельно!