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 адреса ноди із цим файлом конфігурації. Якщо мережевий інтерфейс один можна не заповнювати.

Тепер можна запускати кластер!
Ініціалізуємо кластер на першій ноді:

…і запускаємо дві інші ноди:

Щоб перевірити стан кластера і впевнитися що всі ноди онлайн, виконаємо наступну команду (з будь-якої ноди):

Усі три ноди онлайн.

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

Щоб упевнитись, що реплікація працює створимо базу даних:

Ми відразу ж маємо побачити її на інших нодах: