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:
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.
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.
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:
- Führen Sie die Voraussetzungen unter High Availability-Clustering aus.
-
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
-
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
-
Konfigurieren Sie die Firewall so, dass die Servicekomponenten über das Netzwerk kommunizieren können:
sudo firewall-cmd --permanent --add-service=high-availability
-
Legen Sie auf jedem Knoten ein Kennwort für den Benutzer
hacluster
fest:sudo passwd hacluster
-
Legen Sie auf jedem Knoten fest, dass der
pcsd
-Service beim Booten ausgeführt und gestartet wird:sudo systemctl enable --now pcsd.service
-
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:
- Installieren Sie die Pacemaker- und Corosync-Softwarepakete auf jedem gewünschten Knoten im Cluster. Siehe Installing Pacemaker.
-
Authentifizieren Sie auf einem der Knoten das Clusterkonfigurationstool
pcs
für den Benutzerhacluster
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
-
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. -
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
-
Starten Sie von einem der Knoten aus das Cluster auf allen Knoten:
sudo pcs cluster start --all
- 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.
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:
-
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
-
Stoppen Sie das Cluster von einem der Knoten aus:
sudo pcs cluster stop --all
-
Installieren und konfigurieren Sie auf jedem Knoten den SBD-Daemon:
sudo dnf install sbd
-
Aktivieren Sie auf jedem Knoten den systemd-Service
sbd
:sudo systemctl enable sbd
Hinweis
Wenn diese Option aktiviert ist, wird der systemd-Servicesbd
automatisch als Abhängigkeit vom Schrittmacherservice gestartet und gestoppt. Das bedeutet, dass Sie densbd
-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. -
Bearbeiten Sie auf jedem Knoten die Datei
/etc/sysconfig/sbd
, und legen Sie den ParameterSBD_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"
- 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
-
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
-
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