Первая настройка 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)`
What ' s лучший способ выключить кластер и как его безопасно перезапустить? Я предполагаю, что обычная команда reboot
не подходит для полного выключения кластера Galera.
Для корректного завершения работы кластера сначала проверьте состояние вашего кластера. Для каждого узла проверьте статус. Затем, если статус синхронизирован, вы можете выключать узел по одному. Сложность состоит в том, что при повторном запуске узлов необходимо воссоздать кластер, поскольку завершение работы разрушает кластер. Если все узлы в кластере синхронизированы (то есть они содержат одинаковые положительные значения «seqno»), то любой узел может запустить новый кластер. Если возможно, я бы тщательно протестировал это перед запуском в производство.
Я знаю, что сейчас поздно ответить на этот вопрос. Но на всякий случай любой, кто ищет точный ответ о том, как безопасно выключить и перезапустить кластер mariadb galera.
Например, у нас есть три узла mariadb galera (1,2,3), запущенных на серверах ubuntu. Чтобы остановить / завершить работу кластера безопасным способом без разрушения кластера:
Теперь вы остановили кластер galera наилучшим образом и, чтобы начать снова, начните с node1 следующим образом:
1- на узле 1 выполните следующую команду: galera_new_cluster 2- Затем на узле 2 sudo systemctl start mariadb 3- на node3 sudo sytsemctl start mariadb