При первой настройке Galera (Ubuntu 14.04) я не могу перезапустить кластер после перезагрузки узлов. Я слежу за это руководство и в нем точно не упоминается, как обрабатывать выключение или перезагрузку (для исправлений ядра, обновлений гипервизора, планового обслуживания).
Я нашел немного информации Вот который объясняет, как найти узел, который является «safe_to_bootstrap», но я думаю, что это описывает сбойный узел. Ссылка выше описывает это как сбойный узел, которому, казалось бы, не повезло с восстановлением:
# cat /var/lib/mysql/grastate.dat
# GALERA saved state
version: 2.1
uuid: a4f9af07-f235-11e7-a0c0-233dd732dc29
seqno: -1
safe_to_bootstrap: 1
Однако когда я пытаюсь запустить этот узел, я получаю сообщение об ошибке daemon.log
:
`WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)`
Как лучше всего выключить кластер и как его безопасно перезапустить? Я предполагаю обычное reboot
команда не подходит для полного завершения работы кластера Galera.
Я знаю, что поздно отвечать на этот вопрос. Но на всякий случай любой, кто ищет точный ответ о том, как безопасно выключить и перезапустить кластер mariadb galera.
Например, у нас есть три узла mariadb galera (1,2,3), запущенных на серверах ubuntu. Чтобы остановить / выключить кластер безопасным способом без разрушения кластера:
Теперь вы остановили кластер galera наилучшим образом и, чтобы начать снова, начните с node1 следующим образом:
1- на узле 1 выполните следующую команду: galera_new_cluster 2- Затем на узле 2 sudo systemctl start mariadb 3- на узле 3 sudo sytsemctl start mariadb
Для корректного завершения работы кластера сначала проверьте состояние вашего кластера. Для каждого узла проверьте статус. Затем, если статус синхронизирован, вы можете выключать узел по одному. Сложность заключается в том, что при повторном запуске узлов необходимо воссоздать кластер, поскольку завершение работы разрушает кластер. Если все узлы в кластере синхронизированы (то есть содержат одинаковые положительные значения «seqno»), то любой узел может запустить новый кластер. Если возможно, я бы тщательно протестировал это перед запуском в производство.