Cluster mit hoher Verfügbarkeit

Mit Oracle Linux-Instanzen, die auf Oracle Cloud Infrastructure (OCI) ausgeführt werden, können Sie High Availability-(HA-)Cluster erstellen, die kontinuierlichen Zugriff auf Anwendungen und Services bieten, die auf mehreren Knoten ausgeführt werden. HA-Clustering minimiert Ausfallzeiten und bietet kontinuierlichen Service, wenn und wenn Systemkomponenten ausfallen.

Sie können HA-Cluster mit OCI-Instanzen erstellen, indem Sie Pacemaker, einen Open-Source-Ressourcenmanager mit hoher Verfügbarkeit, und Corosync, eine Open-Source-Cluster-Engine, installieren und verwenden. Weitere Informationen zum HA-Clustering sowie zu Pacemaker- und Corosync-Technologien finden Sie unter Oracle Linux 9 High Availability-Clustering einrichten und Oracle Linux 8 High Availability-Clustering einrichten.

Erforderlich

Bevor Sie beginnen, konfigurieren Sie ein Shared Storage Device für den Zugriff von allen Knoten, die Sie im HA-Cluster verwenden möchten. Ein Shared Storage Device wird für Cluster Service und Application Messaging sowie für Cluster SBD Feencing benötigt. Weitere Informationen zum Einrichten eines Shared Storage-Geräts finden Sie unter Oracle Linux 9 Shared File Systems verwalten und Oracle Linux 8 Shared File Systems verwalten.

High Availability Clustering mit OCI-Instanzen einrichten

So richten Sie High Availability-Clustering mit OCI-Instanzen ein:

  1. Installieren Sie die Pacemaker-Software
  2. HA-Cluster erstellen
  3. Fechten konfigurieren

Schrittmacher installieren

Um ein High Availability-(HA-)Cluster mit Oracle Cloud Infrastructure-(OCI-)Instanzen zu erstellen, müssen Sie zuerst die Pacemaker- und Corosync-Packages auf jeder Instanz oder jedem gewünschten Knoten im Cluster installieren. Anschließend können Sie jeden Clusterknoten konfigurieren und sicherstellen, dass der Pacemaker-Service beim Booten automatisch auf jedem Knoten gestartet und ausgeführt wird.

Hinweis

OCI-Instanz, -Knoten und -Clusterknoten werden austauschbar mit HA-Clustering für OCI verwendet.

Best Practice

Öffnen Sie für jede gewünschte OCI-Instanz im Cluster ein Terminalfenster, und stellen Sie eine Verbindung zur Instanz her.

Beispiel: Wenn zwei OCI-Instanzen Knoten im Cluster sein sollen, öffnen Sie zwei Terminalfenster, und stellen Sie mit ssh eine Verbindung zu jeder Instanz her:
ssh instance-IP-address

Wenn für jeden Knoten ein Terminalfenster geöffnet ist, müssen Sie sich bei der Konfiguration des HA-Clusters nicht wiederholt bei den Knoten anmelden und diese verlassen.

Schrittmacher und Corosync installieren

So installieren Sie die Pacemaker- und Corosync-Packages und konfigurieren die HA-Clusterknoten:

  1. Führen Sie die Voraussetzungen unter High Availability-Clustering aus.
  2. Aktivieren Sie das Repository auf dem Oracle Linux yum-Server, auf dem sich die Pacemaker- und Corosync-Packages befinden.

    Oracle Linux 9:

    sudo dnf config-manager --enable ol9_addons

    Oracle Linux 8:

    sudo dnf config-manager --enable ol8_addons
  3. Installieren Sie auf jedem Knoten die Pacemaker pcs-Befehlsshell, die Softwarepakete sowie alle verfügbaren Ressourcen- und Zaun-Agents:

    sudo dnf install pcs pacemaker resource-agents fence-agents-sbd
  4. Konfigurieren Sie die Firewall so, dass die Servicekomponenten über das Netzwerk kommunizieren können:

    sudo firewall-cmd --permanent --add-service=high-availability
  5. Legen Sie auf jedem Knoten ein Kennwort für den Benutzer hacluster fest:

    sudo passwd hacluster
  6. Legen Sie auf jedem Knoten fest, dass der pcsd-Service beim Booten ausgeführt und gestartet wird:

    sudo systemctl enable --now pcsd.service
  7. Erstellen Sie ein HA-Cluster mit den konfigurierten Knoten. Siehe HA-Cluster erstellen.

HA-Cluster erstellen

Mit der Pacemaker- und Corosync-Software können Sie ein High Availability-(HA-)Cluster mit Linux-Instanzen erstellen, die auf Oracle Cloud Infrastructure (OCI) ausgeführt werden.

So erstellen Sie ein HA-Cluster:

  1. Installieren Sie die Pacemaker- und Corosync-Softwarepakete auf jedem gewünschten Knoten im Cluster. Siehe Installing Pacemaker.
  2. Authentifizieren Sie auf einem der Knoten das Clusterkonfigurationstool pcs für den Benutzer hacluster jedes Clusterknotens.

    Beispiel: Wenn zwei Knoten das HA-Cluster bilden sollen, führen Sie den folgenden Befehl von einem der Clusterknoten aus:

    sudo pcs host auth node1-resolvable-hostname node2-resolvable-hostname -u hacluster
  3. Wenn Sie dazu aufgefordert werden, geben Sie das Kennwort ein, das Sie in Schritt 5 für den Benutzer hacluster auf den einzelnen Knoten definiert haben.

  4. Erstellen Sie das HA-Cluster mit dem Befehl pcs cluster setup, und geben Sie Folgendes an:

    • Name des Clusters
    • Auflösbarer Hostname und IP-Adresse jedes gewünschten Knotens im Cluster

    Beispiel: So erstellen Sie ein HA-Cluster mit zwei Knoten:

    sudo pcs cluster setup cluster-name node1-resolvable-hostname addr=node1-IP-address node2-resolvable-hostname addr=node2-IP-address
  5. Starten Sie von einem der Knoten aus das Cluster auf allen Knoten:

    sudo pcs cluster start --all
  6. Konfigurieren Sie SBD-Fencing für das neu erstellte HA-Cluster. Siehe Fencing konfigurieren.

Konfigurieren von Fechten

STONITH Block Device (SBD) Fechten arbeitet mit der Pacemaker-Software zusammen, um Daten zu schützen, wenn ein Knoten in einem High Availability-(HA-)Cluster nicht mehr reagiert. Durch Fechten wird verhindert, dass die Live-Knoten im HA-Cluster auf Daten auf dem nicht reagierenden Knoten zugreifen, bis die Pacemaker-Software diesen nicht reagierenden Knoten offline setzt.

Die SBD-Fencing-Konfiguration ist der letzte Schritt beim Setup eines HA-Clusters mit OCI-Instanzen. Informationen zum Erstellen eines HA-Clusters finden Sie unter HA-Cluster erstellen.

Hinweis

Um HA-Cluster mit OCI-Instanzen zu erstellen, dürfen Sie nur den SBD-Cluster-Fencing-Mechanismus verwenden. Andere Cluster-Fencing-Mechanismen werden in dieser Umgebung derzeit nicht unterstützt.

SBD-Fencing für ein HA-Cluster konfigurieren

So konfigurieren Sie SBD-Fencing für ein HA-Cluster:

  1. Aktivieren Sie auf einem der Clusterknoten stonith (Shoot The Other Node In The Head), eine Fechttechnik, die als Teil der SBD-Fechtstrategie verwendet wird.

    sudo pcs property set stonith-enabled=true
  2. Stoppen Sie das Cluster von einem der Knoten aus:

    sudo pcs cluster stop --all
  3. Installieren und konfigurieren Sie auf jedem Knoten den SBD-Daemon:

    sudo dnf install sbd
  4. Aktivieren Sie auf jedem Knoten den systemd-Service sbd:

    sudo systemctl enable sbd
    Hinweis

    Wenn diese Option aktiviert ist, wird der systemd-Service sbd automatisch als Abhängigkeit vom Schrittmacherservice gestartet und gestoppt. Das bedeutet, dass Sie den sbd-Service nicht unabhängig ausführen müssen und den Service nicht manuell starten oder stoppen können. Wenn Sie versuchen, den Service manuell zu starten oder zu stoppen, bleibt der Status des Service unverändert, und es wird eine Fehlermeldung angezeigt, die angibt, dass der Service ein abhängiger Service ist.
  5. Bearbeiten Sie auf jedem Knoten die Datei /etc/sysconfig/sbd, und legen Sie den Parameter SBD_DEVICE fest, um das Shared Storage Device zu identifizieren. Informationen zu Shared Storage-Geräten finden Sie unter Oracle Linux 9 Shared File Systems verwalten und Oracle Linux 8 - Shared File Systems verwalten.

    Beispiel: Wenn das Shared Storage Device auf /dev/sdc verfügbar ist, stellen Sie sicher, dass die Datei /etc/sysconfig/sbd auf jedem Knoten die folgende Zeile enthält:

    SBD_DEVICE="/dev/sdc"
  6. Fahren Sie mit dem Bearbeiten der Datei /etc/sysconfig/sbd auf jedem Knoten fort, indem Sie das Watchdog-Gerät auf /dev/null setzen:
    SBD_WATCHDOG_DEV=/dev/null
  7. Erstellen Sie auf einem der Knoten das SBD-Nachrichtenlayout auf dem Shared Storage Device, und bestätigen Sie, dass es vorhanden ist.

    Beispiel: So richten Sie Messaging auf dem Shared Storage Device unter /dev/sdc ein und prüfen es:

    sudo sbd -d /dev/sdc create 
    sudo sbd -d /dev/sdc list
  8. Starten Sie auf einem der Knoten das Cluster, und konfigurieren Sie den fence_sbd-Fencing Agent für das Shared Storage Device.

    Beispiel: So starten Sie das Cluster und konfigurieren das Shared Storage Device unter /dev/sdc:

    sudo pcs cluster start --all 
    sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/sdc