Comments 26
pacemaker с отключенным stonith — неподдерживаемая конфигурация (и потенциально, неопределённое поведение).
Если вы знаете как с 2мя виртуалками без возможности управления сделать STONIT, расскажите, вы спасёте этим много молодых голов.
Надо три поднять, и на третьей держать только pacemaker. В худшем случае просто кластер остановится. Вот если есть только два хоста… тогда поинтереснее. А по мне, если возникла нужда в drbd+HA, проще взять NAS и поднять на нем айскази-таргет, ибо так или иначе точка отказа сеть.
По условиям у вас есть только 2 виртуалки, никаких NAS и дополнительных виртуалок нет и не будет год-полтора. Как сделать по уму, так это поставить ceph или другую кластерную фс. Но уж точно не одинокий NAS стОящий денег и ограничивающий вас.
Для арбитража split brain'а, кстати, есть такой грязный хак, как «reachability».
Если у нас есть третий узел в сети (а он есть — роутер, как минимум), то кто пинги от соседа не видит, а роутера видит — того и тапки. Предполагается, что если до роутера и до пира не допинговаться, то надо сидеть на попе ровно и считать себя трупом.
Если у нас есть третий узел в сети (а он есть — роутер, как минимум), то кто пинги от соседа не видит, а роутера видит — того и тапки. Предполагается, что если до роутера и до пира не допинговаться, то надо сидеть на попе ровно и считать себя трупом.
Как-то раз очень клево у меня поломалась сеть, ошибка в работе свитча привела к тому, что оба гипера видели роутер, но не видели друг друга. ВМ на гиперах также видели роутер, но не видели ВМ на соседнем гипере. От такой ситуации даже reachability не спасет.
Увы это ненадёжный метод как указали ниже, поэтому я и написал, что не надо так делать.
Ключевое слово — виртуалки. У них есть гипервизор, у гипервизора есть команда «умри эту VM». (например, virsh destroy). Отличный stonith, между прочим.
А дальше при разрыве сети и доступности управляющих интерфейсов гипера запускается stonith deathmatch. Неприятно, мягко скажем. Ну или ничего недоступно, тогда и stonith бесполезен.
Из чего мы делаем вывод, что нельзя разделить 3 нацело честно.
Вообще, вся это double primary drbd так воняет, что слов нет.
PS С точки зрения CAP-теоремы, если в случае проблем все ноды умрут, кластер останется highly available.
Вообще, вся это double primary drbd так воняет, что слов нет.
PS С точки зрения CAP-теоремы, если в случае проблем все ноды умрут, кластер останется highly available.
Когда нет выбора, надо делать шлёп-шлёп и в продакшен.
В такой ситуации я бы реализовывал VM replication между гиперами и одну ВМ для хранения данных. Так или иначе шлеп-шлеп получается, репликация хотя бы может обеспечить более-менее быстрый возврат в работу при отказе гипервизора.
По условиям у вас нет доступа к гиперу, дома и в деве мы можем крутить, что хотим, но когда архитектор заложил неверно структуру, мы уже не в состоянии это поменять.
Тогда жопа, и я бы делал тогда одну ВМ вообще
Вообще если очень хочется в fencing, то можно использовать softdog method, он не идеален но предоставляет хоть какие-то гарантии, при этом не требуя никакого доступа к внешним устройствам или гипервизору.
Проблема в том, что для восстановления по прежнему необходим кворум и хотя бы три виртуалки.
Проблема в том, что для восстановления по прежнему необходим кворум и хотя бы три виртуалки.
Вам не дали такого интерфейса или вы не можете его во вменяемые сроки реализовать.
Вы, в 2019, не можете выключить виртуалку через API? Мне стыдно спросить, что за систему виртуализации вы используете. Неужели, higan?
Можете погадать, вам всё равно не ответят или не дадут доступа к управлению через апи.
В этой ситуации лучше иметь primary + secondary и переключать руками. Оператор будет выступать в качестве арбитра и у вас будет консистентность.
Я не понимаю людей, которые уверены, что именно у них в этой конфигурации split brain никогда не настанет.
Я не понимаю людей, которые уверены, что именно у них в этой конфигурации split brain никогда не настанет.
Полностью согласен насчёт Сплита. Пускай тогда будет «горячий» резерв, но вводить — только руками оператора
Хорошая идея и конкурсы интересные) Только доступ оператора на закрытую площадку это 2 рабочих дня) А уж как узнать о том что там что-то сломалось, так это вообще песня.
Доступ оператора — имеется в виду ssh. Этого достаточно, чтобы привести систему в разумное состояние, но уже без отказоустойчивости. А если есть iLo и пр… ну, тогда можно вообще никуда не ездить.
А от кого вы про split brain узнавать будете? Кластер-то тоже встанет, только в более плохую позу.
Sign up to leave a comment.
Кластерное хранилище Pacemaker + DRBD (Dual primary) + samba