So konfigurieren Sie die Überwachung von Hochverfügbarkeits-Datenbankclustern unter Linux
Einführung:
In modernen Unternehmenssystemen sind Datenbanken eine wichtige Komponente. Um die hohe Verfügbarkeit und den kontinuierlich stabilen Betrieb der Datenbank sicherzustellen, ist die Konfiguration der Hochverfügbarkeits-Datenbankclusterüberwachung unter Linux ein notwendiger Schritt. In diesem Artikel wird erläutert, wie Sie die Überwachung von Hochverfügbarkeits-Datenbankclustern in einer Linux-Umgebung konfigurieren und relevante Codebeispiele bereitstellen.
1. Installieren und konfigurieren Sie den Datenbankcluster
Bevor Sie die Datenbankclusterüberwachung konfigurieren, müssen Sie zunächst einen zuverlässigen Datenbankcluster erstellen. Am Beispiel der MySQL-Datenbank sind die folgenden Schritte zum Installieren und Konfigurieren des MySQL-Datenbankclusters aufgeführt:
Laden Sie die MySQL-Datenbank herunter und installieren Sie sie.
Führen Sie den folgenden Befehl auf jedem zu installierenden Knoten aus:
$ sudo apt-get update $ sudo apt-get install mysql-server
Konfigurieren Sie die MySQL-Datenbank-Masterknoten
Öffnen Sie die MySQL-Konfigurationsdatei des Masterknotens (normalerweise in /etc/mysql/my.cnf) und führen Sie die folgende Konfiguration durch:
[mysqld] server-id=1 log-bin=mysql-bin binlog-format=ROW
Konfigurieren Sie den MySQL-Datenbank-Slaveknoten
Öffnen Sie die MySQL-Konfigurationsdatei von den Slave-Knoten und führen Sie die folgende Konfiguration durch:
[mysqld] server-id=2 relay-log=mysql-relay-bin log-bin=mysql-bin binlog-format=ROW read-only=1
Starten Sie die Datenbank
Führen Sie den Befehl auf jedem Knoten aus, um den Datenbankserver zu starten:
$ sudo systemctl start mysql
2. Verwenden Sie Keepalived, um eine hohe Verfügbarkeit zu erreichen.
Keepalived ist ein Open-Source-Tool mit denen eine hohe Verfügbarkeit von Diensten erreicht werden kann. Im Folgenden finden Sie die Schritte zum Konfigurieren der Hochverfügbarkeit des Datenbankclusters mit Keepalived:
Keepalived installieren
Führen Sie den folgenden Befehl auf jedem zu installierenden Knoten aus:
$ sudo apt-get install keepalived
Keepalived konfigurieren
Öffnen Sie die Keepalived-Konfigurationsdatei (normalerweise in /etc/ keepalived/ keepalived.conf) und nehmen Sie die folgende Konfiguration vor:
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 } }
Starten Sie Keepalived
Führen Sie den folgenden Befehl auf jedem Knoten aus, um den Keepalived-Dienst zu starten:
$ sudo systemctl start keepalived
3. Verwenden Sie Pacemaker und Corosync, um die Clusterüberwachung zu implementieren
Pacemaker ist ein Tool für Clustering-Tools zur Verwaltung und zum automatischen Failover, und Corosync ist die Software zur Implementierung der Cluster-Kommunikation. Hier sind die Schritte zum Konfigurieren der Datenbankclusterüberwachung mit Pacemaker und Corosync:
Installieren Sie Pacemaker und Corosync.
Führen Sie den folgenden Befehl auf jedem zu installierenden Knoten aus:
$ sudo apt-get install pacemaker corosync
Konfigurieren Sie Corosync.
Öffnen Sie die Corosync-Konfigurationsdatei (normalerweise in / etc /corosync/corosync.conf) und nehmen Sie die folgende Konfiguration vor:
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 }
Schrittmacher konfigurieren
Führen Sie auf jedem Knoten den folgenden Befehl aus, um Pacemaker zu konfigurieren:
$ 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
Fazit:
Mit der obigen Konfiguration haben wir es erfolgreich implementiert unter Linux Hochverfügbare Datenbank-Cluster-Überwachung. Auf diese Weise kann unser Datenbanksystem auch bei einem Knotenausfall weiterlaufen und die Systemstabilität und -verfügbarkeit gewährleistet werden.
Referenzcode-Beispiel:
Beispiel für eine MySQL-Masterknoten-Konfigurationsdatei (/etc/mysql/my.cnf):
[mysqld] server-id=1 log-bin=mysql-bin binlog-format=ROW
Beispiel für eine MySQL-Slave-Knoten-Konfigurationsdatei (/etc/mysql/my.cnf):
[mysqld] server-id=2 relay-log=mysql-relay-bin log-bin=mysql-bin binlog-format=ROW read-only=1
Keepalived-Konfigurationsdateibeispiel (/etc/keepalived/keepalived.conf):
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 } }
Schrittmacher-Konfigurationsbefehlsbeispiel:
$ 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
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die Überwachung von Hochverfügbarkeits-Datenbankclustern unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!