Перечень проблем, которые могут указывать на проблему с кластером Galera:
1) В EMS во вкладке "Информация" → "Состояние систем резервирования" → "MySQL" имеется одна из следующих ситуаций:
Репликация нарушена : mysqladmin: connect to server at '192.168.1.2' failed error: 'Can't connect to server on '192.168.1.2' (115)' Check that mariadbd is running and that the socket: '/run/mysqld/mysqld.sock' exists! [Error nodes state] Количество нод кластера '192.168.1.1' Galera Cluster уменьшилось до '1' [192.168.1.1] wsrep_cluster_size = 1 wsrep_cluster_status = Primary wsrep_local_state_comment = Synced |
Репликация нарушена : [Error nodes state] Количество нод кластера '192.168.1.1' Galera Cluster уменьшилось до '1' [Error nodes state] Количество нод кластера '192.168.1.2' Galera Cluster уменьшилось до '1' [100.110.2.131] wsrep_cluster_size = 1 wsrep_cluster_status = Primary wsrep_local_state_comment = Synced [100.110.3.229] wsrep_cluster_size = 1 wsrep_cluster_status = Primary wsrep_local_state_comment = Synced |
Репликация нарушена : mysqladmin: connect to server at '192.168.1.1' failed error: 'Can't connect to server on '192.168.1.1' (115)' Check that mariadbd is running and that the socket: '/run/mysqld/mysqld.sock' exists! mysqladmin: connect to server at '192.168.1.2' failed error: 'Can't connect to server on '192.168.1.2' (115)' Check that mariadbd is running and that the socket: '/run/mysqld/mysqld.sock' exists! |
2) В логах Ansible имеются ошибки, вида:
MSG:
The container "eltex-mariadb" has been paused (409 Client Error for http+docker://localhost/v1.51/containers/eltex-mariadb/exec: Conflict ("Container 4b53422d36d4e8cf83bd6f76948e5693cc8dfe27e6e878e56c37fd0c31d8da83 is restarting, wait until the container is running")) |
3) При выводе команды docker ps -a контейнеры eltex-mariadb находятся в состоянии Restarting или не работают дольше 1 минуты без рестарта.
Обратите внимание, что некоторые способы могут не работать на старых версиях плейбуков. Проверьте актуальность версии и, при необходимсти, обновите плейбуки до актуальной версии |
Для решения данных проблем можно воспользоваться одной из следующих команд, в зависимости от ситуации:
cd /opt/eltex-softwlc/ # НА ВСЕХ НОДАХ С БАЗОЙ ДАННЫХ sudo docker compose down eltex-mariadb # НА ВСЕХ НОДАХ С БАЗОЙ ДАННЫХ cd /home/user/ansible/ sudo ./eltex-softwlc-helper-ansible-latest.sh --run |
Является рекомендуемым способом в связи с минимализацией downtime услуг |
sudo ./eltex-softwlc-helper-ansible-latest.sh --restore-galera |
Является рекомендуемым способом, при условии возможности downtime сервисов больше 10 минут на их рестарт и поднятие |
cd /opt/eltex-softwlc/ # НА ВСЕХ НОДАХ С БАЗОЙ ДАННЫХ sudo docker compose down eltex-mariadb # НА ВСЕХ НОДАХ С БАЗОЙ ДАННЫХ sudo rm /opt/eltex-softwlc/volumes/mysql/datadir/grastate.dat # НА ВСЕХ НОДАХ С БАЗОЙ ДАННЫХ cd /home/user/ansible/ sudo ./eltex-softwlc-helper-ansible-latest.sh --run |
Обратите внимание, что при отказе базы данных на первой ноде раньше, чем были остановлены/потеряны другие, при восстановлении данным способом данные могут быть утеряны |