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

Как Heartbeat CRM определяет узел кластера, который нужно отключить?

Я пытаюсь понять Heartbeat настройка в новой среде. Это двухузловой кластер, который все еще использует версию 1 Heartbeat (тот, который не использует Pacemaker CRM), и у меня есть фундаментальный вопрос, на который я не смог найти простой для понимания ответ от Google.

Вопрос в том, что в случае сбоя связи между узлами в кластере, но оба узла все еще работают нормально, как диспетчер кластера определяет, какой узел должен быть сбит? я вижу ping_groupдиректива в /etc/ha.d/ha.cf. Из того, что я прочитал, я вижу, что диспетчер кластеров проверит подключение к любому из узлов, упомянутых в ping_group и проверяет соединение, из которого узел кластера активен, и исходя из этого он решает, какой узел должен быть сбит (?) Что, если соединения от обоих узлов к узлам проверки связи активны, и только сеть периодических сообщений между обоими узлами в кластере вниз? Что мне здесь не хватает?

Ситуация: не работает только сеть периодических сигналов, но оба узла работают и исправны.

root@automan00:/root : cat /etc/ha.d/ha.cf
debugfile       /var/log/ha-debug
logfile         /var/log/ha-log
logfacility     local0
keepalive       500ms
deadtime        30
warntime        10
initdead        120
udpport         694
baud            19200
bcast           bond1 eth2
auto_failback   off
node            automan00
node            automan01
ping_group group1 1.1.1.1 2.2.2.2
respawn hacluster /usr/lib64/heartbeat/ipfail
realtime on

# stonith directive
stonith external/riloe /etc/ha.d/riloe.cfg

Возможно, вы можете установить перекрестный кабель между узлами с некоторыми частными IP-адресами в качестве другой частной сети на HB.

Однако: когда произошел сбой связи только между двумя узлами, вы не знаете, какой узел сбить, вот почему вам нужен третий узел перед тем, как перейти в производство.

Без возможности третьего узла определять, кто работает правильно, а кто нет, вы окажетесь в ситуации с разделенным мозгом.

https://en.wikipedia.org/wiki/Split-brain_(computing)

Не рекомендуется использовать инструмент «убить себя», например кнопку «Последний человек», потому что вы никогда не узнаете, что происходит с другим узлом. Если связь не удалась или другой хост просто ушел на юг, вы увидите такое же поведение, поэтому вы не сможете убить себя ни в одном из этих случаев. То же самое касается точки зрения другого узла.

Я знаю, что это не решение, но надеюсь, что это поможет понять, как работает CRM. Если вы создаете кластер, попробуйте использовать более 2 узлов, это просто.