MariaDB Galera Cluster: настройка отказоустойчивого кластера на 3 узлах

MySQL / MariaDB · 19.04.2026
MariaDB Galera Cluster: настройка отказоустойчивого кластера на 3 узлах

Что такое 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 повторно — это создаёт новый кластер с нуля и затирает данные. Используйте только при первоначальном создании или аварийном восстановлении.
← Назад в базу знаний Задать вопрос поддержке