Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie ein hochverfügbares Cluster-Dateisystem unter Linux

So konfigurieren Sie ein hochverfügbares Cluster-Dateisystem unter Linux

WBOY
WBOYOriginal
2023-07-07 13:18:071739Durchsuche

So konfigurieren Sie ein hochverfügbares Cluster-Dateisystem unter Linux

Einführung:
Im Computerbereich ist Hochverfügbarkeit (Hochverfügbarkeit) eine Technologie, die darauf abzielt, die Zuverlässigkeit und Verfügbarkeit des Systems zu verbessern. In einer Clusterumgebung ist ein hochverfügbares Dateisystem eine der wichtigen Komponenten, um den kontinuierlichen Betrieb des Systems sicherzustellen. In diesem Artikel wird die Konfiguration eines hochverfügbaren Cluster-Dateisystems unter Linux vorgestellt und entsprechende Codebeispiele gegeben.

  1. Pakete installieren
    Stellen Sie zunächst sicher, dass die erforderlichen Pakete auf Ihrem System installiert sind. In den meisten Linux-Distributionen können diese Pakete mithilfe von Paketverwaltungstools installiert werden. Im Folgenden sind gängige Softwarepakete aufgeführt:
  • Pacemaker: ein Cluster-Management-Tool zur Verwaltung des Status und der Ressourcen des Dateisystems.
  • Corosync: Kommunikationstool zum Aufbau und zur Pflege von Clusterumgebungen.
  • DRBD: Verteiltes repliziertes Blockgerät, das zur Implementierung der Festplattenspiegelung verwendet wird.
  • GFS2 oder OCFS2: Wird zur Bereitstellung eines hochverfügbaren Cluster-Dateisystems verwendet.

Unter Ubuntu können Sie den folgenden Befehl verwenden, um das Paket zu installieren:

sudo apt-get install pacemaker corosync drbd8-utils gfs2-utils
  1. Konfigurieren Sie die Cluster-Umgebung
    Zunächst müssen Sie die Cluster-Umgebung konfigurieren, einschließlich der Kommunikation zwischen Knoten und der Ressourcenverwaltung. Das Folgende ist ein einfaches Konfigurationsbeispiel mit zwei Knoten (Knoten1 und Knoten2):
  • Ändern Sie die Datei /etc/hosts und fügen Sie die IP-Adresse und den Hostnamen des Knotens hinzu, damit die Knoten aufeinander zugreifen können.
sudo nano /etc/hosts

Fügen Sie Folgendes hinzu:

192.168.1.100    node1
192.168.1.101    node2
  • Konfigurieren Sie die Corosync-Kommunikation.

Corosync-Konfigurationsdatei erstellen.

sudo nano /etc/corosync/corosync.conf

Fügen Sie Folgendes hinzu:

totem {
    version: 2
    secauth: off
    cluster_name: mycluster
    transport: udpu
}

nodelist {
    node {
        ring0_addr: node1
        nodeid: 1
    }
    node {
        ring0_addr: node2
        nodeid: 2
    }
}

quorum {
    provider: corosync_votequorum
}

logging {
    to_syslog: yes
    to_logfile: yes
    logfile: /var/log/corosync.log
    debug: off
    timestamp: on
}
  • Aktivieren Sie Corosync- und Pacemaker-Dienste.
sudo systemctl enable corosync
sudo systemctl enable pacemaker

Starten Sie den Dienst.

sudo systemctl start corosync
sudo systemctl start pacemaker
  1. DRBD konfigurieren
    DRBD ist ein verteiltes repliziertes Blockgerät, das zur Implementierung der Festplattenspiegelung zwischen mehreren Knoten verwendet wird. Das Folgende ist eine Beispielkonfiguration von DRBD mit zwei Knoten (Knoten1 und Knoten2) und der Verwendung von /dev/sdb als gemeinsam genutztes Blockgerät:
  • DRBD konfigurieren.

DRBD-Konfigurationsdatei erstellen.

sudo nano /etc/drbd.d/myresource.res

Fügen Sie Folgendes hinzu:

resource myresource {
    protocol C;

    on node1 {
        device /dev/drbd0;
        disk   /dev/sdb;
        address 192.168.1.100:7789;
        meta-disk internal;
    }

    on node2 {
        device /dev/drbd0;
        disk   /dev/sdb;
        address 192.168.1.101:7789;
        meta-disk internal;
    }

    net {
        allow-two-primaries;
    }

    startup {
        wfc-timeout     15;
        degr-wfc-timeout 60;
    }

    syncer {
        rate    100M;
        al-extents 257;
    }

    on-node-upgraded {
        # promote node1 to primary after a successful upgrade
        if [ "$(cat /proc/sys/kernel/osrelease)" != "$TW_AFTER_MAJOR.$TW_AFTER_MINOR.$TW_AFTER_UP" ] && 
           [ "$(cat /proc/mounts | grep $DRBD_DEVICE)" = "" ] ; then
            /usr/bin/logger "DRBD on-node-upgraded handler: Promoting to primary after upgrade.";
            /usr/sbin/drbdsetup $DRBD_DEVICE primary;
        fi;
    }
}
  • DRBD initialisieren.
sudo drbdadm create-md myresource

Starten Sie DRBD.

sudo systemctl start drbd
  1. Cluster-Dateisystem konfigurieren
    Es stehen mehrere Cluster-Dateisysteme zur Auswahl, z. B. GFS2 und OCFS2. Im Folgenden finden Sie ein Konfigurationsbeispiel am Beispiel von GFS2.
  • Dateisystem erstellen.
sudo mkfs.gfs2 -p lock_gulmd -t mycluster:myresource /dev/drbd0
  • Mounten Sie das Dateisystem.
sudo mkdir /mnt/mycluster
sudo mount -t gfs2 /dev/drbd0 /mnt/mycluster
  • Dateisystemressourcen hinzufügen.
sudo pcs resource create myresource Filesystem device="/dev/drbd0" directory="/mnt/mycluster" fstype="gfs2"  op start  timeout="60s"  op stop  timeout="60s"  op monitor interval="10s"  op monitor timeout="20s"  op monitor start-delay="5s"  op monitor stop-delay="0s"
  • Ressourcen aktivieren und starten.
sudo pcs constraint order myresource-clone then start myresource
sudo pcs constraint colocation add myresource with myresource-clone
  1. Hochverfügbarkeit testen
    Nachdem Sie die obige Konfiguration abgeschlossen haben, können Sie die Hochverfügbarkeit testen. Hier sind die Schritte zum Testen:
  • Stoppen Sie den Masterknoten.
sudo pcs cluster stop node1
  • Überprüfen Sie, ob das Dateisystem auf dem Standby-Knoten ordnungsgemäß läuft.
sudo mount | grep "/mnt/mycluster"

Die Ausgabe sollte die Adresse und der Mount-Punkt des Standby-Knotens sein.

  • Stellen Sie den Masterknoten wieder her.
sudo pcs cluster start node1
  • Überprüfen Sie, ob das Dateisystem auf dem Masterknoten wiederhergestellt ist.
sudo mount | grep "/mnt/mycluster"

Die Ausgabe sollte die Adresse und der Mount-Punkt des Masterknotens sein.

Fazit:
Die Konfiguration eines hochverfügbaren Cluster-Dateisystems kann die Zuverlässigkeit und Verfügbarkeit des Systems verbessern. Dieser Artikel beschreibt die Konfiguration eines hochverfügbaren Cluster-Dateisystems unter Linux und stellt entsprechende Codebeispiele bereit. Leser können entsprechend ihren eigenen Bedürfnissen konfigurieren und anpassen, um eine höhere Verfügbarkeit zu erreichen.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie ein hochverfügbares Cluster-Dateisystem 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