Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
documentation.suse.com / SUSE Linux Enterprise High Availability Extension – Dokumentation / Quick Start Guides / Kurzanleitung zu Installation und Einrichtung
SUSE Linux Enterprise High Availability Extension 15 SP3

Kurzanleitung zu Installation und Einrichtung

SUSE Linux Enterprise High Availability Extension 15 SP3

Veröffentlicht: September 29, 2024

Dieses Dokument führt Sie durch die Einrichtung eines sehr einfachen Clusters mit zwei Knoten. Dabei werden Bootstrap-Skripte verwendet, die im Paket ha-cluster-bootstrap bereitgestellt werden. Bei diesem Vorgang müssen Sie unter anderem eine virtuelle IP-Adresse als Cluster-Ressource konfigurieren und SBD im gemeinsam genutzten Speicher als Knoten-Fencing-Mechanismus (Abriegelung) verwenden.

Autoren: Tanja Roth und Thomas Schraitle

1 Einsatzszenario

Mit den in diesem Dokument beschriebenen Verfahren erhalten Sie eine Minimaleinrichtung eines Clusters mit zwei Knoten, die folgende Eigenschaften aufweist:

  • Zwei Knoten: alice (IP: 192.168.1.1) und bob (IP: 192.168.1.2), die über das Netzwerk miteinander verbunden sind

  • Die virtuelle IP-Adresse (192.168.2.1) nach dem Floating-IP-Prinzip, über die Clients eine Verbindung mit dem Service herstellen können, und zwar unabhängig davon, auf welchem physischen Knoten er ausgeführt wird

  • Ein gemeinsam genutztes Speichergerät für den Einsatz als SBD-Fencing-Mechanismus Dadurch lassen sich Szenarien mit Systemspaltungen vermeiden.

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

Nach dem Setup des Clusters mit den Bootstrap-Skripten überwachen wir den Cluster mit dem grafischen Hawk2. Dabei handelt es sich um eines der Tools zur Clusterverwaltung, die in der SUSE® Linux Enterprise High Availability Extension enthalten sind. Die ordnungsgemäße Funktionsweise des Ressourcen-Failovers lässt sich ganz einfach testen, indem einer der Knoten in den Standby-Modus versetzt und geprüft wird, ob die virtuelle IP-Adresse zum zweiten Knoten migriert wird.

Sie können den aus zwei Knoten bestehenden Cluster zu Testzwecken oder als anfängliche Cluster-Minimalkonfiguration verwenden, die später erweitert werden kann. Bevor Sie den Cluster in einer Produktionsumgebung einsetzen, müssen Sie ihn Ihren Anforderungen entsprechend ändern.

2 Systemanforderungen

In diesem Abschnitt erhalten Sie Informationen über die wichtigsten Systemanforderungen für das in Abschnitt 1 beschriebene Szenario. Zur Anpassung des Clusters für die Verwendung in einer Produktionsumgebung beachten Sie die vollständige Liste im Chapter 2, System requirements and recommendations.

2.1 Hardware

Server

Zwei Server mit der Software, die in Abschnitt 2.2, „Software-Anforderungen“ angegeben ist.

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.

Kommunikationskanäle

Mindestens zwei TCP/IP-Kommunikationsmedien pro Cluster-Knoten. Die Netzwerkausstattung muss die Kommunikationswege unterstützen, die Sie für die Cluster-Kommunikation verwenden möchten: Multicast oder Unicast. Die Kommunikationsmedien sollten eine Datenübertragungsrate von mindestens 100 MBit/s unterstützen. Für eine unterstützte Cluster-Einrichtung sind mindestens zwei redundante Kommunikationspfade erforderlich. Dies lässt sich durch folgende Methoden erreichen:

  • Netzwerkgerätekopplung (bevorzugt)

  • Über einen zweiten Kommunikationskanal in Corosync

Knoten-Fencing/STONITH

Um das Szenario einer Systemspaltung zu verhindern, benötigen Cluster einen Fencing-Mechanismus für Knoten. Wenn eine Systemspaltung vorliegt, werden Cluster-Knoten in zwei oder mehr Gruppen geteilt, die (aufgrund eines Hardware- bzw. Softwarefehlers oder einer unterbrochenen Netzwerkverbindung) keine Kenntnis voneinander haben. Ein Fencing-Mechanismus isoliert den fraglichen Knoten (in der Regel durch das Zurücksetzen oder Ausschalten des Knotens). Dies wird auch als STONITH (Shoot the other node in the head, Englisch für „Schieß dem anderen Knoten in den Kopf“) bezeichnet. Als Fencing-Mechanismus für Knoten kann entweder ein physisches Gerät (ein Netzschalter) oder ein Mechanismus wie SBD (STONITH nach Festplatte) in Kombination mit einem Watchdog verwendet werden. Für SBD ist ein gemeinsam genutzter Speicher erforderlich.

2.2 Software-Anforderungen

Alle Knoten, die Teil des Clusters sind, müssen mindestens über folgende Module und Erweiterungen verfügen:

  • Basesystem Module 15 SP3

  • Server Applications Module 15 SP3

  • SUSE Linux Enterprise High Availability Extension 15 SP3

2.3 Sonstige Anforderungen und Empfehlungen

Zeitsynchronisierung

Cluster-Knoten müssen mit einem NTP-Server außerhalb des Clusters synchronisiert werden. Ab SUSE Linux Enterprise High Availability Extension 15 ist chrony Standardimplementation von NTP. Sie finden weitere Informationen hierzu im Administrationshandbuch für SUSE Linux Enterprise Server 15 SP3.

Wenn die Knoten nicht synchronisiert werden, funktioniert der Cluster möglicherweise nicht ordnungsgemäß. Darüber hinaus wird die Analyse von Protokolldateien und Cluster-Berichten erheblich erschwert, wenn keine Synchronisierung erfolgt. Wenn Sie die Bootstrap-Skripte verwenden, werden Sie gewarnt, falls NTP noch nicht konfiguriert wurde.

Hostname und IP-Adresse
  • Verwenden Sie statische IP-Adressen.

  • Listen Sie alle Cluster-Knoten in der Datei /etc/hosts mit ihrem vollständig qualifizierten Hostnamen und der Kurzform des Hostnamens auf. Es ist sehr wichtig, dass sich die Cluster-Mitglieder untereinander anhand der Namen finden können. Wenn die Namen nicht verfügbar sind, tritt ein Fehler bei der internen Cluster-Kommunikation auf.

SSH

Alle Cluster-Knoten müssen in der Lage sein, über SSH aufeinander zuzugreifen. Werkzeuge wie crm report (zur Fehlerbehebung) und History Explorer von Hawk2 erfordern einen passwortfreien SSH-Zugriff zwischen den Knoten, da sie andernfalls nur Daten vom aktuellen Knoten erfassen können.

Wenn Sie die Bootstrap-Skripte für die Einrichtung des Clusters verwenden, werden die SSH-Schlüssel automatisch erstellt und kopiert.

3 Überblick über die Bootstrap-Skripte

Alle Kommandos aus dem Paket ha-cluster-bootstrap führen Bootstrap-Skripte aus, für die nur wenig Zeit und kaum manuelle Eingriffe benötigt werden.

  • Mit ha-cluster-init können die grundlegenden Parameter definiert werden, die für eine Cluster-Kommunikation erforderlich sind. Sie erhalten dadurch einen aktiven Cluster mit einem Knoten.

  • Mit ha-cluster-join können Sie Ihrem Cluster weitere Knoten hinzufügen.

  • Mit ha-cluster-remove können Sie Knoten aus Ihrem Cluster entfernen.

Alle Bootstrap-Skripte protokollieren die zugehörigen Daten in der Datei /var/log/ha-cluster-bootstrap.log. In dieser Datei finden Sie alle Details des Bootstrap-Prozesses. Sämtliche Optionen, die während des Bootstrap-Prozesses festgelegt wurden, können später mit dem YaST-Cluster-Modul geändert werden. Weitere Informationen finden Sie im Chapter 4, Using the YaST cluster module.

Jedem Skript ist eine man-Seite zugeordnet, auf der Sie die verschiedenen Funktionen, die Optionen des Skripts und einen Überblick über die Dateien finden, die vom Skript erstellt und geändert werden können.

Das Bootstrap-Skript ha-cluster-init prüft und konfiguriert die folgenden Komponenten:

NTP

Wenn NTP nicht für das Starten zur Boot-Zeit konfiguriert wurde, wird eine Nachricht angezeigt. Ab SUSE Linux Enterprise High Availability Extension 15 ist chrony Standardimplementation von NTP.

SSH

Es erstellt SSH-Schlüssel für die passwortfreie Anmeldung zwischen Cluster-Knoten.

Csync2

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

Corosync

Es konfiguriert das Cluster-Kommunikationssystem.

SBD/Watchdog

Es prüft, ob ein Watchdog vorhanden ist, und fragt Sie, ob SBD als Fencing-Mechanismus für Knoten konfiguriert werden soll.

Virtual Floating IP

Sie werden gefragt, ob eine virtuelle IP-Adresse für die Cluster-Verwaltung mit Hawk2 konfiguriert werden soll.

Firewall

Es öffnet die Ports in der Firewall, die für die Cluster-Kommunikation benötigt werden.

Clustername

Es definiert einen Namen für den Cluster. Standardmäßig lautet dieser hacluster. Dies ist optional und für die meisten GeoCluster sinnvoll. In der Regel gibt der Cluster-Name den Standort an, was das Auffinden einer Site in einem GeoCluster erleichtert.

QDevice/QNetd

Diese Einrichtung wird hier nicht behandelt. Wenn Sie einen QNetd-Server verwenden möchten, können Sie ihn mit dem Bootstrap-Skript einrichten, wie in Chapter 14, QDevice and QNetd beschrieben.

4 Installieren der SUSE Linux Enterprise High Availability Extension

Die Pakete zum Konfigurieren und Verwalten eines Clusters mit der High Availability Extension sind im Hochverfügbarkeitsinstallationsschema (mit dem Namen sles_ha in der Befehlszeile) enthalten. Damit dieses Schema verfügbar ist, müssen Sie SUSE Linux Enterprise High Availability Extension als Erweiterung von SUSE Linux Enterprise Server installieren.

Informationen zur Installation von Erweiterungen finden Sie im Bereitstellungshandbuchfür SUSE Linux Enterprise Server 15 SP3.

Vorgehen 1: Installieren des Hochverfügbarkeits schemas

Falls das Schema noch nicht installiert wurde, gehen Sie wie folgt vor:

  1. Installieren Sie es über die Befehlszeile mit Zypper:

    root # zypper install -t pattern ha_sles
  2. Installieren Sie das Schema „High Availability“ auf allen Rechnern, die Teil Ihres Clusters sein sollen.

    Anmerkung
    Anmerkung: Installation der Softwarepakete bei allen Parteien

    Für eine automatisierte Installation von SUSE Linux Enterprise Server 15 SP3 und SUSE Linux Enterprise High Availability Extension 15 SP3 müssen Sie zum Klonen von bestehenden Knoten AutoYaST verwenden. Weitere Informationen finden Sie im Section 3.2, “Mass installation and deployment with AutoYaST”.

  3. Registrieren Sie die Rechner beim SUSE Customer Center. Weitere Informationen finden Sie im Upgrade-Handbuch für SUSE Linux Enterprise Server 15 SP3.

5 Verwendung von SBD als Fencing-Mechanismus

Wenn Sie über gemeinsam genutzten Speicher wie ein SAN (Storage Area Network) verfügen, können Sie diesen verwenden, um Szenarien mit Systemspaltungen zu vermeiden. Konfigurieren Sie dazu SBD als Knoten-Fencing-Mechanismus. SBD verwendet eine Watchdog-Unterstützung und den STONITH-Ressourcenagenten external/sbd.

5.1 Anforderungen für SBD

Sie können während der Einrichtung des ersten Knotens mit ha-cluster-init entscheiden, ob Sie SBD verwenden möchten. Falls ja, müssen Sie den Pfad zum gemeinsam genutzten Speichergerät eingeben. ha-cluster-init erstellt standardmäßig automatisch eine kleine Partition auf dem Gerät, die für die Verwendung durch SBD vorgesehen ist.

Wenn Sie SBD verwenden möchten, müssen folgende Anforderungen erfüllt sein:

  • Der Pfad zum gemeinsam genutzten Speichergerät muss auf allen Knoten im Cluster persistent und konsistent sein. Verwenden Sie feste Gerätenamen wie /dev/disk/by-id/dm-uuid-part1-mpath-abcedf12345.

  • Das SBD-Gerät darf hostbasiertes RAID oder LVM2 nicht verwenden und sich nicht auf einer DRBD-Instanz* befinden.

Sie finden Details zur Einrichtung des gemeinsam genutzten Speichers im Storage Administration Guide (Administrationshandbuch zum Speicher) für SUSE Linux Enterprise Server 15 SP3.

5.2 Aktivieren des softdog-Watchdog für SBD

In SUSE Linux Enterprise Server ist die Watchdog-Unterstützung im Kernel standardmäßig aktiviert: Die Auslieferung erfolgt mit mehreren Kernel-Modulen, die hardwarespezifische Watchdog-Treiber bereitstellen. In der High Availability Extension wird der SBD-Daemon als die Softwarekomponente verwendet, die Daten in den Watchdog einspeist.

Im folgenden Verfahren wird der softdog-Watchdog verwendet.

Wichtig
Wichtig: softdog-Einschränkungen

Der softdog-Treiber geht davon aus, dass noch mindestens eine CPU ausgeführt wird. Wenn alle CPUs ausgefallen sind, kann der im softdog-Treiber enthaltene Code, der das System neu starten soll, nicht ausgeführt werden. Ein Hardware-Watchdog arbeitet hingegen auch dann, wenn alle CPUs ausgefallen sind.

Bevor Sie den Cluster in einer Produktionsumgebung verwenden, wird dringend empfohlen, das softdog-Modul durch das am besten zu Ihrer Hardware passende Hardwaremodul zu ersetzen.

Falls für Ihre Hardware jedoch kein passender Watchdog verfügbar ist, kann das softdog-Modul als Kernel-Watchdog-Modul verwendet werden.

  1. Erstellen Sie mithilfe der Beschreibung im Abschnitt 5.1, „Anforderungen für SBD“, einen persistenten, gemeinsam genutzten Speicher.

  2. Aktivieren Sie den softdog-Watchdog:

    root # echo softdog > /etc/modules-load.d/watchdog.conf
    root # systemctl restart systemd-modules-load
  3. Testen Sie, ob das softdog-Modul richtig geladen wurde:

    root # lsmod | grep dog
    softdog                16384  1

Wir empfehlen dringend, den SBD-Fencing-Mechanismus auf ordnungsgemäße Funktion zu prüfen, um ein Szenario einer Spaltung zu vermeiden. Ein derartiger Test kann durch die Blockierung der Corosync-Cluster-Kommunikation durchgeführt werden.

6 Einrichtung des ersten Knotens

Richten Sie den ersten Knoten mit dem Skript ha-cluster-init ein. Dies dauert nicht lange und erfordert nur wenige manuelle Eingriffe.

Vorgehen 2: Ersten Knoten (alice) mit ha-cluster-init einrichten
  1. Melden Sie sich als root an dem physischen oder virtuellen Rechner an, der als Cluster-Knoten verwendet werden soll.

  2. Starten Sie das Bootstrap-Skript, indem Sie Folgendes ausführen:

    root # ha-cluster-init --name CLUSTERNAME

    Ersetzen Sie den Platzhalter CLUSTERNAME durch einen aussagekräftigen Namen, wie den geografischen Standort Ihres Clusters (z. B. amsterdam). Dies ist besonders hilfreich, wenn daraus später ein GeoCluster erstellt werden soll, da eine Site so leicht identifizierbar ist.

    Falls Sie für Ihre Cluster-Kommunikation anstelle von Multicast (Standard) Unicast benötigen, verwenden Sie hierzu die Option -u. Nach der Installation finden Sie in der Datei /etc/corosync/corosync.conf den Wert udpu. Wenn ha-cluster-init einen Knoten erkennt, der in Amazon Web Services (AWS) ausgeführt wird, verwendet das Skript automatisch Unicast als Standard für die Cluster-Kommunikation.

    Das Skript führt eine Prüfung im Hinblick auf die NTP-Konfiguration und einen Hardware-Watchdog-Service durch. Es generiert die öffentlichen und privaten SSH-Schlüssel, die für den SSH-Zugriff und die Csync2-Synchronisierung verwendet werden, und startet die entsprechenden Services.

  3. Konfigurieren Sie die Cluster-Kommunikationsschicht (Corosync):

    1. Geben Sie eine Netzwerkadresse ein, an die eine Bindung erfolgen soll. Das Skript schlägt standardmäßig die Netzwerkadresse eth0 vor. Alternativ dazu können Sie auch eine andere Netzwerkadresse wie beispielsweise die Adresse bond0 eingeben.

    2. Geben Sie eine Multicast-Adresse ein. Das Skript schlägt eine Zufallsadresse vor, die Sie als Standard verwenden können. Voraussetzung ist natürlich, dass diese Multicast-Adresse von Ihrem jeweiligen Netzwerk unterstützt wird.

    3. Geben Sie einen Multicast-Port ein. Das Skript schlägt 5405 als Standard vor.

  4. Richten Sie SBD als Fencing-Mechanismus für Knoten ein:

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

    2. Geben Sie einen persistenten Pfad zu der Partition Ihres Blockgeräts ein, die Sie für SBD verwenden möchten. Weitere Informationen hierzu finden Sie in Abschnitt 5, „Verwendung von SBD als Fencing-Mechanismus“. Der Pfad muss bei allen Knoten im Cluster konsistent sein.

  5. Konfigurieren Sie eine virtuelle IP-Adresse für die Cluster-Verwaltung mit Hawk2. (Mit dieser virtuellen IP-Ressource werden wir später testen, ob der Failover erfolgreich ist.)

    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 Sie als Verwaltungs-IP für Hawk2 verwenden möchten: 192.168.2.1

      Sie können auch eine Verbindung mit der virtuellen IP-Adresse herstellen, statt sich an einem einzelnen Cluster-Knoten mit Hawk2 anzumelden.

Schließlich startet das Skript den Pacemaker-Service, um den Cluster online zu schalten und Hawk2 zu aktivieren. Die URL, die für Hawk2 verwendet werden muss, wird auf dem Bildschirm angezeigt.

Sie verfügen jetzt über einen aktiven Cluster mit einem Knoten. Gehen Sie wie folgt vor, um seinen Status anzuzeigen:

Vorgehen 3: Anmelden an der Hawk2-Weboberfläche
  1. Starten Sie auf einem beliebigen Rechner einen Webbrowser und aktivieren Sie JavaScript und Cookies.

  2. Geben Sie als URL die IP-Adresse oder den Hostnamen eines Cluster-Knotens ein, auf dem der Hawk-Web-Service ausgeführt wird. Sie können alternativ auch die virtuelle IP-Adresse eingeben, die Sie in Schritt 5 unter Prozedur 2, „Ersten Knoten (alice) mit ha-cluster-init einrichten“ konfiguriert haben:

    https://HAWKSERVER:7630/
    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. Eigensignierte Zertifikate gelten standardmäßig nicht als vertrauenswürdig.

    Bitten Sie den Cluster-Operator 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.

  3. Geben Sie im Anmeldebildschirm von Hawk2 in Benutzername und Passwort die Daten des Benutzers ein, der während des Bootstrap-Verfahrens erstellt wurde (Benutzer hacluster, Passwort linux).

    Wichtig
    Wichtig: Sicheres Passwort

    Ersetzen Sie das Standardpasswort möglichst schnell durch ein sicheres Passwort:

    root # passwd hacluster
  4. Klicken Sie auf Anmelden. Nach der Anmeldung wird auf der Hawk2-Weboberfläche standardmäßig der Status-Bildschirm angezeigt. Dort sehen Sie den aktuellen Cluster-Status auf einen Blick:

    Status des aus einem Knoten bestehenden Clusters in Hawk2
    Abbildung 1: Status des aus einem Knoten bestehenden Clusters in Hawk2

7 Hinzufügen des zweiten Knotens

Sobald der Cluster mit einem Knoten betriebsbereit ist, können Sie mit dem Bootstrap-Skript ha-cluster-join wie in Prozedur 4 beschrieben den zweiten Knoten hinzufügen. Das Skript benötigt lediglich Zugriff auf einen vorhandenen Cluster-Knoten. Es führt die grundlegende Einrichtung auf dem aktuellen Rechner automatisch durch. Ausführliche Informationen hierzu finden Sie auf der man-Seite ha-cluster-join.

Die Bootstrap-Skripte kümmern sich um die Änderung der für Cluster mit zwei Knoten spezifischen Konfiguration, wie SBD, Corosync.

Vorgehen 4: Zweiten Knoten (bob) mit ha-cluster-join hinzufügen
  1. Melden Sie sich als root an dem physischen oder virtuellen Rechner an, der dem Cluster beitreten soll.

  2. Starten Sie das Bootstrap-Skript, indem Sie Folgendes ausführen:

    root # ha-cluster-join

    Wenn NTP nicht für das Starten zur Boot-Zeit konfiguriert wurde, wird eine Nachricht angezeigt. Das Skript führt auch eine Prüfung auf ein Hardware-Watchdog-Gerät durch (was für eine mögliche SBD-Konfiguration entscheidend ist). Sie erhalten eine Warnmeldung, wenn keines vorhanden ist.

  3. Falls Sie den Vorgang dennoch fortsetzen, werden Sie zur Eingabe der IP-Adresse eines vorhandenen Knotens aufgefordert. Geben Sie die IP-Adresse des ersten Knotens ein (alice, 192.168.1.1).

  4. Falls Sie noch keinen passwortfreien SSH-Zugriff zwischen beiden Rechnern konfiguriert haben, werden Sie zur Eingabe des root-Passworts des bestehenden Knotens aufgefordert.

    Nach der Anmeldung an dem angegebenen Knoten kopiert das Skript die Corosync-Konfiguration. Anschließend konfiguriert es SSH, Csync2 und schaltet den aktuellen Rechner als neuen Cluster-Knoten online. Außerdem startet es den Service, der für Hawk2 erforderlich ist.

Prüfen Sie den Cluster-Status in Hawk2. Unter Status › Knoten sollten zwei Knoten mit einem grün dargestellten Status angezeigt werden (siehe Abbildung 2, „Status des aus zwei Knoten bestehenden Clusters“).

Status des aus zwei Knoten bestehenden Clusters
Abbildung 2: Status des aus zwei Knoten bestehenden Clusters

8 Testen des Clusters

Abschnitt 8.1, „Testen des Ressourcen-Failovers“ ist ein einfacher Test zur Prüfung, ob der Cluster die virtuelle IP-Adresse zu dem anderen Knoten verschiebt, wenn der Knoten, der die Ressource zurzeit ausführt, auf Standby gesetzt wird.

Ein aussagekräftiger Test umfasst jedoch gezielte Anwendungsfälle und Szenarien. Beispielsweise sollte auch Ihr Fencing-Mechanismus getestet werden, damit Situationen einer Systemspaltung vermieden werden. Falls Sie Ihren Fencing-Mechanismus nicht ordnungsgemäß eingerichtet haben, funktioniert der Cluster nicht richtig.

Bevor Sie den Cluster in einer Produktionsumgebung verwenden, müssen Sie ihn sorgfältig entsprechend Ihrer Anwendungsfälle testen. Sie können dazu auch das Skript ha-cluster-preflight-check verwenden.

8.1 Testen des Ressourcen-Failovers

Ein schneller Test ist das folgende Verfahren zur Prüfung auf Ressourcen-Failover:

Vorgehen 5: Testen des Ressourcen-Failovers
  1. Öffnen Sie ein Terminal und setzen Sie ein Ping-Signal für Ihre virtuelle IP-Adresse 192.168.2.1 ab:

    root # ping 192.168.2.1
  2. Melden Sie sich wie in Prozedur 3, „Anmelden an der Hawk2-Weboberfläche“ beschrieben an Ihrem Cluster an.

  3. Prüfen Sie in Hawk2 unter Status › Ressourcen, auf welchem Knoten die virtuelle IP-Adresse (Ressource admin_addr) ausgeführt wird. Im vorliegenden Fall wird vorausgesetzt, dass die Ressource auf alice ausgeführt wird.

  4. Versetzen Sie alice in den Standby-Modus (siehe Abbildung 3, „Knoten alice im Standby-Modus“).

    Knoten alice im Standby-Modus
    Abbildung 3: Knoten alice im Standby-Modus
  5. Klicken Sie auf Status › Ressourcen. Die Ressource admin_addr wurde zu bob migriert.

Während der Migration sollte ein ununterbrochener Fluss an Ping-Signalen an die virtuelle IP-Adresse zu beobachten sein. Dies zeigt, dass die Cluster-Einrichtung und die Floating-IP ordnungsgemäß funktionieren. Brechen Sie das ping-Kommando mit Strg C ab.

8.2 Testen mit dem Kommando „ha-cluster-preflight-check“

Das Kommando ha-cluster-preflight-check führt standardisierte Tests für einen Cluster aus. Es löst Cluster-Fehler aus und überprüft die Konfiguration auf Fehler. Es empfiehlt sich, dieses Kommando vor Verwendung des Clusters in der Produktion auszuführen, um sicherzustellen, dass alles wie erwartet funktioniert.

Das Kommando unterstützt folgende Prüfungen:

  • Umgebungsprüfung -e/--env-check Dieser Test prüft Folgendes:

    • Lassen sich Hostnamen auflösen?

    • Wurde der Zeitservice aktiviert und gestartet?

    • Wurde für den aktuellen Knoten ein Watchdog konfiguriert?

    • Wurde der firewalld-Service gestartet und sind auf Cluster bezogene Ports geöffnet?

  • Cluster-Statusprüfung -c/--cluster-check Prüft verschiedene Zustände und Services des Clusters. Dieser Test prüft Folgendes:

    • Sind Cluster-Services (Pacemaker/Corosync) aktiviert und aktiv?

    • Ist STONITH aktiviert? Es wird auch geprüft, ob auf STONITH bezogene Ressourcen konfiguriert und gestartet wurden. Wurde der SBD-Service gestartet, falls Sie SBD konfiguriert haben?

    • Hat der Cluster ein Quorum? Zeigt aktuelle DC-Knoten an sowie Knoten, die online, offline und nicht bereinigt sind.

    • Gibt es gestartete, gestoppte oder fehlerhafte Ressourcen?

  • Systemspaltungsprüfung --split-brain-iptables Simuliert ein Systemspaltungsszenario durch Blockieren des Corosync-Ports. Prüft, ob ein Knoten umgrenzt werden kann wie erwartet.

  • Deaktiviert die Daemons für SBD, Corosync und Pacemaker -kill-sbd/-kill-corosync/-kill-pacemakerd Nach einem derartigen Test finden Sie einen Bericht unter /var/lib/ha-cluster-preflight-check. Der Bericht umfasst eine Beschreibung des Testfalls und die Protokollierung der Aktion und erklärt mögliche Ergebnisse.

  • Prüfung auf Knotenumgrenzung --fence-nodeUmgrenzt den spezifischen Knoten, der von der Kommandozeile aus weitergeleitet wurde.

Führen Sie beispielsweise für einen Umgebungstest das folgende Kommando aus:

root # crm_mon -1
Stack: corosync
Current DC: alice (version ...) - partition with quorum
Last updated: Fri Mar 03 14:40:21 2020
Last change: Fri Mar 03 14:35:07 2020 by root via cibadmin on alice

2 nodes configured
1 resource configured

Online: [ alice bob ]
Active resources:

 stonith-sbd    (stonith:external/sbd): Started alice

root # ha-cluster-preflight-check -e
[2020/03/20 14:40:45]INFO: Checking hostname resolvable [Pass]
[2020/03/20 14:40:45]INFO: Checking time service [Fail]
 INFO: chronyd.service is available
 WARNING: chronyd.service is disabled
 WARNING: chronyd.service is not active
[2020/03/20 14:40:45]INFO: Checking watchdog [Pass]
[2020/03/20 14:40:45]INFO: Checking firewall [Fail]
 INFO: firewalld.service is available
 WARNING: firewalld.service is not active

Sie finden das Ergebnis unter /var/log/ha-cluster-preflight-check.log.

9 Weitere Informationen

Mehr Dokumentation zu diesem Produkt ist unter https://documentation.suse.com/sle-ha/ verfügbar. Weitere Konfigurations- und Verwaltungsaufgaben finden Sie im umfassenden Verwaltungshandbuch.

10 Rechtliche Hinweise

Copyright © 2006– 2024 SUSE LLC und Mitwirkende. Alle Rechte vorbehalten.

Es wird die Genehmigung erteilt, dieses Dokument unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder (optional) Version 1.3 zu vervielfältigen, zu verbreiten und/oder zu verändern; die unveränderlichen Abschnitte hierbei sind der Urheberrechtshinweis und die Lizenzbedingungen. Eine Kopie dieser Lizenz (Version 1.2) finden Sie im Abschnitt GNU Free Documentation License.

Die SUSE-Marken finden Sie unter http://www.suse.com/company/legal/. Alle anderen Marken von Drittanbietern sind Besitz ihrer jeweiligen Eigentümer. Markensymbole (®, ™ usw.) kennzeichnen Marken von SUSE und der Tochtergesellschaften. Sternchen (*) kennzeichnen Marken von Drittanbietern.

Alle Informationen in diesem Buch wurden mit größter Sorgfalt zusammengestellt. Doch auch dadurch kann hundertprozentige Richtigkeit nicht gewährleistet werden. Weder SUSE LLC noch ihre Tochtergesellschaften noch die Autoren noch die Übersetzer können für mögliche Fehler und deren Folgen haftbar gemacht werden.