Maxim_ka
@Maxim_ka
Системный инженер

Есть ли подобие quorum для keepalived?

Необходимо реализовать механизм для избежания состояния split-brain.
В простейшей ситуации работа keepalived понятна, но как избежать ситуации, в которой две ноды становятся мастерами, в качестве примера, можно взять сервис, который обращается к БД (mysql master-master). В один момент времени сервис, который обращается к БД, запущен только на одной ноде, как быть, если происходит ситуация split-brain. Обе ноды keepalived признают себя мастерами. Какой механизм контроля использовать для избежания этого, в идеале хотелось бы сторонний кворум, но в доках информацию об этом не нашел.
  • Вопрос задан
  • 950 просмотров
Пригласить эксперта
Ответы на вопрос 2
@avpod2
keepalived - не подходящий для этого инструмент, потому что стремится обеспечить доступность ресурса как минимум в одном месте, в то время как, например heartbeat, стремится обеспечить доступность максимум в одном месте.

На этот вопрос достаточно развернуто ответил разработчик haproxy: www.formilux.org/archives/haproxy/1003/3259.html
Ответ написан
Комментировать
@nicestep
В keepalived есть встроенный механизм кворума. Пример конфигурации можно посмотреть здесь: https://github.com/acassen/keepalived/blob/master/...

Необходимо иметь в виду, что механизм кворума не имеет никакого смысла, если в наличие имеется только 2 ноды. Их должно быть 3 или более.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы