ClusterControl memudahkan untuk menerapkan pengaturan basis data - cukup isi beberapa nilai (vendor basis data, direktori data basis data, kata sandi, dan nama host) di wizard penerapan dan Anda siap melakukannya. Opsi konfigurasi lainnya akan ditentukan secara otomatis (dan dihitung) berdasarkan spesifikasi host (inti CPU, memori, alamat IP, dll.) dan diterapkan ke file template yang disertakan dengan ClusterControl. Dalam posting blog ini, kita akan melihat bagaimana ClusterControl menggunakan file template default dan bagaimana pengguna dapat menyesuaikannya dengan kebutuhan mereka.
File Template Dasar
Semua layanan yang dikonfigurasi oleh ClusterControl menggunakan templat konfigurasi dasar yang tersedia di bawah /usr/share/cmon/templates pada node ClusterControl. Berikut ini adalah file template yang disediakan oleh ClusterControl v1.4.0:
Nama file | Deskripsi |
---|---|
config.ini.mc | File konfigurasi MySQL Cluster. |
haproxy.cfg | Template konfigurasi HAProxy untuk Galera Cluster. |
haproxy_rw_split.cfg | Template konfigurasi HAProxy untuk pemisahan baca-tulis. |
garbd.cnf | File konfigurasi daemon (garbd) arbiter Galera. |
keepalived-1.2.7.conf | File konfigurasi tetap yang lama (sebelum 1.2.7). Ini tidak digunakan lagi. |
keepalived.conf | Berkas konfigurasi tetap. |
keepalived.init | Skrip init tetap dipertahankan. |
MaxScale_template.cnf | Template konfigurasi MaxScale. |
mongodb-2.6.conf.org | Template konfigurasi MongoDB 2.x. |
mongodb.conf.org | Template konfigurasi MongoDB 3.x. |
mongodb.conf.percona | Template konfigurasi MongoDB 3.x untuk Server Percona untuk MongoDB. |
mongos.conf.org | Template konfigurasi router Mongo (mongos). |
my.cnf.galera | Template konfigurasi MySQL untuk Galera Cluster. |
my57.cnf.galera | Template konfigurasi MySQL untuk Galera Cluster di MySQL 5.7. |
my.cnf.grouprepl | Template konfigurasi MySQL untuk Replikasi Grup MySQL. |
my.cnf.gtid_replication | Template konfigurasi MySQL untuk Replikasi MySQL dengan GTID. |
my.cnf.mysqlcluster | Template konfigurasi MySQL untuk MySQL Cluster. |
my.cnf.pxc55 | Template konfigurasi MySQL untuk Percona XtraDB Cluster v5.5. |
my.cnf.repl57 | Template konfigurasi MySQL untuk MySQL Replication v5.7. |
my.cnf.replication | Template konfigurasi MySQL untuk MySQL/MariaDB tanpa GTID MySQL. |
mysqlchk.galera | Template skrip pemeriksaan kesehatan MySQL untuk Galera Cluster. |
mysqlchk.mysql | Template skrip pemeriksaan kesehatan MySQL untuk Replikasi MySQL. |
mysqlchk_xinetd | Template konfigurasi Xinetd untuk pemeriksaan kesehatan MySQL. |
mysqld.service.override | Templat file unit sistem untuk layanan MySQL. |
proxysql_template.cnf | Template konfigurasi proxySQL. |
Daftar di atas tergantung pada set fitur yang disediakan oleh rilis ClusterControl yang diinstal. Dalam versi yang lebih lama, Anda mungkin tidak menemukan beberapa di antaranya. Anda dapat memodifikasi file template ini secara langsung, meskipun kami tidak merekomendasikannya seperti yang dijelaskan di bagian selanjutnya.
Manajer Konfigurasi
Bergantung pada tipe cluster, ClusterControl kemudian akan mengimpor file template dasar yang diperlukan ke dalam database CMON dan dapat diakses melalui Manage -> Configurations -> Templates setelah penerapan berhasil. Misalnya, pertimbangkan template konfigurasi berikut untuk MariaDB Galera Cluster:
ClusterControl akan memuat konten template dasar dari template konfigurasi Galera dari /usr/share/cmon/templates/my.cnf.galera ke dalam database CMON (di dalam tabel cluster_configuration_templates) setelah penerapan berhasil. Anda kemudian dapat menyesuaikan file konfigurasi Anda sendiri secara langsung di UI ClusterControl. Setiap kali Anda menekan tombol Simpan, template konfigurasi versi baru akan disimpan di dalam database CMON, tanpa menimpa file template dasar.
Setelah cluster di-deploy dan dijalankan, template di UI akan diutamakan. File template dasar hanya digunakan selama penyebaran cluster awal melalui ClusterControl -> Deploy -> Deploy Database Cluster. Selama tahap penerapan, ClusterControl akan menggunakan direktori sementara yang terletak di /var/tmp/ untuk menyiapkan konten, misalnya:
/var/tmp/cmon-003862-6a7775ca76c62486.tmp
Variabel Dinamis
Ada beberapa variabel konfigurasi yang dapat dikonfigurasi secara dinamis oleh ClusterControl. Variabel-variabel ini diwakili dengan huruf kapital yang diapit oleh tanda '@', misalnya @[email protected] Untuk detail lengkap tentang variabel yang didukung, silakan merujuk ke halaman ini. Variabel dinamis secara otomatis dikonfigurasi berdasarkan input yang ditentukan selama penyebaran cluster, atau ClusterControl melakukan deteksi otomatis berdasarkan nama host, alamat IP, RAM yang tersedia, jumlah inti CPU, dan sebagainya. Ini menyederhanakan penerapan di mana Anda hanya perlu menentukan opsi minimal selama tahap penerapan cluster
Jika variabel dinamis diganti dengan nilai (atau tidak ditentukan), ClusterControl akan melewatinya dan menggunakan nilai yang dikonfigurasi sebagai gantinya. Ini berguna untuk pengguna tingkat lanjut, yang biasanya memiliki serangkaian opsi konfigurasi yang disesuaikan untuk beban kerja database tertentu.
Contoh Template Konfigurasi Pra-penerapan
Daripada mengandalkan variabel dinamis ClusterControl pada jumlah max_connections untuk node database kita, kita dapat mengubah baris berikut di dalam /usr/share/cmon/templates/my57.cnf.galera, dari:
[email protected]@sqldat.com
Kepada:
max_connections=50
Simpan file teks dan pada dialog Deploy Database Cluster, pastikan ClusterControl menggunakan file template dasar yang benar:
Klik tombol Deploy untuk memulai penerapan cluster database.
Contoh Template Konfigurasi Pasca-penerapan
Setelah penyebaran cluster database selesai, Anda mungkin telah melakukan beberapa penyesuaian pada server yang berjalan sebelum memutuskan untuk meningkatkannya. Saat scaling up, ClusterControl akan menggunakan template konfigurasi di dalam database CMON (yang diisi di bawah ClusterControl -> Konfigurasi -> Template) untuk menyebarkan node baru. Oleh karena itu, ingatlah untuk menerapkan modifikasi yang Anda buat di server database ke file template.
Sebelum menambahkan node baru, sebaiknya tinjau template konfigurasi untuk memastikan bahwa node baru mendapatkan apa yang kita harapkan. Lalu, buka ClusterControl -> Add Node dan pastikan file template MySQL yang benar dipilih:
Kemudian, klik tombol “Tambah Node” untuk memulai penerapan.
Itu dia. Meskipun ClusterControl melakukan berbagai pekerjaan otomatisasi dalam hal penerapan, ClusterControl tetap memberikan kebebasan bagi pengguna untuk menyesuaikan penerapan yang sesuai. Selamat mengelompokkan!