Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie die Überwachung von Hochverfügbarkeits-Datenbankclustern unter Linux

So konfigurieren Sie die Überwachung von Hochverfügbarkeits-Datenbankclustern unter Linux

WBOY
WBOYOriginal
2023-07-05 11:13:36837Durchsuche

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:

  1. 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
  2. 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
  3. 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
  4. 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:

  1. Keepalived installieren
    Führen Sie den folgenden Befehl auf jedem zu installierenden Knoten aus:

    $ sudo apt-get install keepalived
  2. 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
        }
    }
  3. 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:

  1. Installieren Sie Pacemaker und Corosync.
    Führen Sie den folgenden Befehl auf jedem zu installierenden Knoten aus:

    $ sudo apt-get install pacemaker corosync
  2. 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
    }
  3. 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:

  1. Beispiel für eine MySQL-Masterknoten-Konfigurationsdatei (/etc/mysql/my.cnf):

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-format=ROW
  2. 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
  3. 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
    }
    }
  4. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn