Cài đặt MariaDB Galera Cluster 2 node trên Ubuntu

Bài viết này sẽ hướng dẫn các bạn cách cài đặt Mariadb Galera Cluster trên 2 server Ubuntu chế độ multi-master.

Tính năng của MariaDB Galera Cluster:

  • Cung cấp giải pháp cặp db acitve-active multi-master
  • Bạn có thể truy cập đọc/ghi vào bất cứ node nào của cluster.
  • Các mode db tự động ghép nối vào cluster
  • Cho phép đọc ghi song song ở mức row

Định nghĩa các node trong file /etc/hosts:

# cat /etc/hosts
10.131.74.92    galera-db-01
10.131.35.167   galera-db-02

Bước 1: Cài đặt Mariadb trên từng node

Thực hiện theo hướng dẫn tại bài viết: Cài đặt MariaDB trên Ubuntu

Bước 2: Cấu hình Node đầu tiên

sudo vim /etc/mysql/mariadb.cnf

Thêm vào các thông tin sau:

character-set-server = utf8
character_set_server = utf8

Cấu hình Galera:

vim /etc/mysql/mariadb.conf.d/galera.cnf

[mysqld] 
bind-address=0.0.0.0 
default_storage_engine=InnoDB 
binlog_format=row 
innodb_autoinc_lock_mode=2 
# Galera cluster configuration 
wsrep_on=ON 
wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address="gcomm://10.131.74.92,10.131.35.167" 
wsrep_cluster_name="mariadb-galera-cluster" wsrep_sst_method=rsync 
# Cluster node configuration 
wsrep_node_address="10.131.74.92" 
wsrep_node_name="galera-db-01" 

Chú ý thay đổi địa chỉ IP của node, tên node!

Bước 3: Cấu hình node còn lại:

vim /etc/mysql/mariadb.conf.d/galera.cnf

[mysqld] 
bind-address=0.0.0.0 
default_storage_engine=InnoDB 
binlog_format=row 
innodb_autoinc_lock_mode=2 
# Galera cluster configuration 
wsrep_on=ON 
wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address="gcomm://10.131.74.92,10.131.35.167" 
wsrep_cluster_name="mariadb-galera-cluster" wsrep_sst_method=rsync 
# Cluster node configuration 
wsrep_node_address=" 10.131.35.167 " 
wsrep_node_name="galera-db-02" 

Bước 4: Khởi động Galera Cluster trên Ubuntu

Stop mariadb on all nodes:

systemctl stop mariadb

Bây giờ khởi đông cluster mới trên node01 (galera-node-01):

galera_new_cluster

Test kết quả cluster vừa tạo:

mysql -u root -p -e “show status like ‘wsrep_%'”

Hiện tại thì cluster size sẽ là 1:

 root@galera-db-01:~# mysql -u root -p -e "show status like 'wsrep_cluster_size'" 
Enter password:  
+--------------------+-------+ 
| Variable_name      | Value | 
+--------------------+-------+ 
| wsrep_cluster_size | 1     | 
+--------------------+-------+ 

Trên Node 02 chạy lệnh khởi động mariadb:

systemctl start mariadb

Kiểm tra lại cluster lần nữa sẽ được kết quả 2 node:

 root@galera-db-01:~# mysql -u root -p -e "show status like 'wsrep_cluster_size'" 
Enter password:  
+--------------------+-------+ 
| Variable_name      | Value | 
+--------------------+-------+ 
| wsrep_cluster_size | 2     | 
+--------------------+-------+ 

Bước 5: Test sự hoạt động của Cluster

Tạo một database trên node 01 và kiểm tra kết quả ở cả 2 node:

root@galera-node-01:~# mysql -u root -p 
Enter password:  
Welcome to the MariaDB monitor. Commands end with ; or \g. 
Your MariaDB connection id is 50 Server version: 10.3.7-MariaDB-1:10.3.7+maria~bionic-log mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
MariaDB [(none)]> create database galera_test; 
Query OK, 1 row affected (0.004 sec) 

Kiểm tra trên node 02:

 MariaDB [(none)]> show databases; 
+--------------------+ 
| Database           | 
+--------------------+ 
| galera_test        | 
| information_schema | 
| mysql              | 
| performance_schema | 
+--------------------+ 
4 rows in set (0.000 sec) 

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*