MariaDB Galera кластер на CentOS 6 из трёх нод

mariadb-galera-cluster-centos-6
Собираем кластер MariaDB из трёх нод на CentOS x64 6.7 Minimal.
На всех нодах настроены статические IP адреса.
Нода1 — 10.20.20.11
Нода2 — 10.20.20.12
Нода3 — 10.20.20.13

На всех трёх нодах устанавливаем необходимые пакеты:

На всех нодах, должно быть правильно установленно время, это обязательно. Иначе вы столкнётесь с тем что, при передаче состояния ноды с донора, синхронизируемая нода будет просто чего-то ждать, без каких бы то ни было признаков активности.

Запускаем службу ntpd и добавляем ее в автозагрузку:

Отключаем Selinux:

Открываем порты 4567,4568 (Galera), 3308 (MariaDB), 4444 (rsync_sst) в iptables:

Пример конфигурации iptables:

Устанавливаем репозитории Percona и MariaDB:

Вставляем в файл:

Устанавливаем пакеты MariaDB и Percona:

На всех трёх нодах выполняем:

Сохраняем копию файла конфигурации и заполняем новый файл:

Скопируйте файл на две другие ноды и убедитесь что для всех трёх нод следующие опции заданы правильно:
wsrep_cluster_name = имя кластера. одинаковое для всех нод
wsrep_cluster_address = строка с адресами всех нод кластера вида gcomm://IP1,IP2,..,IPn. одиноково для всех нод в кластере
wsrep_node_address = IP адрес ноды с этим файлом конфигурации. Если сетевой интерфейс один, можно не заполнять.
wsrep_node_incoming_address = IP адрес ноды с этим файлом конфигурации. Если сетевой интерфейс один, можно не заполнять.

Теперь можно запускать кластер!
Инициализируем кластер на первой ноде:

…и запускаем две остальные ноды:

Чтобы проверить состояние кластера и убедиться, что все ноды онлайн, выполним следующую команду (с любой ноды):

Все три ноды онлайн.

Посмотреть остальную информацию по кластеру можно командой:

Чтобы убедиться что репликация работает создадим базу данных:

Мы сразу же должны увидеть её на остальных нодах: