LXD + Galera Cluster + Max Scale: завершение работы сервера!= Остановка контейнеров
У меня кластер галеры с 4 узлами. 2 на одном сервере (сервер-хозяин) и 2 на другом сервере (сервер-ведомый).
Кластеры управляются с помощью "Max Scale".
Все настройки кажутся правильными, так как репликация работает нормально, SHOW STATUS LIKE 'wsrep_cluster_size'
сообщает правильный размер во всех узлах, закрытие мастера успешно передается следующему узлу и т. д.
отчеты о состоянии сервера maxscale: (кратко для простоты)
Master, Synced, Running | Slave, Synced, Running | Slave, Synced, Running
Если я выполняю остановку обоих контейнеров одновременно в "сервере-мастере", главная БД успешно назначается первому контейнеру в "ведомом".
отчеты о состоянии сервера maxscale:
Down | Down | Master, Synced, Running | Slave, Synced, Running
Проблема в том, что если я выключаю сервер-мастер,
отчеты о состоянии сервера maxscale:
Down, Down, Running, Running
И попытка подключиться к кластеру приводит к ошибке подключения. Через некоторое время сообщается обо всех узлах Down
,
Я не понимаю, почему выключение сервера не работает, как ожидалось.
ОБНОВИТЬ
Я обнаружил, что если я отключаю второй узел в "server-master", а затем выключаю сервер, "master" успешно назначается "server-slave", однако через несколько минут все узлы выходят из строя.:/
Servers: Ubuntu Servers 16.04 x64
MaxScale version: 2.0.5
LXD version: 2.13
Galera version (3): 25.3.20-xenial
Guide followed: https://www.digitalocean.com/community/tutorials/how-to-configure-a-galera-cluster-with-mariadb-10-1-on-ubuntu-16-04-servers
1 ответ
Это связано с поведением кластера галеры.
- Вы выключаете mysql в 1 узле, прежде чем завершить работу mysql в узле, отправьте запрос на отпуск и корректно покинете кластер. Ваш кластер обнаруживает, что 2 узла оставлены и все еще могут работать с 2 узлами.
- Вы отключили хост, mysql убит и, конечно, не может отправить запрос на отпуск. Кластер обнаруживает, что 2 узла мертвы, и у него осталось только 2 узла, что <= 50% от общего количества кластеров. Кластер находится в состоянии отказа и не может принимать соединение.
Таким образом, вы не можете подключиться от клиента к maxscale ---> кластеру.
ссылка: http://galeracluster.com/documentation-webpages/weightedquorum.html