Привіт, Гість

Galera Cluster — це синхронна мультимайстерна реплікація для MariaDB і MySQL, яка забезпечує високу доступність і відмовостійкість бази даних.

Переваги Galera Cluster

  1. Синхронна реплікація — дані записуються одночасно на всіх вузлах.

  2. Мультимайстерна архітектура — можна виконувати записи на будь-якому вузлі.

  3. Автоматичне відновлення вузлів — нові вузли можуть автоматично підключатися до кластера.

  4. Висока доступність — у разі виходу з ладу одного вузла кластер продовжує працювати.

  5. Низькі затримки реплікації — всі зміни застосовуються миттєво.

Вимоги до налаштування

  • Три або більше сервери (рекомендується 3+ для надійності).

  • Операційна система: Ubuntu 22.04 / Debian 11 / CentOS 8.

  • Встановлений MariaDB (версія 10.5 або новіша).

  • Відкриті порти: 3306, 4567, 4568, 4444.

Крок 1: Встановлення MariaDB

На всіх вузлах виконайте:

sudo apt update && sudo apt install mariadb-server -y

Або для CentOS/RHEL:

sudo dnf install mariadb-server -y

Крок 2: Налаштування конфігурації Galera

Відредагуйте файл /etc/mysql/mariadb.conf.d/50-server.cnf (для Ubuntu/Debian) або /etc/my.cnf.d/server.cnf (для CentOS/RHEL) на кожному вузлі.

Основні параметри конфігурації

[mysqld]
bind-address=0.0.0.0
galera_cluster_name="my_cluster"
galera_node_address="NODE_IP"
galera_gcache_size=512M
galera_replication_threads=4
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
binlog_format=ROW
wsrep_on=ON
wsrep_provider=/usr/lib/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.1.1,192.168.1.2,192.168.1.3"
wsrep_sst_method=rsync

Змініть NODE_IP та wsrep_cluster_address відповідно до IP-адрес ваших серверів.

Крок 3: Запуск першого вузла (Primary)

На першому сервері виконайте команду:

sudo systemctl stop mariadb
sudo galera_new_cluster
sudo systemctl start mariadb

Переконайтеся, що кластер працює:

mysql -u root -e "SHOW STATUS LIKE 'wsrep_cluster_size';"

Крок 4: Додавання інших вузлів

На всіх інших серверах виконайте:

sudo systemctl stop mariadb
sudo systemctl start mariadb

Переконайтеся, що вузли приєдналися:

mysql -u root -e "SHOW STATUS LIKE 'wsrep_cluster_size';"

Крок 5: Перевірка реплікації

Створіть тестову базу даних на будь-якому вузлі:

CREATE DATABASE test_db;

Переконайтеся, що вона доступна на інших вузлах:

SHOW DATABASES;

Висновок

MariaDB Galera Cluster забезпечує високу доступність, стійкість до збоїв і синхронну реплікацію без втрати даних. Використовуючи цю інструкцію, ви зможете налаштувати та запустити власний кластер бази даних.

Ще немає коментарів.

Авторизуйтесь, щоб залишити коментар.

Про нас

Деякі корисні статті присвячені розробці веб-додатків та технологіям, які допоможуть вам створити продуктивні та захищені веб-додатки.

Ми в соцемережах

  1. GitHub
  2. Twitter
  3. Telegram