Bài đăng nổi bật

Redo log, undo log và binary log

Đây là ba loại log mà bạn đã từng nghe khi tiếp cận mysql. Trong các cơ sở dữ liệu quan hệ (RDBMS) khác, cũng sẽ có các thành phần có vai tr...

Thứ Bảy, 30 tháng 1, 2016

Cấu hình bắt buộc để chạy Maria Galera cluster

Tại thời điểm tôi viết bài này, MariaDB đã release phiên bản 10.1.x-galera stable. Bản galera cluster này được MariaDB build dựa trên dòng phiên bản 10.0.x-galera stable. Các thông số cấu hình bắt buộc cho galera hầu như không thay đổi. Các thông số này đều được chú thích rõ trong file config.

vim /etc/my.cnf.d/server.cnf

# Mandatory settings
#wsrep_on=ON
#wsrep_provider=
#wsrep_cluster_address=
#binlog_format=row
#default_storage_engine=InnoDB
#innodb_autoinc_lock_mode=2

wsrep_provider là đường dẫn trỏ đến galera replication plugin. Nó thường là /usr/lib64/galera/libgalera_smm.so hoặc /usr/lib64/libgalera_smm.so

wsrep_cluster_address sẽ định nghịa địa chỉ:port của các node khác trong cluster.

binlog_format=row, luôn là row

default_storage_engine=InnoDB, luôn là innodb vì galera cluster chỉ hỗ trợ innodb engine

innodb_autoinc_lock_mode=2, luôn là 2

Có một điểm mới trong bản Maria Galera Cluster dòng 10.1.x là bạn bắt buộc phải thêm wsrep_on=ON. Trong các bản trước đây bạn không cần khai báo vì tham số này luôn mặc định là ON. Khi mới chuyển sang dùng phiên bản 10.1.x, tôi cũng không biết có sửa đổi này. Kết quả là dù service báo bật successfully ! nhưng các tính năng galera trong service không hoạt động. Không có lỗi hay cảnh báo nào được bắn ra. Một lần nữa, đọc kỹ tài liệu là rất quan trọng :)

Một số thông số bắt buộc khác không tìm thấy trong comment của file cấu hình nhưng được đề cập đến trong tài liệu của MariaDB galera cluster:
https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/

innodb_doublewrite=1, sử dụng nếu phiên bản galera đang dùng >=2.0
query_cache_size=0, khuyến khích dùng với 10.0.14-galera, 10.1.2-galera và các phiên bản trước 5.5.40-galera.

Một số yêu cầu khác:
  • Không có firewall giữa các node
  • Disable selinux
Để khởi chạy galera cluster, bạn chọn một node và thực hiện

service mysql start --wsrep-new-cluster

Tham số --wsrep-new-cluster sẽ cho biết đây là node đầu tiên của cluster, đóng vai trò node khởi tạo. Kiểm tra lại
show global status like '%wsrep_cluster_size%' cho kết quả là 1 thì OK

Với các node còn lại, bạn thực hiện

service mysql start

Kiểm tra lại thấy cluster size tăng tương ứng là OK

Tham khảo

https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/
http://galeracluster.com/documentation-webpages/startingcluster.html

Không có nhận xét nào:

Đăng nhận xét