Cấu hình MariaDB Galera Cluster trên CentOS 7

MariaDB Galera Cluster hỗ trợ đồng bộ dữ liệu MariaDB trên nhiều máy chủ trong cùng một cụm. Giữ cho các máy chủ lưu trữ dữ liệu MariaDB trên tất cả các máy chủ đồng bộ với nhau.

Giới thiệu MariaDB Galery Cluster

MariaDB Galera Cluster là một mạng lưới các máy chủ database MariaDB được đồng bộ dữ liệu, nó chỉ có sẵn trên Linux.

Trong đó tất cả các máy chủ có thể đều là master, nên có thể đọc ghi như nhau trên tất cả các máy chủ trong mạng lưới. Và quan trọng hơn nó là một phần mềm miễn phí.

Hạn chế của MariaDB Galera Cluster là chỉ có thể sử dụng với kiểu lưu trữ InnoDB.

Cấu hình MariaDB Galery Cluster

MariaDB Galery Cluster đã được tích hợp sẵn trong các phiên bản của MariaDB Server (mình cài đặt với phiên bản 10.3.13 các bản trước các bạn tham khảo thêm trên website của MariaDB). Sau khi cài đặt chúng ta cần cấu hình để đồng bộ các server với nhau. Để cài đặt MariaDB các bạn có thể tham khảo bài viết Cài đặt MariaDB 10.x trên CentOS 7

Hệ thống sử dụng trong bài viết: 2 server cấu hình

  • CentOS 7.6.1810
  • MariaDB 10.3.13
  • IP: 192.168.10.11, 192.168.10.12
  • File cấu hình: /etc/my.cnf.d/server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.10.11,192.168.10.12
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_node_name=Node1
wsrep_node_address=192.168.10.11

Trong đó:

  • wsrep_on=ON: bắt buộc phải là ON
  • wsrep_provider=/usr/lib64/galera/libgalera_smm.so : đường dẫn đến thư viện của MariaDB Galery Cluster
  • wsrep_cluster_address=gcomm://192.168.10.11,192.168.10.12 : danh sách các máy trong cụm
  • wsrep_node_name=Node1: đặt tên node trong trong cụm
  • wsrep_node_address=192.168.10.11: ip của máy hiện tại đang cấu hình

Mặc định phương thức đồng bộ của MariaDB Galery Cluster là rsyns.

Sau khi cài đặt xong chúng ta cần mở thêm các port tpc: 4444, 4567,4568 trong firewall

firewall-cmd --permanent --add-port={4567,4568,4444}/tcp

Chạy MariaDB Galery Cluster

Ở máy chủ đầu tiên chúng ta chạy với lệnh

galera_new_cluster

Ở các máy tiếp theo chúng ta chạy với lệnh

systemctl start mysqld

Kiểm tra MariaDB Galery Cluster

Truy cập vào MariaDB băng command line

mysql -u root -p

Chạy lệnh sau để kiểm tra số node trong cụm

SHOW STATUS LIKE 'wsrep_cluster_size';

Kết luận về MariaDB Galery Cluster

Đối với mình thì cấu hình thêm một chút cho MariaDB Galery Cluster để đồng bộ database giữa các server giúp mình backup, chia tải cho server thì MariaDB Galery Cluster đã giúp mình đạt được mục đích với chi không quá cao.