documentation.suse.com / Installieren eines einfachen High Availability-Clusters mit drei Knoten
SUSE Linux Enterprise High Availability 16.0

Installieren eines einfachen High Availability-Clusters mit drei Knoten

Veröffentlicht: 03.11.2025
WAS?

Informationen zum Einrichten eines einfachen High Availability-Clusters mit drei Knoten mit festplattenlosem SBD und Software-Watchdog.

WARUM?

Dieser Cluster kann zu Testzwecken oder als anfängliche Clusterminimalkonfiguration verwendet werden, die später erweitert werden kann.

AUFWAND

Das Einrichten eines einfachen High Availability-Clusters dauert je nach Geschwindigkeit Ihrer Netzwerkverbindung etwa 15 Minuten.

ZIEL

Legen Sie schnell und einfach mit SUSE Linux Enterprise High Availability los.

1 Einsatzszenario

Dieses Handbuch beschreibt die Einrichtung eines minimalen High Availability-Clusters mit den folgenden Eigenschaften:

  • Drei Clusterknoten mit gegenseitigem SSH-Zugriff ohne Passwort. Für diese Einrichtung sind drei Knoten erforderlich, damit festplattenloses SBD Split Brain-Szenarien ohne Hilfe von QDevice verarbeiten kann.

  • Eine virtuelle IP-Adresse nach dem Floating-IP-Prinzip, über die Clients eine Verbindung mit dem Grafikverwaltungswerkzeug Hawk herstellen können, und zwar unabhängig davon, auf welchem Knoten der Dienst ausgeführt wird.

  • Festplattenloses SBD (STONITH Block Device) und ein Software-Watchdog werden als Knoten-Fencing-Mechanismus zur Vermeidung von Split Brain-Szenarien verwendet.

  • Failover der Ressourcen von einem Knoten zu einem anderen, wenn der aktive Host ausfällt (Aktiv/Passiv-Einrichtung)

Dies ist eine einfache Clustereinrichtung mit minimalen externen Anforderungen. Sie können diesen Cluster zu Testzwecken oder als einfache Clusterkonfiguration verwenden, die später für eine Produktionsumgebung erweitert werden kann.

2 Installationsübersicht

Um den unter Abschnitt 1, „Einsatzszenario“ beschriebenen High Availability-Cluster zu installieren, müssen Sie die folgenden Aufgaben ausführen:

  1. Lesen Sie Abschnitt 3, „Systemanforderungen“, um sicherzustellen, dass Sie alles haben, was Sie benötigen.

  2. Installieren Sie SUSE Linux Enterprise High Availability auf den Clusterknoten gemäß Abschnitt 4, „Aktivieren der High Availability-Erweiterung“.

  3. Initialisieren Sie den Cluster auf dem ersten Knoten gemäß Abschnitt 5, „Einrichtung des ersten Knotens“.

  4. In Abschnitt 6, „Hinzufügen des zweiten und dritten Knotens“ fügen Sie Ihrem Cluster weitere Knoten hinzu.

  5. In Abschnitt 7, „Anmelden bei Hawk“ melden Sie sich bei der Hawk-Weboberfläche an, um den Cluster zu überwachen.

  6. In Abschnitt 8, „Testen des Clusters“ führen Sie grundlegende Tests durch, um sicherzustellen, dass der Cluster wie erwartet funktioniert.

  7. Lesen Sie Abschnitt 9, „Nächste Schritte“, um Ratschläge zur Erweiterung des Clusters für eine Produktionsumgebung zu erhalten.

3 Systemanforderungen

In diesem Abschnitt werden die Systemanforderungen für eine Minimaleinrichtung von SUSE Linux Enterprise High Availability beschrieben.

3.1 Hardwareanforderungen

Server

Drei Server, die als Clusterknoten fungieren.

Bei den Servern kann es sich um Bare Metal-Server oder um virtuelle Rechner handeln. Sie müssen nicht unbedingt mit identischer Hardware (Arbeitsspeicher, Festplattenspeicher usw.) ausgestattet sein, die gleiche Architektur wird jedoch vorausgesetzt. Plattformübergreifende Cluster werden nicht unterstützt.

Weitere Informationen zur Serverhardware finden Sie in Abschnitt System Requirements unter https://www.suse.com/download/sle-ha/.

Netzwerkschnittstellenkarten (NICs)

Mindestens zwei NICs pro Clusterknoten. Damit können Sie zwei oder mehr Kommunikationskanäle für den Cluster konfigurieren. Verwenden Sie dazu eine der folgenden Methoden:

  • Kombinieren Sie die NICs zu einem Netzwerk-Bonding (bevorzugt). In diesem Fall müssen Sie das Bond-Gerät auf jedem Knoten einrichten, bevor Sie den Cluster initialisieren.

  • Erstellen Sie einen zweiten Kommunikationskanal in Corosync. Dies kann durch das Clustereinrichtungsskript konfiguriert werden. In diesem Fall müssen sich die beiden NICs in unterschiedlichen Teilnetzen befinden.

STONITH (Knoten-Fencing)

Damit sie unterstützt werden, müssen alle SUSE Linux Enterprise High Availability-Cluster über mindestens ein Knoten-Fencing-Gerät (STONITH) verfügen, um Split Brain-Szenarien zu vermeiden. Dazu kann entweder ein physisches Gerät (ein Netzschalter) oder SBD (STONITH Block Device) in Kombination mit einem Watchdog verwendet werden. SBD kann entweder mit gemeinsam genutztem Speicher oder im festplattenlosen Modus verwendet werden.

Die in diesem Handbuch beschriebene Minimaleinrichtung verwendet einen Software-Watchdog und festplattenloses SBD, sodass keine zusätzliche Hardware erforderlich ist. Ersetzen Sie den Software-Watchdog durch einen Hardware-Watchdog, bevor Sie diesen Cluster in einer Produktionsumgebung verwenden.

3.2 Software-Anforderungen

Betriebssystem

Auf allen Knoten muss SUSE Linux Enterprise Server installiert und registriert sein.

High Availability-Erweiterung

Für die SUSE Linux Enterprise High Availability-Erweiterung ist ein zusätzlicher Registrierungscode erforderlich.

Diese Erweiterung kann während der SLES-Installation aktiviert werden. Sie können sie später auf einem ausgeführten System aktivieren. In diesem Handbuch wird erläutert, wie Sie die Erweiterung auf einem ausgeführten System aktivieren und registrieren.

3.3 Netzwerkanforderungen

Zeitsynchronisierung

Alle Systeme müssen mit einem NTP-Server außerhalb des Clusters synchronisiert werden. SUSE Linux Enterprise Server verwendet chrony für NTP. Wenn Sie den Cluster initialisieren, werden Sie gewarnt, falls chrony nicht ausgeführt wird.

Selbst wenn die Knoten synchronisiert sind, können Protokolldateien und Clusterberichte schwer zu analysieren sein, falls für die Knoten unterschiedliche Zeitzonen konfiguriert wurden.

Hostname und IP-Adresse

Alle Clusterknoten müssen in der Lage sein, sich anhand des Namens gegenseitig zu finden. Verwenden Sie die folgenden Methoden für eine zuverlässige Namensauflösung:

  • Verwenden Sie statische IP-Adressen.

  • Listen Sie alle Knoten in der Datei /etc/hosts mit ihrer IP-Adresse, ihrem FQDN und ihrem kurzen Hostnamen auf.

Es wird nur die primäre IP-Adresse auf jeder NIC unterstützt.

SSH

Alle Clusterknoten müssen in der Lage sein, über SSH aufeinander zuzugreifen. Bestimmte Clustervorgänge erfordern auch eine SSH-Authentifizierung ohne Passwort. Bei der Initialisierung des Clusters prüft das Einrichtungsskript, ob SSH-Schlüssel vorhanden sind, und generiert sie, falls sie nicht vorhanden sind.

Wichtig
Wichtig: root-SSH-Zugriff in SUSE Linux Enterprise 16

In SUSE Linux Enterprise 16 ist die root-SSH-Anmeldung mit Passwort standardmäßig deaktiviert.

Erstellen Sie auf jedem Knoten entweder einen Benutzer mit sudo-Rechten oder richten Sie eine SSH-Authentifizierung ohne Passwort für den root-Benutzer ein, bevor Sie den Cluster initialisieren.

Wenn Sie den Cluster mit einem sudo-Benutzer initialisieren, erfordern bestimmte crmsh-Befehle auch ein sudo-Recht ohne Passwort.

4 Aktivieren der High Availability-Erweiterung

In diesem Verfahren wird erläutert, wie Sie SUSE Linux Enterprise High Availability auf einem vorhandenen SUSE Linux Enterprise Server installieren. Sie können dieses Verfahren überspringen, wenn Sie die High Availability-Erweiterung und die Pakete bereits während der SLES-Installation mit Agama installiert haben.

Anforderungen
  • SUSE Linux Enterprise Server ist installiert und beim SUSE Customer Center registriert.

  • Sie verfügen über einen zusätzlichen Registrierungscode für SUSE Linux Enterprise High Availability.

Führen Sie dieses Verfahren auf allen Rechnern aus, die Sie als Clusterknoten verwenden möchten:

  1. Melden Sie sich entweder als root-Benutzer oder als Benutzer mit sudo-Rechten an.

  2. Überprüfen Sie, ob die High Availability-Erweiterung bereits aktiviert ist:

    > sudo SUSEConnect --list-extensions
  3. Überprüfen Sie, ob die High Availability-Pakete bereits installiert sind:

    > zypper search ha_sles
  4. Aktivieren der SUSE Linux Enterprise High Availability-Erweiterung:

    > sudo SUSEConnect -p sle-ha/16.0/x86_64 -r HA_REGCODE
  5. Installieren der High Availability-Pakete:

    > sudo zypper install -t pattern ha_sles

5 Einrichtung des ersten Knotens

SUSE Linux Enterprise High Availability enthält Einrichtungsskripte, die die Installation eines Clusters vereinfachen. Um den Cluster auf dem ersten Knoten einzurichten, verwenden Sie das Skript crm cluster init.

5.1 Übersicht über das crm cluster init-Skript

Der Befehl crm cluster init startet ein Skript, das die grundlegenden Parameter definiert, die für die Clusterkommunikation erforderlich sind, was zu einem ausgeführten Cluster mit einem Knoten führt.

Das Skript prüft und konfiguriert die folgenden Komponenten:

NTP

Prüft, ob chrony zum Starten beim Booten konfiguriert ist. Wenn das nicht der Fall ist, wird eine Meldung angezeigt.

SSH

Erkennt SSH-Schlüssel für die Anmeldung ohne Passwort zwischen Clusterknoten.

Firewall

Öffnet die Ports in der Firewall, die für die Clusterkommunikation benötigt werden.

Csync2

Konfiguriert Csync2 für die Replikation der Konfigurationsdateien auf allen Knoten in einem Cluster.

Corosync

Konfiguriert das Clusterkommunikationssystem.

SBD/Watchdog

Prüft, ob ein Watchdog vorhanden ist, und fragt, ob SBD als Knoten-Fencing-Mechanismus konfiguriert werden soll.

Clusterverwaltung mit Hawk

Aktiviert den Hawk-Dienst und zeigt die URL für die Hawk-Weboberfläche an.

Virtual Floating IP

Fragt, ob eine virtuelle IP-Adresse für die Hawk-Weboberfläche konfiguriert werden soll.

QDevice/QNetd

Fragt, ob QDevice und QNetd zur Teilnahme an Quorum-Entscheidungen konfiguriert werden sollen. Dies wird für Cluster mit einer geraden Anzahl von Knoten und insbesondere für Cluster mit zwei Knoten empfohlen.

Anmerkung
Anmerkung: Pacemaker-Standardeinstellungen

Die vom crm cluster init-Skript festgelegten Optionen sind möglicherweise nicht mit den Standardeinstellungen von Pacemaker identisch. In /var/log/crmsh/crmsh.log können Sie überprüfen, welche Einstellungen das Skript geändert hat. Sämtliche Optionen, die während des Bootstrap-Prozesses festgelegt wurden, können später mit crmsh geändert werden.

Anmerkung
Anmerkung: Clusterkonfiguration für verschiedene Plattformen

Das crm cluster init-Skript erkennt die Systemumgebung (z. B. Microsoft Azure) und passt bestimmte Clustereinstellungen basierend auf dem Profil für diese Umgebung an. Weitere Informationen finden Sie in der Datei /etc/crm/profiles.yml.

5.2 Initialisieren des Clusters auf dem ersten Knoten

Um den Cluster auf dem ersten Knoten einzurichten, verwenden Sie das crm cluster init-Skript. Das Skript fordert Sie zur Eingabe grundlegender Informationen zum Cluster auf und konfiguriert die erforderlichen Einstellungen und Dienste. Führen Sie für weitere Informationen den Befehl crm cluster init --help aus.

Anforderungen
  • SUSE Linux Enterprise High Availability ist installiert und auf dem aktuellen Stand.

  • Alle Knoten verfügen über mindestens zwei Netzwerkschnittstellen oder einen Netzwerk-Bond mit statischen IP-Adressen, die in der Datei /etc/hosts zusammen mit dem FQDN und dem kurzen Hostnamen des jeweiligen Knotens aufgeführt sind.

Führen Sie dieses Verfahren nur auf einem Knoten aus:

  1. Melden Sie sich beim ersten Knoten entweder als root-Benutzer oder als Benutzer mit sudo-Rechten an.

  2. Starten Sie das crm cluster init-Skript:

    > sudo crm cluster init

    Das Skript prüft, ob chrony ausgeführt wird, öffnet die erforderlichen Firewall-Ports, konfiguriert Csync2 und sucht nach SSH-Schlüsseln. Wenn keine SSH-Schlüssel vorhanden sind, generiert das Skript sie.

  3. Konfigurieren Sie Corosync für die Clusterkommunikation:

    1. Geben Sie eine IP-Adresse für den ersten Kommunikationskanal ein (ring0). Standardmäßig schlägt das Skript die Adresse der ersten verfügbaren Netzwerkschnittstelle vor. Dabei kann es sich um eine einzelne Schnittstelle oder um ein Bond-Gerät handeln. Akzeptieren Sie diese Adresse oder geben Sie eine andere ein.

    2. Wenn das Skript mehrere Netzwerkschnittstellen erkennt, fragt es, ob Sie einen zweiten Kommunikationskanal konfigurieren möchten (ring1). Wenn Sie den ersten Kanal mit einem Bond-Gerät konfiguriert haben, können Sie mit n ablehnen. Wenn Sie einen zweiten Kanal konfigurieren müssen, bestätigen Sie mit y und geben Sie die IP-Adresse einer anderen Netzwerkschnittstelle ein. Die beiden Schnittstellen müssen sich in unterschiedlichen Teilnetzen befinden.

    Das Skript konfiguriert die Standard-Firewall-Ports für die Corosync-Kommunikation.

  4. Wählen Sie aus, ob Sie SBD als Knoten-Fencing-Mechanismus einrichten möchten:

    1. Bestätigen Sie mit y, dass Sie SBD verwenden möchten.

    2. Wenn Sie nach einem Pfad zu einem Blockgerät gefragt werden, geben Sie none ein, um festplattenloses SBD zu konfigurieren.

    Das Skript konfiguriert SBD, einschließlich der entsprechenden Zeitüberschreitungseinstellungen. Im Gegensatz zu plattenbasiertem SBD benötigt festplattenloses SBD keine STONITH-Clusterressource.

    Wenn kein Hardware-Watchdog verfügbar ist, konfiguriert das Skript den Software-Watchdog softdog.

  5. Konfigurieren Sie eine virtuelle IP-Adresse für die Clusterverwaltung mit der Hawk-Weboberfläche:

    1. Bestätigen Sie mit y, dass Sie eine virtuelle IP-Adresse konfigurieren möchten.

    2. Geben Sie eine nicht verwendete IP-Adresse ein, die als Verwaltungs-IP für Hawk verwendet werden soll.

    Sie können auch eine Verbindung mit der virtuellen IP-Adresse herstellen, statt sich an einem einzelnen Clusterknoten bei Hawk anzumelden.

  6. Wählen Sie aus, ob QDevice und QNetd konfiguriert werden soll:

    Lehnen Sie die in diesem Dokument beschriebene Minimaleinrichtung mit n ab.

Das Skript startet den Clusterdienst, um den Cluster online zu schalten und Hawk zu aktivieren. Die URL, die für Hawk verwendet werden muss, wird auf dem Bildschirm angezeigt. Sie können den Status des Clusters auch mit dem Befehl crm status überprüfen.

Wichtig
Wichtig: Sicheres Passwort für hacluster

Das crm cluster init-Skript erstellt einen Standard-Clusterbenutzer und ein Standardpasswort. Ersetzen Sie das Standardpasswort möglichst schnell durch ein sicheres Passwort:

> sudo passwd hacluster

6 Hinzufügen des zweiten und dritten Knotens

Fügen Sie dem Cluster mit dem crm cluster join-Skript weitere Knoten hinzu. Das Skript benötigt lediglich Zugriff auf einen vorhandenen Clusterknoten. Es führt die grundlegende Einrichtung auf dem aktuellen Rechner automatisch durch. Führen Sie für weitere Informationen den Befehl crm cluster join --help aus.

Anforderungen
  • SUSE Linux Enterprise High Availability ist installiert und auf dem aktuellen Stand.

  • Ein bestehender Cluster wird bereits auf mindestens einem Knoten ausgeführt.

  • Alle Knoten verfügen über mindestens zwei Netzwerkschnittstellen oder einen Netzwerk-Bond mit statischen IP-Adressen, die in der Datei /etc/hosts zusammen mit dem FQDN und dem kurzen Hostnamen des jeweiligen Knotens aufgeführt sind.

  • Wenn Sie sich als sudo-Benutzer anmelden: Auf allen Knoten muss derselbe Benutzer vorhanden sein. Dieser Benutzer muss über das sudo-Recht ohne Passwort verfügen.

  • Wenn Sie sich als root-Benutzer anmelden: Die SSH-Authentifizierung ohne Passwort muss auf allen Knoten konfiguriert werden.

Führen Sie dieses Verfahren für jeden weiteren Knoten aus:

  1. Melden Sie sich bei diesem Knoten als derselbe Benutzer an, mit dem Sie den ersten Knoten eingerichtet haben.

  2. Starten Sie das crm cluster join-Skript:

    • Wenn Sie den ersten Knoten als root-Benutzer einrichten, können Sie das Skript ohne zusätzliche Parameter starten:

      # crm cluster join
    • Wenn Sie den ersten Knoten als sudo-Benutzer einrichten, geben Sie für diesen Benutzer die Option -c an:

      > sudo crm cluster join -c USER@NODE1

    Das Skript prüft, ob chrony ausgeführt wird, öffnet die erforderlichen Firewall-Ports und konfiguriert Csync2.

  3. Wenn Sie für den ersten Knoten noch nicht die Option -c angegeben haben, werden Sie zur Eingabe der IP-Adresse oder des Hostnamens aufgefordert.

  4. Wenn Sie die SSH-Authentifizierung ohne Passwort zwischen den Knoten nicht bereits konfiguriert haben, werden Sie aufgefordert, die Passwörter für jeden der vorhandenen Knoten einzugeben.

  5. Konfigurieren Sie Corosync für die Clusterkommunikation:

    1. Das Skript schlägt eine IP-Adresse für ring0 vor. Diese IP-Adresse muss sich in demselben Teilnetz befinden wie die IP-Adresse, die für ring0 auf dem ersten Knoten verwendet wird. Ist dies nicht der Fall, geben Sie die richtige IP-Adresse ein.

    2. Wenn für den Cluster zwei Corosync-Kommunikationskanäle konfiguriert wurden, fordert das Skript Sie zur Eingabe einer IP-Adresse für ring1 auf. Diese IP-Adresse muss sich in demselben Teilnetz befinden wie die IP-Adresse, die für ring1 auf dem ersten Knoten verwendet wird.

Das Skript kopiert die Clusterkonfiguration des ersten Knotens, passt die Zeitüberschreitungseinstellungen an, damit der neue Knoten berücksichtigt wird, und schaltet den neuen Knoten online.

Sie können den Status des Clusters mit dem Befehl crm status überprüfen.

Wichtig
Wichtig: Sicheres Passwort für hacluster

Das crm cluster join-Skript erstellt einen Standard-Clusterbenutzer und ein Standardpasswort. Ersetzen Sie das Standardpasswort auf jedem Knoten möglichst schnell durch ein sicheres Passwort:

> sudo passwd hacluster

7 Anmelden bei Hawk

Mit Hawk können Sie einen High Availability-Cluster über einen grafischen Webbrowser überwachen und verwalten. Sie können auch eine virtuelle IP-Adresse konfigurieren, über die Clients eine Verbindung mit Hawk herstellen können, und zwar unabhängig davon, auf welchem Knoten es ausgeführt wird.

Anforderungen
  • Der Client-Rechner muss eine Verbindung mit den Clusterknoten herstellen können.

  • Der Client-Rechner muss über einen grafischen Webbrowser mit aktiviertem JavaScript und aktivierten Cookies verfügen.

Sie können dieses Verfahren auf jedem Rechner ausführen, der eine Verbindung mit den Clusterknoten herstellen kann:

  1. Starten Sie einen Webbrowser und geben Sie folgende URL ein:

    https://HAWKSERVER:7630/

    Ersetzen Sie HAWKSERVER durch die IP-Adresse oder den Hostnamen eines Clusterknotens oder die virtuelle Hawk-IP-Adresse, wenn eine solche konfiguriert wurde.

    Anmerkung
    Anmerkung: Warnmeldung bezüglich des Zertifikats

    Wenn bei Ihrem ersten Zugriff auf die URL eine Warnmeldung hinsichtlich des Zertifikats angezeigt wird, wird ein eigensigniertes Zertifikat verwendet. Bitten Sie den Clusteroperator um die Details des Zertifikats, damit Sie es überprüfen können. Falls Sie dennoch fortfahren möchten, können Sie im Browser eine Ausnahme hinzufügen und die Warnmeldung auf diese Weise umgehen.

  2. Geben Sie auf dem Hawk-Anmeldebildschirm den Benutzernamen und das Passwort des hacluster-Benutzers ein.

  3. Klicken Sie auf Anmelden. Die Hawk-Weboberfläche zeigt standardmäßig den Bildschirm Status an:

Der Bildschirm „Status“ zeigt eine konfigurierte Ressource an: die virtuelle IP-Adresse admin-ip, die auf einem Knoten mit dem Namen alice ausgeführt wird.
Abbildung 1: Der Hawk-Bildschirm „Status“

8 Testen des Clusters

Mit den folgenden Tests können Sie grundlegende Probleme bei der Einrichtung des Clusters feststellen. Realistische Tests beinhaltet jedoch spezifische Anwendungsfälle und Szenarien. Bevor Sie den Cluster in einer Produktionsumgebung einsetzen, müssen Sie ihn anhand Ihrer Anwendungsfälle gründlich testen.

8.1 Testen des Ressourcen-Failovers

Überprüfen Sie, ob der Cluster Ressourcen auf einen anderen Knoten verschiebt, wenn der aktuelle Knoten auf standby festgelegt ist. Dieses Verfahren verwendet Beispielknoten mit den Namen alice und bob sowie eine virtuelle IP-Ressource mit dem Namen admin-ip und der Beispiel-IP-Adresse 192.168.1.10.

  1. Öffnen Sie zwei Terminals.

  2. Pingen Sie auf dem ersten Terminal die virtuelle IP-Adresse an:

    > ping 192.168.1.10
  3. Melden Sie sich auf dem zweiten Terminal bei einem der Clusterknoten an.

  4. Überprüfen Sie, auf welchem Knoten die virtuelle IP-Adresse ausgeführt wird:

    > sudo crm status
    [..]
    Node List:
      * Online: [ alice bob ]
    
    Full List of Resources:
      * admin-ip  (ocf:heartbeat:IPaddr2):    Started alice
  5. Versetzen Sie alice in den Standby-Modus:

    > sudo crm node standby alice
  6. Überprüfen Sie den Clusterstatus erneut. Die Ressource admin-ip sollte zu bob migriert sein:

    > sudo crm status
    [...]
    Node List:
      * Node alice: standby
      * Online: [ bob ]
    
    Full List of Resources:
      * admin-ip  (ocf:heartbeat:IPaddr2):    Started bob
  7. Auf dem ersten Terminal sollte während der Migration ein ununterbrochener Fluss an Ping-Signalen an die virtuelle IP-Adresse zu beobachten sein. Dies zeigt, dass die Clustereinrichtung und die Floating-IP-Adresse ordnungsgemäß funktionieren.

  8. Brechen Sie den Befehl ping mit StrgC ab.

  9. Schalten Sie auf dem zweiten Terminal alice wieder online:

    > sudo crm node online alice

8.2 Testen von Clusterausfällen

Der Befehl crm cluster crash_test simuliert Clusterausfälle und meldet die Ergebnisse.

Das Kommando unterstützt folgende Prüfungen:

--split-brain-iptables

Simuliert ein Split Brain-Szenario, indem es den Corosync-Port blockiert, und überprüft, ob ein Knoten wie erwartet umgrenzt werden kann. Sie müssen iptables installieren, bevor Sie diesen Test ausführen können.

--kill-sbd/--kill-corosync/ --kill-pacemakerd

Beendet die Daemons für SBD, Corosync oder Pacemaker. Nachdem Sie einen dieser Tests ausgeführt haben, finden Sie einen Bericht im Verzeichnis /var/lib/crmsh/crash_test/. Der Bericht enthält eine Testfallbeschreibung, eine Vorgangsprotokollierung und eine Erläuterung möglicher Ergebnisse.

--fence-node NODE

Umgrenzt einen spezifischen Knoten, der von der Kommandozeile aus weitergeleitet wurde.

Führen Sie für weitere Informationen den Befehl crm cluster crash_test --help aus.

Im folgenden Beispiel werden Knoten mit den Namen alice und bob verwendet und das Fencing von bob wird getestet. Um den Änderungsstatus für bob während des Tests zu beobachten, können Sie sich bei Hawk anmelden und zu Status › Knoten navigieren.

Beispiel 1: Testen des Clusters: Knoten-Fencing
> sudo crm status
[...]
Node List:
  * Online: [ alice bob ]

Active Resources:
  * admin-ip     (ocf:heartbeat:IPaddr2):    Started alice

> sudo crm cluster crash_test --fence-node bob

==============================================
Testcase:          Fence node bob
Fence action:      reboot
Fence timeout:     95

!!! WARNING WARNING WARNING !!!
THIS CASE MAY LEAD TO NODE BE FENCED.
TYPE Yes TO CONTINUE, OTHER INPUTS WILL CANCEL THIS CASE [Yes/No](No): Yes
INFO: Trying to fence node "bob"
INFO: Waiting 71s for node "bob" reboot...
INFO: Node "bob" will be fenced by "alice"!
INFO: Node "bob" was successfully fenced by "alice"

9 Nächste Schritte

Dieses Handbuch beschreibt einen einfachen High Availability-Cluster, der zu Testzwecken verwendet werden kann. Um diesen Cluster für die Verwendung in Produktionsumgebungen zu erweitern, werden weitere Schritte empfohlen:

Hinzufügen weiterer Knoten

Fügen Sie dem Cluster mit dem crm cluster join-Skript weitere Knoten hinzu.

Aktivieren eines Hardware-Watchdog

Ersetzen Sie softdog durch einen Hardware-Watchdog, bevor Sie den Cluster in einer Produktionsumgebung verwenden.

Hinzufügen weiterer STONITH-Geräte

Für kritische Workloads werden dringend zwei oder drei STONITH-Geräte empfohlen, wobei entweder physische STONITH-Geräte oder festplattenbasiertes SBD verwendet werden.

Konfigurieren von QDevice

QDevice und QNetd sind an Quorum-Entscheidungen beteiligt. Mithilfe des Vermittlers QNetd bietet QDevice eine konfigurierbare Anzahl an Stimmen. Dadurch können Cluster mehr Knotenausfälle verkraften, als es die Standard-Quorum-Regeln zulassen. Wir empfehlen die Bereitstellung von QDevice und QNetd in Clustern mit einer geraden Anzahl von Knoten und insbesondere in Clustern mit zwei Knoten.