High Availability-Clustering

Wenn Oracle Linux-Instanzen 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 für High Availability, und Corosync, eine Open-Source-Cluster-Engine installieren und verwenden. Weitere Informationen zum HA-Clustering sowie zu den Pacemaker- und Corosync-Technologien finden Sie unter Oracle Linux 9 High Availability-Clustering einrichten und Oracle Linux 8 High Availability-Clustering einrichten.

Voraussetzung

Bevor Sie beginnen, konfigurieren Sie ein Shared Storage Device so, dass es von allen Knoten aus zugänglich ist, die Sie im HA-Cluster möchten. Für Cluster-Service und Anwendungs-Messaging sowie für Cluster-SBD-Fencing ist ein Shared Storage Device erforderlich. 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 der 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 Knoten installieren, den Sie im Cluster möchten. Anschließend können Sie jeden Clusterknoten konfigurieren und sicherstellen, dass der Pacemaker-Service automatisch auf jedem Knoten beim Booten 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 OCI-Instanz, die Sie im Cluster möchten, 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.

Installieren von Pacemaker und Corosync

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

  1. Füllen Sie die Voraussetzung im 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, Softwarepakete und alle verfügbaren Ressourcen- und Fence-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 werden soll:

    sudo systemctl enable --now pcsd.service
  7. Erstellen Sie ein HA-Cluster mit den von Ihnen 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 Softwarepakete Pacemaker und Corosync auf jedem Knoten, den Sie im Cluster verwenden möchten. Siehe Pacemaker installieren.
  2. Authentifizieren Sie von einem der Knoten aus 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 jedem 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 aller Knoten, die im Cluster enthalten sein sollen

    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 auf einem der Knoten das Cluster auf allen Knoten:

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

Fencing konfigurieren

STONITH Block Device (SBD) Fechten arbeitet mit der Pacemaker Software, um Daten zu schützen, wenn ein Knoten in einem High Availability (HA) Cluster nicht mehr reagiert. Fechten 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 bei der Einrichtung 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 derzeit in dieser Umgebung nicht unterstützt.

SBD-Fechten für ein HA-Cluster konfigurieren

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

  1. Aktivieren Sie von einem der Clusterknoten aus stonith (Shoot The Other Node In The Head), eine Fencing-Technik, die als Teil der SBD-Fencing-Strategie verwendet wird.

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

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

    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 Pacemaker-Service 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 es sich bei dem Service um einen abhängigen Service handelt.
  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. Bearbeiten Sie die Datei /etc/sysconfig/sbd auf jedem Knoten weiter, 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-Gerät, und bestätigen Sie, dass es vorhanden ist.

    Beispiel: So richten Sie Nachrichten auf dem Shared Storage-Gerät unter /dev/sdc ein und prüfen sie:

    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