КЛАСТЕРЫ С ДВУМЯ УЗЛАМИ
В кластере с двумя узлами отказ одного узла приводит к прекращению работы другого.
Ситуация
У вас есть кластер, состоящий только из двух узлов. Один из узлов некрасиво покидает кластер. То есть вместо завершения работы через init или systemd происходит сбой или потеря сетевого подключения. Оставшийся узел становится нерабочим. Это остается таковым до тех пор, пока какая-либо дополнительная информация не будет предоставлена третьей стороной, например оператором-человеком или другим узлом.
Если узел остался в рабочем состоянии после того, как другой некрасиво покинул кластер, возникнет риск того, что каждый из двух узлов будет считать себя первичным компонентом. Чтобы предотвратить это, узел становится нерабочим.
Решения
Вам доступны два решения:
- Вы можете загрузить уцелевший узел, чтобы сформировать новый основной компонент, используя опцию pc.boostrap wsrep Provider. Для этого войдите в клиент базы данных и выполните следующую команду:
SET GLOBAL wsrep_provider_options='pc.bootstrap=YES';
Это загружает уцелевший узел как новый основной компонент. Когда другой узел возвращается в оперативный режим или восстанавливает сетевое соединение с этим узлом, он инициирует передачу состояния и догоняет этот узел.
- Если вы хотите, чтобы узел продолжал работать, вы можете использовать опцию pc.ignore_sb wsrep Provider. Для этого войдите в клиент базы данных и выполните следующую команду:
SET GLOBAL wsrep_provider_options='pc.ignore_sb=TRUE';
Узел возобновляет обработку обновлений и будет продолжать это делать даже в том случае, если он подозревает ситуацию с разделенным мозгом.
Примечание. Предупреждение. Включение pc.ignore_sb опасно в конфигурации с несколькими мастерами из-за вышеупомянутого риска возникновения ситуаций разделения мозгов. Однако это упрощает работу в кластерах ведущий-подчиненный (особенно в случаях, когда вы используете только два узла).
В дополнение к решениям, представленным выше, вы можете полностью избежать этой ситуации, используя Galera Arbitrator. Galera Arbitrator функционирует как нечетный узел при расчете кворума. Это означает, что если вы включите Galera Arbitrator на одном узле в кластере из двух узлов, этот узел останется основным компонентом, даже если другой узел выйдет из строя или потеряет сетевое подключение.
http://galeracluster.com/documentation-webpages/twonode.html
person
scarface_90
schedule
21.06.2017