LINUX.ORG.RU
ФорумAdmin

Настройка геокластера HA с pacemaker и stonith

 ,


1

2

Доброго дня суток!
Имеется следующая ситуация: необходимо с помощью pacemaker/stonith (RedHat7.5) построить High Availability геокластер, а именно имеются две виртуальные машины:
node1 находится в Vcenter1 в городе city1
node2 находится в Vcenter2 в городе city2
на обоих нодах крутится БД, в режиме Master/Slave соответственно, т.е. весьма критично не допустить Split-brain'a.

При падении node1 pacemaker поднимает node2 в режим Master и присваивает ему нужный виртуальный IP, при этом Stonith должен потушить node1 (чтобы если вдруг он сам поднимется\включится\станет доступным не произошел Split-brain).

Stonith делает это так - с node2 с помощью политики fence_vmware_soap подключается к Vcenter1 и тушит необходимую vm'ку (в нашем случае node1).

Все вроде бы логично. Но вот ЧТО ЕСЛИ теряется связь\канал до Vcenter1 и Stonith соответственно не может подать команду на тушение node1? отработает ли в этом случае pacemaker?(а именно поменяет роль с Slave на Master).
Подскажите как выкрутиться в этом случае?
Возможно есть какие-то обкатанные варианты? Заранее благодарю.



Последнее исправление: Sappper (всего исправлений: 4)

pacemaker
геокластер
Stonith

Заявка на успех.

две виртуальные машины
не допустить Split-brain

/0

Надеюсь тебе подскажут что-то более подходящее, иначе тебя ждет увлекательное приключение с перестрелками, расчлененкой и вазелином.

Deleted
()
Ответ на: комментарий от Deleted

А можно как-то поподробнее? (только не про расчлененку и вазелин)
Про перестрелку я понял. Как правильнее сделать в моем случае?
Я так понимаю случай распространенный, наверняка есть варианты решений.

Sappper
() автор топика

использовать третий сайт как арбитра, может быть минимальная инста в облаках.

anonymous
()
Ответ на: комментарий от anonymous

как вариант s3 и подобные инстансы, будет дешевле.

anonymous
()
Ответ на: комментарий от anonymous

Я так понимаю третий инстанс должен иметь отдельные линки на сайт1 и сайт2? ЧТобы по своему каналу все-таки подать команду «пристрелить» отвалившийся VM?

В случае 2-х узлового кластера(используется общий линк, нет устройства кворума), если разрывается связь между узлами и пропадает связь до устройства fence то:
- Узлы пытаются запустить механизм фенсинга.
- Так как не доступно устройство fence, ресурсы не начнут перемещаться. Правильно???
- Т.к. узлы друг друга не видят, они будут пытаться «застрелить» друг друга?

Скажите что происходит в момент восстановления соединения\связи?
Не «перестреляют» ли они друг друга? Или же они поймут что все норм и перестанут «стрелять» и мигрировать?

Sappper
() автор топика
Ответ на: комментарий от Sappper

В общих чертах, не обязательно отдельные каналы, кворум может быть настроен на доступность, как правило, по набору стандартных протоколов(tcp, iscsi, fc). каждой ноде и кворуму присваивается по голосу, когда пропадает связь между нодами кластера, начинается борьба за выживание - кто первый «пометит» кворум, того и тапки, вторая нода отстреливается за неимением достаточного кол-ва голосов. без кворума каждая нода будет считать себя главной и, в зависимости от конфигурации, могут возникнуть проблемы в стиле имеем два набора данных и как это мержить нипанятна. за более подробными разъяснениями в инторнет.

anonymous
()
Ответ на: комментарий от anonymous

а вот для heartbeat между нодами желательно иметь отдельный канал.

anonymous
()
Ответ на: комментарий от anonymous

Что можно использовать в качестве кворума? Я так понимаю отдельную ноду или shared disk?

Sappper
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.