Kurzanleitung zur Installation und Einrichtung #
Dieses Dokument führt Sie durch die Einrichtung eines sehr einfachen Clusters mit zwei Knoten. Dabei werden Bootstrap-Skripte verwendet, die von der crm-Shell 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.
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 in Abschnitt „GNU Free Documentation License“.
Die SUSE Marken finden Sie im https://www.suse.com/company/legal/. Die Rechte für alle Marken von Drittanbietern liegen bei den jeweiligen Eigentümern. Markensymbole (®, ™ usw.) kennzeichnen Marken von SUSE und seinen verbundenen Unternehmen. Sternchen (*) kennzeichnen Marken von Drittanbietern.
Alle Informationen in diesem Buch wurden mit größter Sorgfalt zusammengestellt. Auch hierdurch kann jedoch keine hundertprozentige Richtigkeit gewährleistet werden. Weder SUSE LLC, ihre Tochtergesellschaften, die Autoren noch die Übersetzer können für mögliche Fehler und deren Folgen haftbar gemacht werden.
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
) undbob
(IP:192.168.1.2
), die über das Netzwerk miteinander verbunden sind.Eine virtuelle IP-Adresse (
192.168.1.10
) 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. Diese IP-Adresse wird für die Verbindung mit dem grafischen Verwaltungswerkzeug Hawk2 verwendet.Ein gemeinsam genutztes Speichergerät für den Einsatz als SBD-Fencing-Mechanismus Dies vermeidet Systemspaltungsszenarien.
Failover der Ressourcen von einem Knoten zum anderen, wenn der aktive Host ausfällt (Aktiv/Passiv-Einrichtung)
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 (siehe Book “Administration Guide”).
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 Book “Administration Guide”, 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
Eine Fencing-Lösung für Knoten (STONITH), um Systemspaltungsszenarien zu vermeiden. Dazu kann entweder ein physisches Gerät (ein Netzschalter) oder ein Mechanismus wie SBD (STONITH nach Festplatte) in Kombination mit einem Watchdog verwendet werden. SBD kann entweder mit gemeinsam genutztem Speicher oder im festplattenlosen Modus verwendet werden. In diesem Dokument wird die Verwendung von SBD mit gemeinsam genutztem Speicher beschrieben. Die folgenden Voraussetzungen müssen erfüllt sein:
Ein gemeinsam genutztes Speichergerät muss vorhanden sein. Informationen zur Einrichtung von gemeinsam genutztem Speicher finden Sie unter Storage Administration Guide for SUSE Linux Enterprise Server. Wenn Sie nur grundlegenden gemeinsam genutzten Speicher für Testzwecke benötigen, lesen Sie Anhang A, Grundlegender iSCSI-Speicher für SBD.
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 kein hostbasiertes RAID, LVM oder DRBD* verwenden.
Weitere Informationen zu STONITH finden Sie im Book “Administration Guide”, Chapter 12 “Fencing and STONITH”. Weitere Informationen zu SBD finden Sie im Book “Administration Guide”, Chapter 13 “Storage protection and SBD”.
2.2 Software-Anforderungen #
Alle Knoten benötigen mindestens die folgenden Module und Erweiterungen:
Basesystem Module 15 SP6
Server Applications Module 15 SP6
SUSE Linux Enterprise High Availability 15 SP6
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 15 ist chrony Standardimplementation von NTP. Weitere Informationen finden Sie im Administration Guide for SUSE Linux Enterprise Server 15 SP6.
Der Cluster funktioniert möglicherweise nicht ordnungsgemäß, wenn die Knoten nicht synchronisiert sind oder wenn sie zwar synchronisiert sind, aber unterschiedliche Zeitzonen konfiguriert sind. 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.
Nur die primäre IP-Adresse wird unterstützt.
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 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 #
Mit den folgenden Befehlen können Bootstrap-Skripte ausgeführt werden, für die nur wenig Zeit und kaum manuelle Eingriffe benötigt werden.
Mit
crm 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
crm cluster join
können Sie Ihrem Cluster weitere Knoten hinzufügen.Mit
crm cluster remove
können Sie Knoten aus Ihrem Cluster entfernen.
Die von den Bootstrap-Skripten 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 die Bootstrap-Skripte geändert haben. Sämtliche Optionen, die während des Bootstrap-Prozesses festgelegt wurden, können später mit dem YaST-Cluster-Modul geändert werden. Ausführliche Informationen finden Sie unter Book “Administration Guide”, Chapter 4 “Using the YaST cluster module”.
Das Bootstrap-Skript crm cluster init
prüft und konfiguriert die folgenden Komponenten:
- NTP
Prüft, ob NTP zum Starten beim Booten konfiguriert ist. Wenn das nicht der Fall ist, wird eine Meldung angezeigt.
- SSH
Erstellt SSH-Schlüssel für die passwortfreie Anmeldung zwischen Cluster-Knoten.
- Csync2
Konfiguriert Csync2 für die Replikation der Konfigurationsdateien auf allen Knoten in einem Cluster.
- Corosync
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
Fragt Sie, ob eine virtuelle IP-Adresse für die Cluster-Verwaltung mit Hawk2 konfiguriert werden soll.
- Firewall
Öffnet die Ports in der Firewall, die für die Cluster-Kommunikation benötigt werden.
- Clustername
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 geografischen Standort an, was das Auffinden einer Site in einem GeoCluster erleichtert.- QDevice/QNetd
Fragt Sie, ob QDevice oder QNetd zur Teilnahme an Quorum-Entscheidungen konfiguriert werden sollen. Wir empfehlen die Verwendung von QDevice und QNetd für Cluster mit einer geraden Anzahl von Knoten und insbesondere für Cluster mit zwei Knoten.
Diese Konfiguration wird hier nicht behandelt, Sie können sie jedoch später wie im Book “Administration Guide”, Chapter 14 “QDevice and QNetd” beschrieben einrichten.
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
.
4 Installieren der Hochverfügbarkeitspakete #
Die Pakete zum Konfigurieren und Verwalten eines Clusters sind im High Availability
-Installationsschema enthalten. Dieses Schema ist nur verfügbar, wenn SUSE Linux Enterprise High Availability installiert ist.
Sie können sich beim SUSE Customer Center registrieren und SUSE Linux Enterprise High Availability während oder nach der Installation von SUSE Linux Enterprise Server installieren. Weitere Informationen finden Sie im Deployment Guide für SUSE Linux Enterprise Server.
Installieren Sie das Hochverfügbarkeitsschema über die Kommandozeile:
#
zypper install -t pattern ha_sles
Installieren Sie das Hochverfügbarkeitsschema auf allen Rechnern, die Teil Ihres Clusters sein sollen.
Anmerkung: Installation der Softwarepakete auf allen KnotenFür eine automatisierte Installation von SUSE Linux Enterprise Server 15 SP6 und SUSE Linux Enterprise High Availability 15 SP6 müssen Sie zum Klonen von bestehenden Knoten AutoYaST verwenden. Weitere Informationen finden Sie im Book “Administration Guide”, Chapter 3 “Installing SUSE Linux Enterprise High Availability”, Section 3.2 “Mass installation and deployment with AutoYaST”.
5 Verwenden von SBD als Fencing-Mechanismus für Knoten #
Bevor Sie SBD mit dem Bootstrap-Skript konfigurieren können, müssen Sie auf jedem Knoten einen Watchdog aktivieren. SUSE Linux Enterprise Server wird mit mehreren Kernelmodulen ausgeliefert, die hardwarespezifische Watchdog-Treiber bereitstellen. In SUSE Linux Enterprise High Availability wird der SBD-Daemon als die Softwarekomponente verwendet, die Daten in den Watchdog „einspeist“.
Im folgenden Verfahren wird der softdog
-Watchdog verwendet.
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.
Aktivieren Sie den softdog-Watchdog auf jedem Knoten:
#
echo softdog > /etc/modules-load.d/watchdog.conf
#
systemctl restart systemd-modules-load
Testen Sie, ob das softdog-Modul richtig geladen wurde:
#
lsmod | grep dog
softdog 16384 1
6 Einrichtung des ersten Knotens #
Richten Sie den ersten Knoten mit dem Skript crm cluster init
ein. Dies dauert nicht lange und erfordert nur wenige manuelle Eingriffe.
alice
) mit dem Skript crm cluster init
#Melden Sie sich beim ersten Cluster-Knoten als
root
-Benutzer oder als Benutzer mitsudo
-Rechten an.Wichtig: SSH-Schlüssel-ZugriffIm Cluster wird der passwortfreie SSH-Zugriff für die Kommunikation zwischen den Knoten verwendet. Das
crm cluster init
-Skript sucht nach SSH-Schlüsseln und generiert diese, falls sie noch nicht vorhanden sind.In den meisten Fällen müssen die
root
- odersudo
-SSH-Schlüssel des Benutzers auf dem Knoten vorhanden sein (oder generiert) werden.Alternativ können die
sudo
-SSH-Schlüssel eines Benutzers auf einem lokalen Computer vorhanden sein und über die SSH-Agent-Weiterleitung an den Knoten übergeben werden. Dies erfordert eine zusätzliche Konfiguration, die für dieses minimale Setup nicht beschrieben ist. Weitere Informationen finden Sie in Book “Administration Guide”, Chapter 5 “Configuration and administration basics”, Section 5.5.1 “Logging in”.Starten Sie das Bootstrap-Skript:
#
crm 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 Multicast anstelle von Unicast (Standard) benötigen, verwenden Sie hierzu die Option
--multicast
(oder-U
).Das Skript führt eine Prüfung im Hinblick auf die NTP-Konfiguration und einen Hardware-Watchdog-Service durch. Sofern erforderlich, generiert es die öffentlichen und privaten SSH-Schlüssel, die für den SSH-Zugriff und die Csync2-Synchronisierung verwendet werden, und startet die entsprechenden Services.
Konfigurieren Sie die Cluster-Kommunikationsschicht (Corosync):
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 Adressebond0
eingeben.Übernehmen Sie den vorgeschlagenen Port (
5405
) oder geben Sie einen anderen ein.
Richten Sie SBD als Fencing-Mechanismus für Knoten ein:
Bestätigen Sie mit
y
, dass Sie SBD verwenden möchten.Geben Sie einen persistenten Pfad zu der Partition Ihres Blockgeräts ein, die Sie für SBD verwenden möchten. Der Pfad muss bei allen Knoten im Cluster konsistent sein.
Das Skript erstellt eine kleine Partition auf dem Gerät, die für SBD verwendet wird.
Konfigurieren Sie eine virtuelle IP-Adresse für die Cluster-Verwaltung mit Hawk2:
Bestätigen Sie mit
y
, dass Sie eine virtuelle IP-Adresse konfigurieren möchten.Geben Sie eine nicht verwendete IP-Adresse ein, die Sie als Verwaltungs-IP für Hawk2 verwenden möchten:
192.168.1.10
Sie können auch eine Verbindung mit der virtuellen IP-Adresse herstellen, statt sich an einem einzelnen Cluster-Knoten mit Hawk2 anzumelden.
Wählen Sie aus, ob QDevice und QNetd konfiguriert werden soll. Für die in diesem Dokument beschriebene Minimaleinrichtung verzichten Sie zunächst darauf und geben
n
ein. Sie können QDevice und QNetd später einrichten, wie in Book “Administration Guide”, Chapter 14 “QDevice and QNetd” beschrieben.
Schließlich startet das Skript den Cluster-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:
Starten Sie auf einem beliebigen Rechner einen Webbrowser und aktivieren Sie JavaScript und Cookies.
Geben Sie als URL die virtuelle IP-Adresse ein, die Sie mit dem Bootstrap-Skript konfiguriert haben:
https://192.168.1.10:7630/
Anmerkung: Warnmeldung bezüglich des ZertifikatsWenn 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.
Geben Sie im Anmeldebildschirm von Hawk2 den
und das des Benutzers ein, der mit dem Bootstrap-Skript erstellt wurde (Benutzerhacluster
, Passwortlinux
).Wichtig: Sicheres PasswortErsetzen Sie das Standardpasswort möglichst schnell durch ein sicheres Passwort:
#
passwd hacluster
Klicken Sie auf
. Die Hawk2-Weboberfläche zeigt standardmäßig den Bildschirm „Status“ an:Abbildung 1: Status des aus einem Knoten bestehenden Clusters in Hawk2 #
7 Hinzufügen des zweiten Knotens #
Fügen Sie dem Cluster mit dem Bootstrap-Skript crm cluster join
einen zweiten Knoten hinzu. Das Skript benötigt lediglich Zugriff auf einen vorhandenen Cluster-Knoten. Es führt die grundlegende Einrichtung auf dem aktuellen Rechner automatisch durch.
Weitere Informationen finden Sie im Handbuch auf der Seite zum crm cluster join --help
-Befehl.
bob
) mit crm cluster join
#Melden Sie sich beim zweiten Cluster-Knoten als
root
-Benutzer oder als Benutzer mitsudo
-Rechten an.Starten Sie das Bootstrap-Skript:
Wenn Sie den ersten Knoten als
root
-Benutzer einrichten, können Sie diesen Befehl ohne zusätzliche Parameter ausführen:#
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@alice
Wenn NTP nicht für das Starten zur Boot-Zeit konfiguriert ist, wird eine Nachricht angezeigt. Das Skript sucht auch nach einem Hardware-Watchdog-Gerät. Sie erhalten eine Warnmeldung, wenn keines vorhanden ist.
Wenn Sie für
alice
noch nicht die Option-c
angegeben haben, werden Sie zur Eingabe der IP-Adresse des ersten Knotens aufgefordert.Falls Sie den passwortfreien SSH-Zugriff zwischen beiden Rechnern noch nicht konfiguriert haben, werden Sie zur Eingabe des Passworts für den ersten Knoten aufgefordert.
Nach der Anmeldung am angegebenen Knoten kopiert das Skript die Corosync-Konfiguration, konfiguriert SSH und Csync2, bringt den aktuellen Rechner als neuen Cluster-Knoten online und startet den für Hawk2 benötigten Dienst.
Prüfen Sie den Cluster-Status in Hawk2. Unter
› sollten zwei Knoten mit einem grün dargestellten Status angezeigt werden:8 Testen des Clusters #
Mit den folgenden Tests können Sie Probleme bei der Einrichtung des Clusters feststellen. Ein realistischer Test 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.
Mit dem Kommando
sbd -d DEVICE_NAME list
führen Sie alle Knoten auf, die für SBD sichtbar sind. Für das in diesem Dokument beschriebene Setup sollte die Ausgabe sowohlalice
als auchbob
anzeigen.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, falls der Knoten, der die Ressource zurzeit ausführt, auf
standby
gesetzt wird.Abschnitt 8.2, „Testen mit dem Kommando
crm cluster crash_test
“ simuliert Clusterausfälle und meldet die Ergebnisse.
8.1 Testen des Ressourcen-Failovers #
Ein schneller Test ist das folgende Verfahren zur Prüfung auf Ressourcen-Failover:
Öffnen Sie ein Terminal und setzen Sie ein Ping-Signal für
192.168.1.10
ab, Ihre virtuelle IP-Adresse:#
ping 192.168.1.10
Melden Sie sich bei Hawk2 an.
Prüfen Sie unter
› , auf welchem Knoten die virtuelle IP-Adresse (Ressourceadmin_addr
) ausgeführt wird. Bei diesem Verfahren wird davon ausgegangen, dass die Ressource aufalice
ausgeführt wird.Versetzen Sie
alice
in den -Modus:Abbildung 3: Knotenalice
im Standby-Modus #Klicken Sie auf
› . Die Ressourceadmin_addr
wurde zubob
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 crm cluster crash_test
#
Das Kommando crm cluster crash_test
löst Cluster-Ausfälle aus, um Probleme zu ermitteln. 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:
--split-brain-iptables
Simuliert ein Systemspaltungsszenario durch Blockieren des Corosync-Ports. Prüft, ob ein Knoten umgrenzt werden kann wie erwartet.
--kill-sbd
/--kill-corosync
/--kill-pacemakerd
Beendet die Daemons für SBD, Corosync und 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.
Weitere Informationen finden Sie im crm cluster crash_test --help
.
#
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#
crm cluster crash_test
--fence-node bob
============================================== Testcase: Fence node bob Fence action: reboot Fence timeout: 60 !!! 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 60s for node "bob" reboot... INFO: Node "bob" will be fenced by "alice"! INFO: Node "bob" was successfully fenced by "alice"
Um den Änderungsstatus für bob
während des Tests zu beobachten, melden Sie sich bei Hawk2 an und navigieren Sie zu › .
9 Nächste Schritte #
Die Bootstrap-Skripte ermöglichen das schnelle Einrichten eines grundlegenden Hochverfügbarkeits-Clusters, der zu Testzwecken verwendet werden kann. Um einen solchen Cluster jedoch in einen funktionierenden Hochverfügbarkeits-Cluster zu überführen, der in einer Produktionsumgebung eingesetzt werden kann, sind weitere Schritte erforderlich.
- Hinzufügen weiterer Knoten
Fügen Sie dem Cluster mit einer der folgenden Methoden weitere Knoten hinzu:
Für einzelne Knoten verwenden Sie das Skript
crm cluster join
, wie in Abschnitt 7, „Hinzufügen des zweiten Knotens“ beschrieben.Für die Masseninstallation von mehreren Knoten verwenden Sie AutoYaST, wie in Book “Administration Guide”, Chapter 3 “Installing SUSE Linux Enterprise High Availability”, Section 3.2 “Mass installation and deployment with AutoYaST” beschrieben.
Ein regulärer Cluster kann bis zu 32 Knoten enthalten. Mit dem Service
pacemaker_remote
können Hochverfügbarkeits-Cluster über diese Grenze hinaus um zusätzliche Knoten erweitert werden. Weitere Einzelheiten finden Sie unter Article “Pacemaker Remote Quick Start”.- Konfigurieren von QDevice
Wenn der Cluster über eine gerade Anzahl von Knoten verfügt, konfigurieren Sie QDevice und QNetd für die Teilnahme an Quorum-Entscheidungen. QDevice bietet eine konfigurierbare Anzahl von Votes, sodass ein Cluster mehr Knotenausfälle bewältigen kann, als die Standard-Quorum-Regeln erlauben. Weitere Informationen finden Sie im Book “Administration Guide”, Chapter 14 “QDevice and QNetd”.
- Aktivieren eines Hardware-Watchdog
Ersetzen Sie das
softdog
-Modul durch das am besten zu Ihrer Hardware passende Hardwaremodul, bevor Sie den Cluster in einer Produktionsumgebung verwenden. Weitere Informationen finden Sie im Book “Administration Guide”, Chapter 13 “Storage protection and SBD”, Section 13.6 “Setting up the watchdog”.
10 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 Administration Guide.
A Grundlegender iSCSI-Speicher für SBD #
Mit den folgenden Verfahren konfigurieren Sie einen grundlegenden iSCSI-Speicher zur Verwendung mit SBD. Es wird empfohlen, diese Verfahren nur für Testzwecke zu verwenden. Bevor Sie iSCSI in einer Produktionsumgebung einsetzen, lesen Sie Storage Administration Guide for SUSE Linux Enterprise Server.
Ein virtueller SUSE Linux Enterprise Server-Rechner, der als iSCSI-Ziel fungiert. Dieser virtuelle Rechner ist nicht Teil des Clusters.
Zwei virtuelle Speichergeräte auf der VM: ein 20-GB-Gerät für das System und ein 1-GB-Gerät für SBD.
Zwei SUSE Linux Enterprise Server-Knoten, die noch nicht zu einem Hochverfügbarkeits-Cluster hinzugefügt wurden.
Richten Sie zunächst ein iSCSI-Ziel auf dem virtuellen Rechner ein:
Installieren Sie das Paket yast2-iscsi-lio-server:
#
zypper install yast2-iscsi-lio-server
Starten Sie das Modul
iscsi-lio-server
in YaST:#
yast2 iscsi-lio-server
Wählen Sie auf der Registerkarte
unter die Option .Aktivieren Sie
.Aktivieren Sie auf der Registerkarte
die Option .Geben Sie unter
einen und ein einGeben Sie unter
einen und ein ein. Dieses Passwort muss sich von dem für angegebenen Passwort unterscheiden.Wählen Sie auf der Registerkarte
die Option .Ändern Sie den Namen für das
, indem Sie.com.example
ersetzen.Fügen Sie die
des Servers hinzu.Wählen Sie
.Geben Sie im Fenster
den zum Speichermedium mit 1 GB Speicherplatz ein (beispielsweise/dev/vbd
).Klicken Sie auf
.Wählen Sie
.Wählen Sie
, um YaST zu schließen.Wechseln Sie zur Kommandozeilenschnittstelle des Ziels, um die Einrichtung des Ziels zu überprüfen:
#
targetcli
Zeigen Sie die Konfiguration an:
/>
ls
Richten Sie als Nächstes die iSCSI-Initiatoren auf den Knoten ein. Wiederholen Sie dieses Verfahren auf beiden Knoten:
Installieren Sie das Paket yast2-iscsi-client:
#
zypper install yast2-iscsi-client
Starten Sie den Dienst
iscsid
:#
systemctl start iscsid
Öffnen Sie das Modul
iscsi-client
in YaST:#
yast2 iscsi-client
Wählen Sie auf der Registerkarte
die Option .Geben Sie die IP-Adresse des iSCSI-Ziels ein.
Löschen Sie
.Geben Sie unter
den Initiator- und das ein.Geben Sie unter
den Ziel- und das ein.Wählen Sie
.Nachdem YaST das iSCSI-Ziel ermittelt hat, wählen Sie
.Wählen Sie unter
die Option .Wählen Sie
.Wählen Sie
, um YaST zu schließen.Prüfen Sie den iSCSI-Initiator:
#
lsscsi
[0:0:1:0] cd/dvd QEMU QEMU DVD-ROM 2.5+ /dev/sr0 [2:0:0:0] disk LIO-ORG IBLOCK 4.0 /dev/sdaSuchen Sie nach einer Zeile mit
IBLOCK
. In diesem Beispiel handelt es sich um das iSCSI-Gerät/dev/sda
.Prüfen Sie den Status des Diensts
iscsid
:#
systemctl status iscsid
Sie finden den festen Gerätenamen in /dev/disk/by-id/
. Normalerweise beginnt der Name eines iSCSI-Geräts mit scsi-SLIO-ORG_IBLOCK
.
Wenn Sie über mehrere Datenträger verfügen, können Sie den Befehl lsblk -o name,serial
ausführen, um zu überprüfen, welcher stabile Gerätename welchem Kurznamen entspricht (z. B. /dev/sda
).
Wenn Sie den Cluster konfigurieren, geben Sie den festen Gerätenamen mit einer der folgenden Methoden an:
Wenn Sie
crm cluster init
ausführen, geben Sie den festen Gerätenamen ein, sobald Sie dazu aufgefordert werden.Bevor Sie
crm cluster init
ausführen, fügen Sie den festen Gerätenamen in/etc/sysconfig/sbd
hinzu:SBD_DEVICE=/dev/disk/by-id/scsi-SLIO-ORG_IBLOCK_DEVICE_ID_STRING
Wenn Sie
crm cluster init
ausführen, beantworten Sie folgende Frage mitn
:SBD is already configured to use /dev/disk/by-id/scsi-SLIO-ORG_IBLOCK_... - overwrite (y/n)?
B GNU licenses #
This appendix contains the GNU Free Documentation License version 1.2.
GNU Free Documentation License #
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
0. PREAMBLE #
The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or non-commercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS #
This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
2. VERBATIM COPYING #
You may copy and distribute the Document in any medium, either commercially or non-commercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
3. COPYING IN QUANTITY #
If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS #
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
State on the Title page the name of the publisher of the Modified Version, as the publisher.
Preserve all the copyright notices of the Document.
Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
Include an unaltered copy of this License.
Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS #
You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS #
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS #
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
8. TRANSLATION #
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
9. TERMINATION #
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
10. FUTURE REVISIONS OF THIS LICENSE #
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See https://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
ADDENDUM: How to use this License for your documents #
Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with...Texts.” line with this:
with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.