Инструменты пользователя

Инструменты сайта


common_linux:galera_cluster

Это старая версия документа!


Кластер MariaDB (Galera Cluster)

Установка будет производиться на Ubuntu 20.04 LTS.
Для небольшой инсталляции будет использовано две ноды MariaDB, а для создания нечетного количества нод будет добавлен арбитр - сервис garbd (https://galeracluster.com/library/documentation/arbitrator.html)
Если планируется использовать 3 ноды репликации, то арбитр не требуется. Сервис арбитража будет установлен на ноду балансировки нагрузки. В качестве балансировщика используется haproxy.
В данном примере будет задействован только один балансировщик, он же будет являться единственной точкой отказа. Для серьезных инсталляций лучше использовать аппаратный балансировщик (типа Citrix Netscaler), либо несколько экземпляров haproxy, на которые в свою очередь ставиться keepalived демон, который создает общий виртуальный IP адрес.

Наименование узла IP-адрес Примечание
db-msql-01 192.168.100.37 узел MariaBD
db-msql-02 192.168.100.38 узел MariaBD
db-sql 192.168.100.39 Балансировщик и арбитр

Установка Maria DB

Перед инсталляцией необходимо обновить ОС и пакеты на всех узлах:

apt update && apt upgrade -yy

Если в сети отсутствует DNS-сервер, то прописываем на каждом узле соответствие имен серверов их IP-адресам:

nano /etc/hosts
192.168.100.37 db-msql-01.virtlab.local db-msql-01
192.168.100.38 db-msql-02.virtlab.local db-msql-02
192.168.100.39 db-sql.virtlab.local     db-sql

Установка Maria DB на нодах db-msql-01 и db-msql-02:

apt-get install mariadb-server -y

Запускаем первоначальную настройку на нодах db-msql-01 и db-msql-02:

mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n] y

Создадим и отредактируем файл конфигурации galera.cnf на нодах db-msql-01 и db-msql-02

nano /etc/mysql/conf.d/galera.cnf
| download
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
 
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
 
# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.100.37,192.168.100.38"
 
# Galera Synchronization Configuration
wsrep_sst_method=rsync
 
# Galera Node Configuration
wsrep_node_address="192.168.100.37" # для второй ноды указываем соответственно 192.168.100.38
wsrep_node_name="db-msql-01" # для второй ноды указываем соответственно db-msql-02
common_linux/galera_cluster.1661249073.txt.gz · Последнее изменение: 2024/12/21 19:00 (внешнее изменение)