Назад | Перейти на главную страницу

Возможна ли отработка отказа только с двумя серверами?

Я пытаюсь создать базовое решение высокой доступности с HAproxy и mysql. В настоящее время это выглядит так

В случае host1 в случае неудачи host2 должен получать его IP и трафик (используя функцию моего VPS-провайдера, называемую отказоустойчивым IP. Я не думаю, что возможно заставить там работать CARP).

Я хочу запустить программу мониторинга на узлах. Это может сработать? Я боюсь, что в случае проблемы со связью между узлами (ситуация с разделенным мозгом) каждый экземпляр программного обеспечения для мониторинга будет считать, что другой узел мертв, и попытается захватить плавающий IP-адрес для себя.

Это не страшно, но, похоже, становится еще хуже. При отсутствии связи между серверами и обоими хостами, считающими, что они единственные живые, база данных быстро станет несовместимой.

Есть ли выход из этой ситуации без использования третьего сервера? Должен ли я действительно беспокоиться о ситуации с расщепленным мозгом, если:

Это разумный сценарий, и STONITH (Shoot The Other Node In The Head) разработан специально для этого.

Если вы собираетесь это сделать и хотите быть абсолютно уверены, что разделение мозга никогда не возникнет, вам нужно использовать какое-то внеполосное управление, обычно дистанционно управляемую панель питания, чтобы дать каждому узлу мощность. чтобы убедиться, что другой узел действительно не работает (отключив его), прежде чем приступить к обслуживанию.