Что такое Galera Cluster
MariaDB Galera Cluster — синхронная мультимастер-репликация для MariaDB. Все три узла одновременно принимают запросы на запись. При падении одного узла кластер продолжает работу. Идеален для высокодоступных приложений.
Архитектура: 3 узла (минимум)
Три сервера (node1: 10.0.0.1, node2: 10.0.0.2, node3: 10.0.0.3) с MariaDB. Galera требует нечётное количество узлов для предотвращения split-brain.
Установка MariaDB на всех узлах
# На каждом сервере:
sudo apt update && sudo apt install mariadb-server
sudo systemctl stop mariadbКонфигурация Galera (на каждом узле)
sudo nano /etc/mysql/mariadb.conf.d/60-galera.cnf[mysqld]
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera Provider
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster
wsrep_cluster_name="my_cluster"
wsrep_cluster_address="gcomm://10.0.0.1,10.0.0.2,10.0.0.3"
# Node identification (разное на каждом узле!)
wsrep_node_address="10.0.0.1" # NODE 1
wsrep_node_name="node1" # NODE 1
# SST Method
wsrep_sst_method=rsyncПервый запуск кластера (только на node1)
# ТОЛЬКО на первом узле:
sudo galera_new_cluster
# или
sudo mysqld --wsrep-new-cluster --user=mysql &Запуск остальных узлов
# На node2 и node3:
sudo systemctl start mariadbПроверка состояния кластера
mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_%';" | grep -E "wsrep_cluster_size|wsrep_cluster_status|wsrep_connected|wsrep_ready"
-- wsrep_cluster_size: 3 (все 3 узла в кластере)
-- wsrep_cluster_status: Primary
-- wsrep_connected: ON
-- wsrep_ready: ONИспользуйте HAProxy или ProxySQL перед Galera Cluster для балансировки нагрузки и автоматического переключения при отказе узла.
Никогда не запускайте galera_new_cluster повторно — это создаёт новый кластер с нуля и затирает данные. Используйте только при первоначальном создании или аварийном восстановлении.