Cara mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi di Linux
Pengenalan:
Dalam sistem perusahaan moden, pangkalan data ialah komponen penting. Untuk memastikan ketersediaan tinggi dan operasi stabil berterusan pangkalan data, mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi pada Linux adalah langkah yang perlu. Artikel ini akan memperkenalkan cara mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi dalam persekitaran Linux dan menyediakan contoh kod yang berkaitan.
1. Pasang dan konfigurasikan kluster pangkalan data
Sebelum mengkonfigurasi pemantauan kluster pangkalan data, anda perlu membina kluster pangkalan data yang boleh dipercayai. Mengambil pangkalan data MySQL sebagai contoh, berikut ialah langkah-langkah untuk memasang dan mengkonfigurasi kluster pangkalan data MySQL:
Muat turun dan pasang pangkalan data MySQL
Laksanakan arahan berikut pada setiap nod untuk dipasang:
$ sudo apt-get update $ sudo apt-get install mysql-server
Konfigurasikan Nod induk pangkalan data MySQL
Buka Fail konfigurasi MySQL nod induk (biasanya dalam /etc/mysql/my.cnf) dan lakukan konfigurasi berikut:
[mysqld] server-id=1 log-bin=mysql-bin binlog-format=ROW
Konfigurasikan nod hamba pangkalan data MySQL
Buka fail konfigurasi MySQL bagi nod hamba dan lakukan konfigurasi berikut:
[mysqld] server-id=2 relay-log=mysql-relay-bin log-bin=mysql-bin binlog-format=ROW read-only=1
Mulakan pangkalan data
Laksanakan arahan pada setiap nod untuk memulakan pelayan pangkalan data:
$ sudo systemctl start mysql
2. Gunakan Keepalived untuk mencapai ketersediaan tinggi
Keepalived ialah alat sumber terbuka yang boleh digunakan untuk mencapai ketersediaan perkhidmatan yang tinggi. Berikut ialah langkah-langkah untuk mengkonfigurasi kluster pangkalan data ketersediaan tinggi menggunakan Keepalived:
Pasang Keepalived
Lakukan arahan berikut pada setiap nod untuk dipasang:
$ sudo apt-get install keepalived
Konfigurasikan Keepalived
Buka fail konfigurasi Keepalived /etc (/biasa keepalived/ keepalived.conf) dan buat konfigurasi berikut:
vrrp_script check_mysql { script "/usr/bin/mysqladmin ping" interval 2 weight -1 fall 3 rise 2 } vrrp_instance VI_1 { interface eth0 state BACKUP virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass strongpassword } virtual_ipaddress { 192.168.1.100 } track_script { check_mysql } }
Mulakan Keepalived
Laksanakan arahan berikut pada setiap nod untuk memulakan perkhidmatan Keepalived:
$ sudo systemctl start keepalived
3. Gunakan Pemantauan Perentak Jantung dan Corosync ialah alat untuk mengelompokkan Alat untuk pengurusan dan failover automatik, dan Corosync ialah perisian yang digunakan untuk melaksanakan komunikasi kelompok. Berikut ialah langkah-langkah untuk mengkonfigurasi pemantauan kluster pangkalan data menggunakan Perentak Jantung dan Corosync:
Laksanakan arahan berikut pada setiap nod untuk dipasang:
$ sudo apt-get install pacemaker corosync
Buka fail konfigurasi Corosync dll /corosync/corosync.conf) dan buat konfigurasi berikut:
totem { version: 2 secauth: on cluster_name: my_cluster transport: udpu } nodelist { node { ring0_addr: node1_ip name: node1 nodeid: 1 } node { ring0_addr: node2_ip name: node2 nodeid: 2 } /* Add more nodes as necessary */ } quorum { provider: corosync_votequorum }
Laksanakan arahan berikut pada setiap nod untuk mengkonfigurasi Perentak Rentak:
$ sudo crm configure crm(live)> property no-quorum-policy=ignore crm(live)> rsc_defaults resource-stickiness=100 crm(live)> rsc_defaults migration-threshold=1 crm(live)> configure primitive mysql lsb:mysql op monitor interval=30s crm(live)> configure clone mysql-clone mysql meta clone-max=2 clone-node-max=1 crm(live)> configure group mysql-group mysql-clone crm(live)> verify crm(live)> commit
dengan berjaya dilaksanakan di Linux Pemantauan kluster pangkalan data yang sangat tersedia. Dengan cara ini, sistem pangkalan data kami boleh terus berjalan walaupun sekiranya berlaku kegagalan nod, memastikan kestabilan dan ketersediaan sistem.
[mysqld] server-id=1 log-bin=mysql-bin binlog-format=ROW
[mysqld] server-id=2 relay-log=mysql-relay-bin log-bin=mysql-bin binlog-format=ROW read-only=1
vrrp_script check_mysql { script "/usr/bin/mysqladmin ping" interval 2 weight -1 fall 3 rise 2 } vrrp_instance VI_1 { interface eth0 state BACKUP virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass strongpassword } virtual_ipaddress { 192.168.1.100 } track_script { check_mysql } }
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!