Эта статья остается, что вы должны использовать как ограждение (также известное как STONITH), так и резервные каналы связи. Я пытаюсь понять, какие преимущества дает STONITH в случае расщепления мозга. Рассмотрим, например, что у вас есть узел A, узел B, устройство STONITH, которые подключены с помощью коммутатора I. Если коммутатор I умирает - сеть разбита на разделы - и узел A не может отправить запрос на устройство STONITH, поэтому он бесполезен.
Хорошо, у нас может быть выделенный коммутатор II, который соединяет узлы с устройством STONITH. Если переключатель I выйдет из строя, мы по-прежнему сможем отправить сигнал на устройство STONITH, и оно может выключить узел B.
Но вопрос в том, почему бы просто не использовать коммутатор II в качестве резервного канала связи между узлом A и узлом B? Если переключатель I выходит из строя, вы все равно можете использовать переключатель II и не нужно выключать узел B.
Идея состоит в том, что когда ваш кластер решает, что требуется переключить узел при отказе, с этим узлом должно быть что-то не так.
Ограждение, стрельба другому узлу в голову (STONITH) - лучшая гарантия того, что отказавший узел освободит все ресурсы, которые он удерживал, и есть вероятность, что если проблема была связана с программным обеспечением, она будет устранена с помощью аппаратного сброса, который приятный бонус ...
Вы создаете кластер, как правило, потому, что кластерная служба не поддерживает его одновременную работу, а когда два экземпляра работают одновременно, все идет ужасно неправильно. Чтобы предотвратить это, нужно приложить немало усилий. Высокая доступность часто занимает отдаленное место в ваших приоритетах как разработчика кластеров.