Implementierung von SBD Poison-Pill-Fencing in einem Red Hat Enterprise Linux High Availability Add-On-Cluster
Dieser Leitfaden beschreibt die Implementierung von SBD (Storage-Based Death) Poison-Pill-Fencing in einem Red Hat Enterprise Linux High Availability Add-On-Cluster auf Power Virtual Server.
Es umfasst die Einrichtung von iSCSI Zielservern, die Konfiguration von gemeinsamem Speicher und die Konfiguration der Cluster-Ressourcen.
Cluster-Fencing ist für Cluster entscheidend, um Split-Brain-Schutz und automatisches Failover in HA-Clustern zu gewährleisten.
SBD-Fencing erfordert gemeinsam genutzte Festplatten und ein Watchdog-Gerät.
- Die freigegebenen Festplatten werden als Blockgeräte von iSCSI Zielservern in IBM VPC bereitgestellt.
- Der Power Architecture Platform Watchdog-Treiber
pseries-wdt
wird als Hardware-Watchdog verwendet. Dieser Treiber ist auf IBM Power10 und späteren Servern verfügbar.
iSCSI ist eine offene, standardbasierte Technologie, die in RFC 3720 definiert ist. Es ermöglicht den Einsatz von Storage Area Networking über ein IP-Netzwerk. Ein iSCSI Software-Target ermöglicht die gemeinsame Nutzung von lokalem Speicher über ein Netzwerk. iSCSI initiatoren, die sich in verschiedenen Zonen oder Systemen befinden, können über das Protokoll iSCSI über IP-Netzwerke auf gemeinsamen Speicher zugreifen. Dieses Protokoll kapselt SCSI-Befehle in TCP/IP-Pakete ein und ermöglicht die Datenübertragung über Standard-Ethernet-Netzwerke, ohne dass eine spezielle SAN-Infrastruktur erforderlich ist.
Vorbereitende Schritte
Lesen Sie die allgemeinen Anforderungen, die Produktdokumentation, die Support-Artikel und die SAP Hinweise, die unter Implementieren von Hochverfügbarkeit für SAP Anwendungen auf IBM Power Virtual Server Referenzen aufgeführt sind.
Bereitstellung von iSCSI Zielservern über Verfügbarkeitszonen hinweg
Um eine IBM VPC zu erstellen, die sich über drei Verfügbarkeitszonen erstreckt, beginnen Sie mit Erste Schritte mit Virtual Private Cloud(VPC ). Folgen Sie dann den Anweisungen unter Virtuelle Serverinstanzen erstellen, um drei iSCSI Zielserverinstanzen bereitzustellen - eine in jeder Zone.
Jeder iSCSI Zielserver kann für mehrere Hochverfügbarkeitscluster verwendet werden und ermöglicht so eine effiziente gemeinsame Nutzung von Ressourcen.
Erstellen einer IBM VPC
- Navigieren Sie zu Virtuelle private Cloud und klicken Sie auf Erstellen.
- Wählen Sie den Standort, an dem Sie Ihre virtuelle private Cloud erstellen möchten.
- Wählen Sie die Geographie und die Region.
- Geben Sie im Abschnitt Details in das Feld Name
iscsi-tgt-vpc
ein. - Wählen Sie die Ressourcengruppe aus.
- Ändern Sie im Abschnitt Subnets den Namen jedes Subnetzes in der Liste.
- Klicken Sie auf das Stiftsymbol für das Teilnetz in der ersten Zone.
- Ändern Sie den Namen in
iscsi-tgt-zone-1-sn
, und klicken Sie auf Speichern.
- Wiederholen Sie diesen Schritt für die anderen Zonen, und ändern Sie die Namen in
iscsi-tgt-zone-2-sn
undiscsi-tgt-zone-3-sn
. - Klicken Sie auf Virtual Private Cloud-Instanz erstellen.
Ändern der Standard-Sicherheitsgruppe für die IBM VPC
Fügen Sie den Port iSCSI zu den eingehenden Regeln der Standardsicherheitsgruppe hinzu.
- Suchen Sie nach Sicherheitsgruppen für VPC und klicken Sie in der Liste auf die Sicherheitsgruppe.
- Klicken Sie im Abschnitt Regeln auf Regeln verwalten.
- Klicken Sie unter Eingehende Regeln auf Erstellen, um eine neue eingehende Regel zu erstellen.
- Wählen Sie Protokoll
TCP
, und geben Sie für die beiden Felder Port min und Port max den Anschluss iSCSI3260
an. Lassen Sie Quelltyp und Zieltyp aufAny
eingestellt. - Klicken Sie auf Erstellen.
Verbinden des VPC mit dem Transit Gateway
Verwenden Sie eine IBM Transit Gateway, um Ihre Virtual Private Cloud (VPC) Infrastruktur und Power Virtual Server Arbeitsbereiche zu verbinden.
- Blättern bis Transit Gateway.
- Wählen Sie das lokale Transit-Gateway in der Liste aus, und klicken Sie auf Verbindung hinzufügen.
- Wählen Sie
VPC
in der Liste der Netzwerkverbindungen und wählen Sie die Region aus. - Klicken Sie auf Hinzufügen.
Erstellen von virtuellen Serverinstanzen für den Cluster
In diesem Beispiel werden drei iSCSI Zielserver bereitgestellt. Jeder Zielserver stellt eine dedizierte iSCSI LUN zur Verfügung, auf die alle Clusterknoten als gemeinsame Festplatte zugreifen.
Um virtuelle Serverinstanzen als iSCSI Ziele zu konfigurieren, gehen Sie wie folgt vor. Stellen Sie virtuelle Maschinen bereit, auf denen eine unterstützte Version des Betriebssystems Red Hat Enterprise Linux ausgeführt wird.
Ein kleines VM-Instanzprofil wie cx3d-2x5
oder bx3d-2x10
ist ausreichend. Wenn Sie eine virtuelle Serverinstanz erstellen, müssen Sie einen SSH-Schlüssel auswählen. Siehe Erste Schritte mit SSH-Schlüsseln,
um einen SSH-Schlüssel zu erzeugen.
- Navigieren Sie zu Virtuelle Serverinstanzen für VPC und klicken Sie auf Erstellen.
- Wählen Sie die Geographie, Region und Zone
- Geben Sie im Abschnitt Details den Namen für den VSI ein.
- Wählen Sie die Ressourcengruppe aus.
- Klicken Sie im Abschnitt Serverkonfiguration auf Bild ändern.
- Wählen Sie ein Bild von
Red Hat Enterprise Linux
( 9.x- Minimalinstallation), und klicken Sie auf Speichern. - Wählen Sie eine kleine Grundfläche für das Profil, zum Beispiel
bx2-2x8
. - Wählen Sie einen SSH-Schlüssel.
- Klicken Sie im Abschnitt Datenvolumes auf Erstellen und stellen Sie ein 10-GB-Volume bereit, das für die iSCSI LUNs vorgesehen ist.
- Geben Sie einen Namen für das Datenvolumen ein.
- Geben Sie 10 für die Speichergröße (GB) ein.
- Klicken Sie auf Erstellen.
- Wählen Sie im Abschnitt Networking die zuvor erstellte VPC aus.
- Klicken Sie auf Virtuellen Server erstellen.
Die Bereitstellung der virtuellen Serverinstanzen beginnt. Wiederholen Sie den Vorgang, um die zweite und dritte virtuelle Serverinstanz in einer anderen Verfügbarkeitszone zu erstellen, und stellen Sie sicher, dass sie an unterschiedlichen physischen Standorten bereitgestellt werden.
Betriebssystem vorbereiten
Melden Sie sich als Benutzer root
bei allen virtuellen Zielmaschinen von iSCSI an.
-
Aktualisieren Sie das Betriebssystem.
dnf -y update
Ein Neustart des Knotens kann erforderlich sein, um die Änderungen zu übernehmen.
shutdown -r now
-
Geben Sie den Gerätenamen des Datenträgers an, den Sie für den Backstore bereitgestellt haben.
lsblk | grep 10G
In diesem Beispiel wird das Gerät identifiziert als
/dev/vdb
Beispielausgabe:
vdb 252:16 0 10G 0 disk
-
Erstellen Sie ein
xfs
Dateisystem mit einer Blockgröße von 512 Byte.# mkfs.xfs -m crc=0 -b size=512 /dev/vdb
- Erstellen Sie den Einhängepunkt, fügen Sie den Eintrag für das Dateisystem in die Datei
/etc/fstab
ein und hängen Sie das Dateisystem ein.
Beispielausgabe:
# mkdir /sbd # echo "/dev/vdb /sbd xfs defaults 0 0" >> /etc/fstab # systemctl daemon-reload # mount /sbd
- Erstellen Sie den Einhängepunkt, fügen Sie den Eintrag für das Dateisystem in die Datei
-
Installieren Sie das iSCSI Zielsoftwarepaket.
dnf -y install targetcli
-
Starten Sie das Ziel iSCSI und aktivieren Sie es so, dass es beim Booten automatisch startet.
systemctl enable --now target
Beispielausgabe:
# systemctl enable --now target Created symlink /etc/systemd/system/multi-user.target.wants/target.service → /usr/lib/systemd/system/target.service.
Erstellen von iSCSI Geräten auf den iSCSI Zielservern
Führen Sie als Benutzer root
die folgenden Befehle auf jeder virtuellen Zielinstanz iSCSI aus, um die Festplatten iSCSI für die SBD-Geräte zu erstellen.
In diesem Beispiel werden die folgenden Namen verwendet.
cluster1
ist der Clustername des HA-Clusters.cl1n1
undcl1n2
sind die Hostnamen der Clusterknoten fürcluster1
.
Passen Sie die Befehle in den folgenden Anweisungen an Ihre spezifische Umgebungskonfiguration an.
-
Bereiten Sie die LUNs für SBD für den Hochverfügbarkeitscluster
cluster1
vor.-
Erstellen Sie einen
fileio
Backstore für die SBD LUN. Setzen Sie den Parameterwrite_back
auffalse
, um die Zwischenspeicherung des Dateisystems zu deaktivieren.targetcli backstores/fileio create cluster1_sbd /sbd/cluster1_sbd 50M write_back=false
Beispielausgabe:
# targetcli backstores/fileio create cluster1_sbd /sbd/cluster1_sbd 50M write_back=false Created fileio cluster1_sbd with size 52428800
-
Erstellen Sie die Zieldefinition iSCSI.
targetcli iscsi/ create iqn.2006-04.cluster1.local:cluster1
Beispielausgabe:
# targetcli iscsi/ create iqn.2006-04.cluster1.local:cluster1 Created target iqn.2006-04.cluster1.local:cluster1. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260.
-
Erstellen Sie die iSCSI LUN.
targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/luns/ create /backstores/fileio/cluster1_sbd
Beispielausgabe:
# targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/luns/ create /backstores/fileio/cluster1_sbd Created LUN 0.
-
Erstellen Sie die iSCSI ACLs.
targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n1.local:cl1n1
Beispielausgabe:
# targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n1.local:cl1n1 Created Node ACL for iqn.2006-04.cl1n1.local:cl1n1 Created mapped LUN 0.
targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n2.local:cl1n2
Beispielausgabe:
# targetcli iscsi/iqn.2006-04.cluster1.local:cluster1/tpg1/acls/ create iqn.2006-04.cl1n2.local:cl1n2 Created Node ACL for iqn.2006-04.cl1n2.local:cl1n2 Created mapped LUN 0.
- Speichern Sie die Konfiguration von
targetcli
.
targetcli saveconfig
Beispielausgabe:
# targetcli saveconfig Configuration saved to /etc/target/saveconfig.json
- Speichern Sie die Konfiguration von
-
-
Überprüfen Sie die Konfiguration.
targetcli ls
Beispielausgabe:
# targetcli ls o- / ......................................................................................................................... [...] o- backstores .............................................................................................................. [...] | o- block .................................................................................................. [Storage Objects: 0] | o- fileio ................................................................................................. [Storage Objects: 1] | | o- cluster1_sbd ........................................................... [/sbd/cluster1_sbd (50.0MiB) write-thru activated] | | o- alua ................................................................................................... [ALUA Groups: 1] | | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized] | o- pscsi .................................................................................................. [Storage Objects: 0] | o- ramdisk ................................................................................................ [Storage Objects: 0] o- iscsi ............................................................................................................ [Targets: 1] | o- iqn.2006-04.cluster1.local:cluster1 ............................................................................... [TPGs: 1] | o- tpg1 ............................................................................................... [no-gen-acls, no-auth] | o- acls .......................................................................................................... [ACLs: 2] | | o- iqn.2006-04.cl1n1.local:cl1n1 ........................................................................ [Mapped LUNs: 1] | | | o- mapped_lun0 ......................................................................... [lun0 fileio/cluster1_sbd (rw)] | | o- iqn.2006-04.cl1n2.local:cl1n2 ........................................................................ [Mapped LUNs: 1] | | o- mapped_lun0 ......................................................................... [lun0 fileio/cluster1_sbd (rw)] | o- luns .......................................................................................................... [LUNs: 1] | | o- lun0 ..................................................... [fileio/cluster1_sbd (/sbd/cluster1_sbd) (default_tg_pt_gp)] | o- portals .................................................................................................... [Portals: 1] | o- 0.0.0.0:3260 ..................................................................................................... [OK] o- loopback ......................................................................................................... [Targets: 0]
Erstellen des SBD-Geräts auf den Clusterknoten
Ermitteln Sie auf den Clusterknoten die iSCSI Geräte, die Sie zuvor erstellt haben, und verbinden Sie sie. Führen Sie die folgenden Befehle auf beiden Clusterknoten aus.
Zugriff auf die iSCSI Geräte auf den Clusterknoten
Einrichten des Initiators iSCSI
-
Führen Sie auf beiden Clusterknoten die folgenden Befehle aus, um die iSCSI Initiator-Dienstprogramme zu installieren oder zu aktualisieren.
dnf install -y iscsi-initiator-utils
-
Führen Sie auf beiden Clusterknoten den folgenden Befehl aus, um die erforderlichen HA-Add-On-Pakete zu installieren.
dnf install -y pcs pacemaker sbd fence-agents-sbd
Um das Paket
fence-agents-sbd
zu installieren, stellen Sie sicher, dass Sie die Version4.10.0
mit dem Release62.el9_4.15
oder eine neuere Version verwenden. -
Jeder iSCSI Initiator muss einen eindeutigen IQN ( iSCSI Qualified Name) haben, der zur Kontrolle des Zugriffs auf die iSCSI Ziele verwendet wird. Bei der Installation wird eine zufällig generierte IQN zugewiesen, die jedoch durch einen aussagekräftigeren Namen ersetzt werden kann. Die IQN muss mit dem Namen in den Zugriffskontrolllisten (ACLs) übereinstimmen, die Sie für das Gerät iSCSI auf dem Zielserver iSCSI erstellt haben.
-
Führen Sie unter NODE1 den folgenden Befehl aus, um die IQN zu ändern.
echo "InitiatorName=iqn.2006-04.cl1n1.local:cl1n1" > /etc/iscsi/initiatorname.iscsi
-
Führen Sie unter NODE2 den folgenden Befehl aus, um die IQN zu ändern.
echo "InitiatorName=iqn.2006-04.cl1n2.local:cl1n2" > /etc/iscsi/initiatorname.iscsi
-
-
Führen Sie auf beiden Clusterknoten den folgenden Befehl aus, um die Dienste von iSCSI zu aktivieren.
systemctl enable iscsid iscsi
-
Führen Sie auf beiden Clusterknoten die folgenden Befehle aus, um die Dienste von iSCSI neu zu starten.
systemctl restart iscsid
systemctl restart iscsi
Erkennen der iSCSI LUNs
-
Führen Sie auf beiden Clusterknoten die folgenden Befehle aus, um die iSCSI Geräte zu verbinden.
Im folgenden Beispiel werden die Zielserver iSCSI über die IP-Adressen der virtuellen Zielserver iSCSI und den Port iSCSI
3260
angesprochen.Die im Beispiel angegebenen IP-Adressen dienen nur zur Veranschaulichung. Ersetzen Sie diese durch Werte, die Ihrer spezifischen VPC-Subnetzkonfiguration entsprechen.
IP-Adressen der in dieser Beispielkonfiguration verwendeten iSCSI Ziele. VSI-Name IP-Adresse:Anschluss iscsi-vm-001
10.20.30.4:3260
iscsi-vm-002
10.20.30.69:3260
iscsi-vm-003
10.20.30.132:3260
Um die Einrichtung zu vereinfachen, erstellen Sie Umgebungsvariablen für die Kommunikationsdetails der iSCSI Zielserver.
export ISCSI_TGT_1="10.20.30.4:3260" # IP address and port of the first virtual server (first iSCSI target) export ISCSI_TGT_2="10.20.30.69:3260" # IP address and port of the second virtual server (second iSCSI target) export ISCSI_TGT_3="10.20.30.132:3260" # IP address and port of the third virtual server (third iSCSI target) export ISCSI_TGT_NAME="iqn.2006-04.cluster1.local:cluster1" # iSCSI target name
Führen Sie den Befehl
iscsiadm
discovery aus und überprüfen Sie, ob der Zielname korrekt ist. Wiederholen Sie den Vorgang für den zweiten und den dritten iSCSI Zielserver.iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_1}
Beispielausgabe:
# iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_1} 10.20.30.4:3260,1 iqn.2006-04.cluster1.local:cluster1 # iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_2} 10.20.30.69:3260,1 iqn.2006-04.cluster1.local:cluster1 # iscsiadm -m discovery --type=st --portal=${ISCSI_TGT_3} 10.20.30.132:3260,1 iqn.2006-04.cluster1.local:cluster1
Notieren Sie in der Ausgabe des Befehls
iscsiadm -m discovery
den Zielnamen iSCSI und weisen Sie ihn der Umgebungsvariablen ISCSI_TGT_NAME zu. -
Melden Sie sich bei dem Zielgerät iSCSI an.
iscsiadm -m node -T ${ISCSI_TGT_NAME} --login --portal=${ISCSI_TGT_1}
Beispielausgabe:
# iscsiadm -m node -T ${ISCSI_TGT_NAME} --login --portal=${ISCSI_TGT_1} Logging in to [iface: default, target: iqn.2006-04.cluster1.local:cluster1, portal: 10.20.30.4,3260] Login to [iface: default, target: iqn.2006-04.cluster1.local:cluster1, portal: 10.20.30.4,3260] successful.
Wiederholen Sie den Schritt, indem Sie
${ISCSI_TGT_2}
und${ISCSI_TGT_3}
als Werte für das Argument--portal
verwenden. -
Aktivieren Sie die automatische Anmeldung am Gerät iSCSI.
iscsiadm -m node -p ${ISCSI_TGT_1} -T ${ISCSI_TGT_NAME} --op=update --name=node.startup --value=automatic
Wiederholen Sie den Schritt, indem Sie
${ISCSI_TGT_2}
und${ISCSI_TGT_3}
als Werte für das Argument-p
verwenden. -
Führen Sie auf beiden Clusterknoten die folgenden Befehle aus.
Vergewissern Sie sich, dass die Geräte von iSCSI verfügbar sind, und notieren Sie sich die Gerätenamen für eine spätere Bezugnahme.
lsscsi -i | grep "LIO-ORG"
Beispielausgabe:
[5:0:0:0] disk LIO-ORG cluster1_sbd 4.0 /dev/sdck 3600140500874d3cfa724e728b77046a3 [6:0:0:0] disk LIO-ORG cluster1_sbd 4.0 /dev/sdcl 3600140517566c8197884fb9b643b470a [7:0:0:0] disk LIO-ORG cluster1_sbd 4.0 /dev/sdcm 36001405c2ed12b15b0a4c7f8d311ab49
Rufen Sie die iSCSI Geräte-IDs ab, indem Sie die Ausgabe des Befehls lsscsi verwenden.
Das mitgelieferte awk-Beispiel extrahiert die Geräte-IDs, vervollständigt die Gerätenamen und bereitet die Definitionen der Umgebungsvariablen für die weitere Verwendung vor.
lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}'
Beispielausgabe:
lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}'
export SBD_DEV_1=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3
export SBD_DEV_2=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a
export SBD_DEV_3=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49
Überprüfen Sie die Geräteeinträge in der Ausgabe und verwenden Sie dann den Befehl eval
, um die Umgebungsvariablen zu exportieren.
eval $(lsscsi -i | awk '$3 == "LIO-ORG" { count++; print "export SBD_DEV_" count "=/dev/disk/by-id/scsi-" $7}')
Überprüfen Sie die exportierten Variablen.
echo $SBD_DEV_1 $SBD_DEV_2 $SBD_DEV_3
Beispielausgabe:
echo $SBD_DEV_1 $SBD_DEV_2 $SBD_DEV_3
/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 /dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a /dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49
Diese Umgebungsvariablen sind für die Erstellung des SBD-Geräts erforderlich.
Konfigurieren von SBD-Poison-Pill-Fencing im Cluster
SBD Poison Pill Fencing über ein Blockgerät erfordert sowohl ein Watchdog-Timer-Gerät als auch einen gemeinsamen Speicher für die Übertragung von Poison Pill-Nachrichten. Um das Fencing zu aktivieren, konfigurieren Sie den Cluster, aktivieren die SBD-Geräte auf dem gemeinsamen Speicher und richten das Cluster-Fencing ein.
Konfigurieren des Watchdogs auf den Clusterknoten
Der pseries_wdt
Power Hypervisor-Watchdog ist der bevorzugte Watchdog und ist auf IBM Power10 Servern und höher verfügbar.
Wenn Sie virtuelle Serverinstanzen mit einem Power9-Profil bereitstellen, ist der Power-Hypervisor-Watchdog nicht verfügbar. Als Alternative kann der Software-Watchdog softdog
verwendet werden, der allerdings nur eine begrenzte
Unterstützung bietet.
Um einen Watchdog zu konfigurieren, führen Sie je nach Umgebung die in einem der folgenden Abschnitte beschriebenen Schritte aus.
Konfigurieren des Hardware-Watchdogs pseries_wdt
( IBM Power10 und höher)
Führen Sie auf beiden Clusterknoten die folgenden Befehle aus, um zu überprüfen, ob der Hypervisor-Watchdog-Treiber geladen ist.
lsmod | grep pseries_wdt
# lsmod | grep pseries_wdt
pseries_wdt 262144 0
Sie können auch den folgenden Befehl verwenden, um zu überprüfen, ob der Watchdog-Treiber geladen ist.
wdctl
Beispielausgabe:
wdctl
Device: /dev/watchdog0
Identity: pseries-wdt [version 0]
Timeout: 15 seconds
Pre-timeout: 0 seconds
Konfigurieren des Software-Watchdogs softdog
( IBM Power9 )
Die Verwendung des softdog
Software-Watchdogs auf einem IBM Power9 Server ist eine Alternative, hat aber Einschränkungen bei der Unterstützung.
Führen Sie die folgenden Befehle auf beiden Clusterknoten aus, um den Software-Watchdog zu implementieren.
-
Laden Sie das Modul
softdog
.modprobe softdog
-
Stellen Sie sicher, dass
softdog
nach einem Neustart des Knotens automatisch geladen wird.echo softdog > /etc/modules-load.d/watchdog.conf
-
Starten Sie die Module von
systemd
neu.systemctl restart systemd-modules-load
Aktivieren der sbd-Geräte
-
Verwenden Sie die grundlegenden Schritte der Clusterkonfiguration, wie
pcs host auth
undpcs cluster setup
. Starten Sie dann den Cluster auf beiden Knoten. -
Führen Sie auf einem beliebigen Clusterknoten die folgenden Befehle aus, um die SBD-Geräte zu konfigurieren und zu aktivieren. Verwenden Sie die iSCSI Geräte-IDs, die Sie zuvor aufgezeichnet haben, um die neuen SBD-Geräte zu erstellen.
pcs stonith sbd device setup \ device=${SBD_DEV_1} \ device=${SBD_DEV_2} \ device=${SBD_DEV_3} \ watchdog-timeout=30 \ msgwait-timeout=60
Geben Sie
yes
ein, um die Initialisierung des Geräts zu bestätigen.Beispielausgabe:
# pcs stonith sbd device setup \ device=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 \ device=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a \ device=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49 \ watchdog-timeout=30 \ msgwait-timeout=60 WARNING: All current content on device(s) '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3', '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a', '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49' will be overwritten Type 'yes' or 'y' to proceed, anything else to cancel: yes Initializing devices '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3', '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a', '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49'... Devices initialized successfully
Überprüfen Sie den Status.
pcs stonith sbd status
Beispielausgabe:
# pcs stonith sbd status SBD STATUS <node name>: <installed> | <enabled> | <running> cl1n1: YES | NO | NO cl1n2: YES | NO | NO
Aktivieren Sie die SBD-Geräte.
pcs stonith sbd enable \ device=${SBD_DEV_1} \ device=${SBD_DEV_2} \ device=${SBD_DEV_3} \ SBD_WATCHDOG_TIMEOUT=60 \ SBD_STARTMODE=always \ SBD_DELAY_START=yes
Beispielausgabe:
# pcs stonith sbd enable \ device=/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3 \ device=/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a \ device=/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49 \ SBD_WATCHDOG_TIMEOUT=60 \ SBD_STARTMODE=clean \ SBD_DELAY_START=yes Running SBD pre-enabling checks... cl1n2: SBD pre-enabling checks done cl1n1: SBD pre-enabling checks done Distributing SBD config... cl1n1: SBD config saved cl1n2: SBD config saved Enabling sbd... cl1n2: sbd enabled cl1n1: sbd enabled Warning: Cluster restart is required in order to apply these changes.
Starten Sie den Cluster neu, um die Änderungen zu aktivieren.
-
Halten Sie den Cluster an.
Führen Sie auf einem beliebigen Clusterknoten den folgenden Befehl aus.
pcs cluster stop --all
-
Starten Sie das Cluster.
Führen Sie auf jedem Clusterknoten den folgenden Befehl aus.
pcs cluster start
Die Ausführung von
pcs cluster start --all
auf einem einzelnen Clusterknoten kann zu einer Zeitüberschreitung führen. -
Überprüfen Sie den Status der Geräte auf
sbd
.pcs stonith sbd status
Beispielausgabe:
# pcs stonith sbd status SBD STATUS <node name>: <installed> | <enabled> | <running> cl1n2: YES | YES | NO cl1n1: YES | YES | YES Messages list on device '/dev/disk/by-id/scsi-3600140500874d3cfa724e728b77046a3': 0 cl1n1 clear 1 cl1n2 clear Messages list on device '/dev/disk/by-id/scsi-3600140517566c8197884fb9b643b470a': 0 cl1n2 clear 1 cl1n1 clear Messages list on device '/dev/disk/by-id/scsi-36001405c2ed12b15b0a4c7f8d311ab49': 0 cl1n2 clear 1 cl1n1 clear
-
Konfigurieren des Cluster-Fencing-Geräts
Führen Sie auf einem beliebigen Clusterknoten den Befehl pcs stonith create
aus, um das STONITH-Gerät zu erstellen. Legen Sie den Parameter pcmk_reboot_timeout
fest, um den Timeout-Wert für die Neustart-Aktion zu
erhöhen.
pcs stonith create res_fence_sbd fence_sbd \
devices="${SBD_DEV_1},${SBD_DEV_2},${SBD_DEV_3}" \
pcmk_reboot_timeout=90
Testen Sie das Cluster-Fencing. Fahren Sie dann mit allen anderen Schritten der Clusterkonfiguration fort.