Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

GALERA_CLUSTER_FAIL Linux / DevOps

Развертывание отказоустойчивого кластера Galera Cluster / Percona XtraDB Cluster

Обновлено: 21.08.2026
  • Необходимость обеспечения нулевого RPO и быстрого автоматического failover без потери данных.
  • Ограничения стандартной асинхронной master-slave репликации при аварийном падении основного мастера.
  • Требование возможности чтения и записи на любой из узлов кластера.

1. Настройка сетевых портов и брандмауэра на всех 3 узлах

# Порты: 3306 (MySQL), 4567 (Galera replication), 4568 (IST), 4444 (SST snapshot)
ufw allow 3306,4567,4568,4444/tcp
ufw allow 4567/udp

2. Конфигурация /etc/mysql/my.cnf (на примере Ноды 1)

[mysqld]
default_storage_engine = InnoDB
binlog_format = ROW
innodb_autoinc_lock_mode = 2

# Настройки провайдера Galera
wsrep_on = ON
wsrep_provider = /usr/lib/galera4/libgalera_smm.so
wsrep_cluster_name = "pxc_production_cluster"
wsrep_cluster_address = "gcomm://192.168.1.11,192.168.1.12,192.168.1.13"

wsrep_node_name = "pxc-node-01"
wsrep_node_address = "192.168.1.11"

# Метод первичной синхронизации (SST)
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = "sstuser:SSTSecretPass"

3. Инициализация первой ноды (Bootstrap)

# Запуск первой ноды нового кластера
galera_new_cluster

# Проверка размера кластера (должен вернуть 1)
mysql -e "SHOW STATUS LIKE 'wsrep_cluster_size';"

4. Включение остальных узлов (Ноды 2 и 3)

# На остальных узлах запускается стандартный сервис
systemctl start mysqld

# Проверка финального размера кластера на любом узле
mysql -e "SHOW STATUS LIKE 'wsrep_cluster_size';" # Ожидается: 3
💡 Практика специалистов: Никогда не запускайте команду galera_new_cluster на уже существующем работающем кластере — используйте ее исключительно один раз при старте абсолютно нового кластера с нуля.

Частые вопросы (FAQ)

Почему кластер Galera требует минимум 3 узла?

Для предотвращения ситуации Split-Brain при разделении сети требуется кворум (большинство голосов 50% + 1). В кластере из 2 узлов при потере связи кворум не соберет ни одна половина.

Зачем устанавливать innodb_autoinc_lock_mode = 2?

Значение 2 (interleaved mode) исключает блокировки таблиц при генерации автоинкрементных ключей, что необходимо для параллельной синхронной репликации транзакций между нодами.

Полезные материалы
Рекомендуем