ClusterControl giúp dễ dàng triển khai thiết lập cơ sở dữ liệu - chỉ cần điền vào một số giá trị (nhà cung cấp cơ sở dữ liệu, thư mục dữ liệu cơ sở dữ liệu, mật khẩu và tên máy chủ) trong trình hướng dẫn triển khai và bạn đã sẵn sàng. Phần còn lại của các tùy chọn cấu hình sẽ được tự động xác định (và tính toán) dựa trên các thông số kỹ thuật của máy chủ (lõi CPU, bộ nhớ, địa chỉ IP, v.v.) và được áp dụng cho tệp mẫu đi kèm với ClusterControl. Trong bài đăng trên blog này, chúng ta sẽ xem xét cách ClusterControl sử dụng các tệp mẫu mặc định và cách người dùng có thể tùy chỉnh chúng theo nhu cầu của họ.
Tệp mẫu cơ sở
Tất cả các dịch vụ được cấu hình bởi ClusterControl sử dụng một mẫu cấu hình cơ sở có sẵn trong / usr / share / cmon / các mẫu trên nút ClusterControl. Sau đây là các tệp mẫu được cung cấp bởi ClusterControl v1.4.0:
Tên tệp | Mô tả |
---|---|
config.ini.mc | Tệp cấu hình Cụm MySQL. |
haproxy.cfg | Mẫu cấu hình HAProxy cho Galera Cluster. |
haproxy_rw_split.cfg | Mẫu cấu hình HAProxy để phân tách đọc-ghi. |
garbd.cnf | Tệp cấu hình daemon (garbd) của trọng tài Galera. |
keepalived-1.2.7.conf | Tệp cấu hình lưu trữ kế thừa (trước 1.2.7). Tính năng này không được dùng nữa. |
keepalived.conf | Tệp cấu hình đủ điều kiện. |
keepalived.init | Keepalived init script. |
MaxScale_template.cnf | Mẫu cấu hình MaxScale. |
mongodb-2.6.conf.org | Mẫu cấu hình MongoDB 2.x. |
mongodb.conf.org | Mẫu cấu hình MongoDB 3.x. |
mongodb.conf.percona | Mẫu cấu hình MongoDB 3.x cho Máy chủ Percona cho MongoDB. |
mongos.conf.org | Mẫu cấu hình bộ định tuyến Mongo (mongos). |
my.cnf.galera | Mẫu cấu hình MySQL cho Galera Cluster. |
my57.cnf.galera | Mẫu cấu hình MySQL cho Galera Cluster trên MySQL 5.7. |
my.cnf.grouprepl | Mẫu cấu hình MySQL cho MySQL Group Replication. |
my.cnf.gtid_replication | Mẫu cấu hình MySQL cho MySQL Replication với GTID. |
my.cnf.mysqlcluster | Mẫu cấu hình MySQL cho Cụm MySQL. |
my.cnf.pxc55 | Mẫu cấu hình MySQL cho Percona XtraDB Cluster v5.5. |
my.cnf.repl57 | Mẫu cấu hình MySQL cho MySQL Replication v5.7. |
my.cnf.replication | Mẫu cấu hình MySQL cho MySQL / MariaDB không có GTID của MySQL. |
mysqlchk.galera | Mẫu tập lệnh kiểm tra tình trạng MySQL cho Galera Cluster. |
mysqlchk.mysql | Mẫu tập lệnh kiểm tra tình trạng MySQL cho MySQL Replication. |
mysqlchk_xinetd | Mẫu cấu hình Xinetd để kiểm tra tình trạng MySQL. |
mysqld.service.override | Mẫu tệp đơn vị Systemd cho dịch vụ MySQL. |
proxysql_template.cnf | Mẫu cấu hình ProxySQL. |
Danh sách trên phụ thuộc vào bộ tính năng được cung cấp bởi bản phát hành ClusterControl đã cài đặt. Trong phiên bản cũ hơn, bạn có thể không tìm thấy một số trong số chúng. Bạn có thể sửa đổi trực tiếp các tệp mẫu này, mặc dù chúng tôi không khuyến khích nó như được giải thích trong các phần tiếp theo.
Trình quản lý cấu hình
Tùy thuộc vào loại cụm, ClusterControl sau đó sẽ nhập tệp mẫu cơ sở cần thiết vào cơ sở dữ liệu CMON và có thể truy cập thông qua Quản lý -> Cấu hình -> Mẫu sau khi triển khai thành công. Ví dụ:hãy xem xét mẫu cấu hình sau cho Cụm MariaDB Galera:
ClusterControl sẽ tải nội dung mẫu cơ sở của mẫu cấu hình Galera từ /usr/share/cmon/templates/my.cnf.galera vào cơ sở dữ liệu CMON (bên trong bảng cluster_configuration_templates) sau khi triển khai thành công. Sau đó, bạn có thể tùy chỉnh tệp cấu hình của riêng mình trực tiếp trong giao diện người dùng ClusterControl. Bất cứ khi nào bạn nhấn nút Lưu, phiên bản mới của mẫu cấu hình sẽ được lưu trữ bên trong cơ sở dữ liệu CMON mà không ghi đè lên tệp mẫu cơ sở.
Sau khi cụm được triển khai và chạy, mẫu trong giao diện người dùng sẽ được ưu tiên. Tệp mẫu cơ sở chỉ được sử dụng trong quá trình triển khai cụm ban đầu thông qua ClusterControl -> Deploy -> Deploy Database Cluster. Trong giai đoạn triển khai, ClusterControl sẽ sử dụng một thư mục tạm thời nằm tại / var / tmp / để chuẩn bị nội dung, ví dụ:
/var/tmp/cmon-003862-6a7775ca76c62486.tmp
Biến động
Có một số biến cấu hình số có thể cấu hình động bởi ClusterControl. Các biến này được biểu diễn bằng các chữ cái in hoa ở dấu ‘@’, ví dụ @ example @ sqldat.com Để biết đầy đủ chi tiết về các biến được hỗ trợ, vui lòng tham khảo trang này. Các biến động được cấu hình tự động dựa trên đầu vào được chỉ định trong quá trình triển khai cụm hoặc ClusterControl thực hiện phát hiện tự động dựa trên tên máy chủ, địa chỉ IP, RAM khả dụng, số lõi CPU, v.v. Điều này đơn giản hóa việc triển khai trong đó bạn chỉ cần chỉ định các tùy chọn tối thiểu trong giai đoạn triển khai cụm
Nếu biến động được thay thế bằng một giá trị (hoặc không xác định), ClusterControl sẽ bỏ qua nó và thay vào đó sử dụng giá trị đã định cấu hình. Điều này rất hữu ích cho người dùng nâng cao, nơi thường có bộ tùy chọn cấu hình riêng phù hợp với khối lượng công việc cơ sở dữ liệu cụ thể.
Ví dụ về mẫu cấu hình trước khi triển khai
Thay vì dựa vào biến động của ClusterControl về số lượng max_connections cho các nút cơ sở dữ liệu của chúng tôi, chúng tôi có thể thay đổi dòng sau bên trong /usr/share/cmon/templates/my57.cnf.galera, từ:
[email protected]@sqldat.com
Tới:
max_connections=50
Lưu tệp văn bản và trên hộp thoại Triển khai Cụm cơ sở dữ liệu, đảm bảo ClusterControl sử dụng tệp mẫu cơ sở chính xác:
Nhấp vào nút Triển khai để bắt đầu triển khai cụm cơ sở dữ liệu.
Ví dụ về mẫu cấu hình sau triển khai
Sau khi triển khai cụm cơ sở dữ liệu hoàn tất, bạn có thể đã thực hiện một số tinh chỉnh trên các máy chủ đang chạy trước khi quyết định mở rộng quy mô. Khi mở rộng quy mô, ClusterControl sẽ sử dụng mẫu cấu hình bên trong cơ sở dữ liệu CMON (mẫu được điền trong ClusterControl -> Cấu hình -> Mẫu) để triển khai các nút mới. Do đó, hãy nhớ áp dụng sửa đổi bạn đã thực hiện trên máy chủ cơ sở dữ liệu cho tệp mẫu.
Trước khi thêm một nút mới, bạn nên xem lại mẫu cấu hình để đảm bảo rằng nút mới nhận được những gì chúng tôi mong đợi. Sau đó, đi tới ClusterControl -> Add Node và đảm bảo chọn đúng tệp mẫu MySQL:
Sau đó, nhấp vào nút “Thêm nút” để bắt đầu triển khai.
Đó là nó. Mặc dù ClusterControl thực hiện các công việc tự động hóa khác nhau khi triển khai, nó vẫn cung cấp cho người dùng sự tự do tùy chỉnh việc triển khai cho phù hợp. Chúc các bạn thành nhóm vui vẻ!