Какая настройка устройства ограждения предотвратит взаимный STONITH в кластере RHEL с двумя узлами?
У меня есть программное обеспечение кластера Red Hat (corosync+rgmanager) на RHEL 6.6 на физических серверах Dell с iDRAC.
Этот кластер предназначен для приложения без сохранения состояния (stunnel, шлюз TLS), поэтому он не нуждается и не имеет общего диска. Я предпочитаю сохранять этот кластер как можно более простым, поэтому я не буду добавлять ни один диск кворума iSCSI (на данный момент вообще нет qdisk).
Мой cluster.conf содержит:
<cman expected_votes="1" two_node="1"/>
Если моя ссылка "сердцебиение" полностью не работает, мои тесты убедительно показывают, что это происходит:
Если оба узла в кластере с двумя узлами теряют связь друг с другом, не пытаются ли они защитить друг друга?
Они делают. Когда каждый узел распознает, что другой перестал отвечать, он попытается защитить другой. Это может быть похоже на перестрелку в ОК Коралл, и выигрывает самый быстрый в розыгрыше узел (первый, чтобы оградить другого). К сожалению, оба узла могут одновременно выйти из строя, потеряв весь кластер. (цитата из https://fedorahosted.org/cluster/wiki/FAQ/CMAN)
Может ли какое-либо устройство ограждения гарантировать, что такая перестрелка приведет к отключению только одного узла? Конечно, агенты iDRAC или vmWare не могут предотвратить это.
Я имею в виду некоторый PDU с поддержкой IPMI, который работает только последовательно, например, так: если есть запрос на отключение порта, этот запрос ожидает всех текущих запросов на отключение питания от других.
Я не могу проверить это в документации PDU, но, возможно, кто-то попробовал это, может порекомендовать что-то, что практически работает таким образом.