Konfigurieren der Hochverfügbarkeit für SAP S/4HANA (ASCS und ERS) in einem Red Hat Enterprise Linux High Availability Add-On-Cluster
Die folgenden Informationen beschreiben die Konfiguration von ABAP SAP Central Services (ASCS) und Enqueue Replication Server (ERS) in einem Red Hat Enterprise Linux (RHEL) High Availability Add-On-Cluster. Der Cluster verwendet virtuelle Serverinstanzen in IBM® Power® Virtual Server als Cluster-Knoten.
Diese Beispielkonfiguration gilt für die zweite Generation des Standalone Enqueue Server, auch ENSA2.
Beginnend mit der Veröffentlichung von SAP S/4HANA 1809 wird ENSA2 standardmäßig installiert und kann in einem Cluster mit zwei oder mehreren Knoten konfiguriert werden. In diesem Beispiel wird die ENSA2 einrichtung für einen RHEL HA Add-On-Cluster mit zwei Knoten. Wenn der ASCS-Dienst in einem Cluster mit zwei Knoten ausfällt, wird er auf dem Knoten neu gestartet, auf dem die ERS-Instanz ausgeführt wird. Die Sperreinträge für die Anwendung SAP werden dann aus der Kopie der Sperrtabelle in der ERS-Instanz wiederhergestellt. Wenn ein Administrator den ausgefallenen Clusterknoten aktiviert, wechselt die ERS-Instanz zum anderen Knoten (Anti-Kollokation), um ihre Kopie der Sperrtabelle zu schützen.
Es wird empfohlen, die Datenbankinstanz SAP und andere SAP-Anwendungsserverinstanzen auf virtuellen Serverinstanzen außerhalb des Zweiknotenclusters für ASCS und ERS zu installieren.
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.
Voraussetzungen
-
Diese Informationen beschreiben eine Einrichtung, die gemeinsam nutzbare Speichervolumes verwendet, auf die beide Clusterknoten zugreifen können. Bestimmte Dateisysteme werden auf gemeinsam nutzbaren Speichervolumes erstellt, sodass sie auf beiden Clusterknoten eingebunden werden können. Diese Einstellung gilt für beide Instanzverzeichnisse.
/usr/sap/<SID>/ASCS<INSTNO>
der ASCS-Instanz./usr/sap/<SID>/ERS<INSTNO>
der ERS-Instanz.
Stellen Sie sicher, dass die für diese Dateisysteme erstellten Speichervolumes an beide Instanzen des virtuellen Servers angehängt sind. Während der Installation der SAP-Instanz und der RHEL HA Add-On-Cluster-Konfiguration muss jedes Instanzverzeichnis auf dem entsprechenden Knoten gemountet werden. HA-LVM stellt sicher, dass jedes der beiden Instanz-Verzeichnisse jeweils nur auf einem Knoten gemountet ist.
Es sind verschiedene Speicherkonfigurationen für die Instanzverzeichnisse möglich, z. B. NFS-Mounts. Die Schritte zur Einrichtung der Speicherung für die Dateispeicherung oder die Erstellung von Cluster-Dateisystemressourcen werden in diesem Dokument nicht beschrieben.
-
Die virtuellen Hostnamen für die ASCS- und ERS-Instanzen müssen die unter Hostnamen von SAP ABAP Platform-Servern dokumentierten Anforderungen erfüllen. Stellen Sie sicher, dass die virtuellen IP-Adressen für die SAP-Instanzen einem Netzwerkadapter zugewiesen sind und dass sie im Netzwerk kommunizieren können.
-
SAP anwendungsserverinstanzen erfordern ein gemeinsames, gemeinsam genutztes Dateisystem sapmnt
/sapmnt/<SID>
mit Lese- und Schreibzugriff sowie andere gemeinsam genutzte Dateisysteme wie saptrans/usr/sap/trans
. Diese Dateisysteme werden in der Regel von einem externen NFS-Server bereitgestellt. Der NFS-Server muss hochverfügbar sein und darf nicht auf virtuellen Servern installiert werden, die Teil des ENSA2 clusters sind.Die Konfiguration eines Aktiv-Passiv- NFS-Servers in einem Red Hat-Hochverfügbarkeitscluster beschreibt die Implementierung eines Aktiv-Passiv- NFS-Servers in einem RHEL HA Add-On-Cluster mit Red Hat Enterprise Linux 8 unter Verwendung virtueller Serverinstanzen in Power Virtual Server. Der RHEL HA Add-On-Cluster für den Aktiv-Passiv-Server NFS muss in einem einzelnen Power Virtual Server-Arbeitsbereich bereitgestellt werden.
Vorbereitung von Knoten für die Installation von ASCS- und ERS-Instanzen
Die folgenden Informationen beschreiben, wie Sie die Knoten für die Installation der SAP ASCS- und ERS-Instanzen vorbereiten.
Umgebungsvariablen vorbereiten
Um die Einrichtung zu vereinfachen, bereiten Sie die folgenden Umgebungsvariablen für den Benutzer root
auf beiden Clusterknoten vor. Diese Umgebungsvariablen werden in dieser Information zusammen mit späteren Betriebssystembefehlen
verwendet.
Legen Sie auf beiden Knoten die folgenden Umgebungsvariablen fest.
# General settings
export SID=<SID> # SAP System ID (uppercase)
export sid=<sid> # SAP System ID (lowercase)
# ASCS instance
export ASCS_INSTNO=<INSTNO> # ASCS instance number
export ASCS_VH=<virtual hostname> # ASCS virtual hostname
export ASCS_IP=<IP address> # ASCS virtual IP address
export ASCS_VG=<vg name> # ASCS volume group name
export ASCS_LV=<lv name> # ASCS logical volume name
# ERS instance
export ERS_INSTNO=<INSTNO> # ERS instance number
export ERS_VH=<virtual hostname> # ERS virtual hostname
export ERS_IP=<IP address> # ERS virtual IP address
export ERS_VG=<vg name> # ERS volume group name
export ERS_LV=<lv name> # ERS logical volume name
# NFS settings
export NFS_SERVER="NFS server" # Hostname or IP address of the highly available NFS server
export NFS_SHARE="NFS server directory" # Exported file system directory on the NFS server
export NFS_OPTIONS="rw,sec=sys" # Sample NFS client mount options
Es wird empfohlen, aussagekräftige Namen für die Volume-Gruppen und logischen Volumes zu verwenden, die deren Inhalt kennzeichnen. Zum Beispiel die SID und ascs oder ers in den Namen einbeziehen. Verwenden Sie keine Bindestriche in den Namen der Volume-Gruppe oder des logischen Volumes.
- s01ascsvg und s01ascslv
- s01ersvg und s01erslv
Zuweisung virtueller IP-Adressen
Lesen Sie die Informationen unter "Reservierung virtueller IP-Adressen ".
Überprüfen Sie, ob die virtuelle IP-Adresse für die SAP-Instanz vorhanden ist. Andernfalls müssen Sie den richtigen Netzwerkadapter ermitteln, um die IP-Adresse zuzuweisen.
Überprüfen Sie auf beiden Knoten die Liste der derzeit aktiven IP-Adressen.
ip -o -f inet address show | '/scope global/ {print $2, $4}'
Beispielausgabe des vorherigen Befehls.
# ip -o -f inet address show | awk '/scope global/ {print $2, $4}'
env2 10.51.0.66/24
env3 10.52.0.41/24
env4 10.111.1.28/24
Der Gerätename des Netzwerkadapters erscheint in der ersten Spalte. In der zweiten Spalte werden die aktiven IP-Adressen und die Anzahl der Bits, die für die Netzmaske reserviert sind, durch einen Schrägstrich getrennt aufgeführt.
Wenn die virtuelle IP-Adresse für die SAP-Instanz nicht vorhanden ist, stellen Sie sicher, dass sie nicht versehentlich auf einer anderen virtuellen Serverinstanz festgelegt wurde.
Führen Sie unter NODE1 den folgenden Befehl aus.
ping -c 3 ${ASCS_VH}
Beispielausgabe:
# ping -c 2 cl-sap-scs
PING cl-sap-scs (10.111.1.248) 56(84) bytes of data.
From cl-sap-1.tst.ibm.com (10.111.1.28) icmp_seq=1 Destination Host Unreachable
From cl-sap-1.tst.ibm.com (10.111.1.28) icmp_seq=2 Destination Host Unreachable
--- cl-sap-ers ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 2112ms
pipe 3
Wenn die Ausgabe von ping
Destination Host Unreachable
anzeigt, ist die IP-Adresse verfügbar und Sie können den IP-Alias der virtuellen Serverinstanz zuweisen. Verwenden Sie den korrekten Gerätenamen "env" des Netzwerkadapters, der dem Subnetz der IP-Adresse entspricht.
Beispielbefehl auf NODE1:
ip addr add ${ASCS_IP} dev env4
Beispielbefehl auf NODE2:
ip addr add ${ERS_IP} dev env4
Je nach Ihrer spezifischen Netzwerkkonfiguration kann der Gerätename für den Netzwerkadapter unterschiedlich sein.
Die IP-Adresse wird für die Installation von SAP benötigt und manuell eingestellt. Später werden die virtuellen IP-Adressen vom Red Hat HA Cluster Add-on gesteuert.
Vorbereitung von Volume-Gruppen, logischen Volumes und gemeinsam genutzten Dateisystemen
Gemeinsamer Speicher ist eine wichtige Ressource in einem ENSA2 cluster. ASCS und ERS müssen auf beiden Knoten ausgeführt werden können, und ihre Laufzeitumgebung wird in den gemeinsam genutzten Speichervolumes gespeichert. Alle Cluster-Knoten müssen auf die gemeinsam genutzten Speichervolumes zugreifen, aber nur ein Knoten hat exklusiven Lese- und Schreibzugriff auf ein Volume.
Vorbereiten der Hochverfügbarkeitseinstellungen für den Logical Volume Manager
Bearbeiten Sie die Datei /etc/lvm/lvm.conf
, um die System-ID in die Volume-Gruppe aufzunehmen.
Bearbeiten Sie auf beiden Knoten die Datei lvm.conf
.
vi /etc/lvm/lvm.conf
Suchen Sie nach dem Parameter system_id_source
und ändern Sie seinen Wert in uname
.
Beispieleinstellung für den Parameter system_id_source
in etc/lvm/lvm.conf
.
system_id_source = "uname"
Ermittlung der weltweiten Namen gemeinsam genutzter Speichervolumes
Bestimmen Sie den World Wide Name (WWN) für jedes Speichervolumen, das Teil einer der gemeinsam genutzten Volumengruppen ist.
-
Melden Sie sich bei IBM Cloud® an, um die Ansicht "Speichervolumen" von Power Virtual Server aufzurufen.
-
Wählen Sie Ihren Arbeitsbereich.
-
Filtern Sie in der Liste "Speichervolumes" nach dem Volumenpräfix und ermitteln Sie alle World Wide Names der Volumes, die für ASCS- und ERS-Instanzen in Frage kommen. Der World Wide Name ist eine 32-stellige Hexadezimalzahl.
Stellen Sie sicher, dass die Eigenschaft "Freigegeben" für diese Volumes auf "Ein" steht.
Wechseln Sie in der Ansicht "Virtuelle Serverinstanzen" zu beiden virtuellen Serverinstanzen des Clusters. Überprüfen Sie, ob alle Volumes, die in den Geltungsbereich von ASCS und ERS fallen, an beide Instanzen des virtuellen Servers angehängt sind.
Wenn Sie ein neues Speichervolumen an eine virtuelle Serverinstanz anhängen, stellen Sie sicher, dass Sie den SCSI-Bus erneut scannen, um das neue Volumen zu erkennen. Aktualisieren Sie anschließend die Multipath-Konfiguration der virtuellen Serverinstanz.
Führen Sie auf den Knoten mit neuen Speichervolumen-Anhängen den folgenden Befehl aus.
rescan-scsi-bus.sh && sleep 10 && multipathd reconfigure
Melden Sie sich bei beiden Clusterknoten an und fügen Sie die WWN zu den Umgebungsvariablen des Benutzers root
hinzu.
Verwenden Sie die pvs --all
Befehl, um die entsprechenden WWN- Werte zu bestimmen.
Exportieren Sie auf NODE1 die Umgebungsvariable ASCS_PVID
.
export ASCS_PVID=3<WWN> # WWN of shared storage volume for ASCS
Exportieren Sie auf NODE2 die Umgebungsvariable ERS_PVID
.
export ERS_PVID=3<WWN> # WWN of shared storage volume for ERS
Achten Sie darauf, die Umgebungsvariable mit der Hexadezimalzahl und Kleinbuchstaben festzulegen.
Erstellen physischer Volumen
Führen Sie unter NODE1 den folgenden Befehl aus.
pvcreate /dev/mapper/${ASCS_PVID}
Beispielausgabe:
# pvcreate /dev/mapper/${ASCS_PVID}
Physical volume "/dev/mapper/360050768108103357000000000002ddc" successfully created.
Führen Sie unter NODE2 den folgenden Befehl aus.
pvcreate /dev/mapper/${ERS_PVID}
Beispielausgabe:
# pvcreate /dev/mapper/${ERS_PVID}
Physical volume "/dev/mapper/360050768108103357000000000002e31" successfully created.
Erstellen von Datenträgergruppen
Erstellen Sie die Datenträgergruppe für die ASCS.
Führen Sie unter NODE1 den folgenden Befehl aus.
vgcreate ${ASCS_VG} /dev/mapper/${ASCS_PVID}
Überprüfen Sie, ob die System-ID eingestellt ist.
vgs -o+systemid
Beispielausgabe:
# vgs -o+systemid
VG #PV #LV #SN Attr VSize VFree System ID
s01ascsvg 1 0 0 wz--n- <50.00g <50.00g cl-sap-1
Erstellen Sie die Datenträgergruppe für das ERS.
Führen Sie unter NODE2 den folgenden Befehl aus.
vgcreate ${ERS_VG} /dev/mapper/${ERS_PVID}
Überprüfen Sie, ob die System-ID eingestellt ist.
Beispielausgabe:
# vgs -o+systemid
VG #PV #LV #SN Attr VSize VFree System ID
s01ersvg 1 0 0 wz--n- <50.00g <50.00g cl-sap-2
Erstellen logischer Datenträger und Dateisysteme
Erstellen Sie das logische Volume für die ASCS und formatieren Sie es als XFS-Dateisystem.
Führen Sie unter NODE1 die folgenden Befehle aus.
lvcreate -l 100%FREE -n ${ASCS_LV} ${ASCS_VG}
mkfs.xfs /dev/${ASCS_VG}/${ASCS_LV}
Erstellen Sie das logische Volume für das ERS und formatieren Sie es als XFS-Dateisystem.
Führen Sie unter NODE2 die folgenden Befehle aus.
lvcreate -l 100%FREE -n ${ERS_LV} ${ERS_VG}
mkfs.xfs /dev/${ERS_VG}/${ERS_LV}
Sicherstellen, dass eine Volume-Gruppe nicht auf mehreren Cluster-Knoten aktiviert ist
Volumengruppen, die vom Cluster verwaltet werden, dürfen nicht automatisch beim Start aktiviert werden.
Für RHEL 8.5 und höher deaktivieren Sie die automatische Aktivierung beim Erstellen der Volume-Gruppe, indem Sie das Flag --setautoactivation n
im Befehl vgcreate angeben.
Bearbeiten Sie auf beiden Knoten die Datei /etc/lvm/lvm.conf
und ändern Sie den Eintrag auto_activation_volume_list
, um die automatische Aktivierung auf bestimmte Volume-Gruppen zu beschränken.
vi /etc/lvm/lvm.conf
Suchen Sie den Parameter auto_activation_volume_list
und fügen Sie alle Volume-Gruppen mit Ausnahme der für den NFS-Cluster definierten Gruppe zu dieser Liste hinzu.
Hier sehen Sie ein Beispiel dafür, wie der Eintrag auto_activation_volume_list
in /etc/lvm/lvm.conf
festgelegt wird:
auto_activation_volume_list = [ "rhel_root" ]
Erstellen Sie das initramfs-Boot-Image neu, um sicherzustellen, dass das Boot-Image keine Volume-Gruppe aktiviert, die vom Cluster gesteuert wird.
Führen Sie auf beiden Knoten den folgenden Befehl aus.
dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
Starten Sie beide Knoten neu.
Einrichtung der Dateisysteme für die Installation von SAP
Aktivieren Sie die Volume-Gruppen und mounten Sie die SAP-Instanz-Dateisysteme.
Führen Sie auf NODE1 (ASCS ) die folgenden Befehle aus.
vgchange -a y ${ASCS_VG}
mkdir -p /usr/sap/${SID}/ASCS${ASCS_INSTNO}
mount /dev/${ASCS_VG}/${ASCS_LV} /usr/sap/${SID}/ASCS${ASCS_INSTNO}
Führen Sie auf NODE2 (ERS ) die folgenden Befehle aus.
vgchange -a y ${ERS_VG}
mkdir -p /usr/sap/${SID}/ERS${ERS_INSTNO}
mount /dev/${ERS_VG}/${ERS_LV} /usr/sap/${SID}/ERS${ERS_INSTNO}
Einrichtung der erforderlichen NFS-Dateisysteme
Stellen Sie auf beiden Knoten sicher, dass die NFS-Dateisysteme /sapmnt
und /usr/sap/trans
eingebunden sind.
mount | grep nfs
Erstellen von ASCS- und ERS-Mountpunkten auf dem anderen Knoten
Erstellen Sie die Mount-Punkte für die Instanz-Dateisysteme und passen Sie deren Besitzverhältnisse an.
Führen Sie unter NODE1 die folgenden Befehle aus.
mkdir /usr/sap/${SID}/ERS${ERS_INSTNO}
chown ${sid}adm:sapsys /usr/sap/${SID}/ERS${ERS_INSTNO}
Führen Sie unter NODE2 die folgenden Befehle aus.
mkdir /usr/sap/${SID}/ASCS${ASCS_INSTNO}
chown ${sid}adm:sapsys /usr/sap/${SID}/ASCS${ASCS_INSTNO}
Installation der ASCS- und ERS-Instanzen
Verwenden Sie SAP Software Provisioning Manager (SWPM), um beide Instanzen zu installieren.
-
Installieren Sie SAP-Instanzen auf den Clusterknoten.
- Installieren Sie eine ASCS-Instanz auf NODE1, indem Sie den virtuellen Hostnamen
${ASCS_VH}
verwenden, der mit der virtuellen IP-Adresse für ASCS verknüpft ist:
<swpm>/sapinst SAPINST_USE_HOSTNAME=${ASCS_VH}
- Installieren Sie eine ERS-Instanz auf NODE2, indem Sie den virtuellen Hostnamen
${ERS_VH}
verwenden, der mit der virtuellen IP-Adresse für ERS verknüpft ist:
<swpm>/sapinst SAPINST_USE_HOSTNAME=${ERS_VH}
- Installieren Sie eine ASCS-Instanz auf NODE1, indem Sie den virtuellen Hostnamen
-
Installieren Sie alle anderen SAP-Anwendungsinstanzen außerhalb des Clusters.
Installation und Einrichtung des RHEL HA Add-On-Clusters
Installieren Sie den RHEL HA-Add-On-Cluster und richten Sie ihn gemäß dem Abschnitt Implementieren eines Red Hat Enterprise Linux High Availability Add-On-Clusters ein.
Konfigurieren und testen Sie die Umzäunung wie unter "Erstellen der Umzäunung" beschrieben.
Vorbereiten der ASCS- und ERS-Instanzen für die Cluster-Integration
Führen Sie die folgenden Schritte aus, um die SAP Instanzen für die Cluster-Integration vorzubereiten.
Deaktivierung des automatischen Starts der SAP Instanz-Agenten für ASCS und ERS
Sie müssen den automatischen Start der Agenten der Instanz sapstartsrv
sowohl für ASCS- als auch für ERS-Instanzen nach einem Neustart deaktivieren.
Überprüfen des Integrationstyps für die SAP-Instanz
Neuere Versionen des SAP Instanzagenten sapstartsrv
bieten native systemd
Unterstützung auf Linux. Weitere Informationen finden Sie in den SAP Hinweisen, die unter SAP Hinweise aufgelistet sind.
Überprüfen Sie auf beiden Knotenpunkten den Inhalt der Datei /usr/sap/sapservices
.
cat /usr/sap/sapservices
Im Format systemd
beginnen die Zeilen mit den Einträgen systemctl
.
Beispiel:
systemctl --no-ask-password start SAPS01_01 # sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs
Wenn die Einträge für ASCS und ERS im Format systemd
vorliegen, fahren Sie mit den Schritten unter Deaktivieren der systemd-Dienste der ASCS- und ERS-Instanz SAP fort.
Im Format classic
beginnen die Zeilen mit den Einträgen LD_LIBRARY_PATH
.
Beispiel:
LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm
Wenn die Einträge für ASCS und ERS im Format classic
vorliegen, ändern Sie die Datei /usr/sap/sapservices
so, dass der automatische Start des Instanzagenten sapstartsrv
sowohl für ASCS- als
auch für ERS-Instanzen nach einem Neustart verhindert wird.
Entfernen Sie auf beiden Knoten die Einträge sapstartsrv
für ASCS und ERS in der Datei SAP services oder kommentieren Sie sie aus.
sed -i -e 's/^LD_LIBRARY_PATH=/#LD_LIBRARY_PATH=/' /usr/sap/sapservices
Beispiel:
#LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm
Fahren Sie mit der Installation von permanenten SAP Lizenzschlüsseln fort.
Deaktivierung der systemd-Dienste des ASCS und der ERS-Instanzen
Deaktivieren Sie auf beiden Knoten den Instanzagenten für das ASCS.
systemctl disable --now SAP${SID}_${ASCS_INSTNO}.service
Deaktivieren Sie auf beiden Knoten den Instanzagenten für das ERS.
systemctl disable --now SAP${SID}_${ERS_INSTNO}.service
Deaktivieren von systemd
Neustart einer abgestürzten ASCS- oder ERS-Instanz
Systemd
verfügt über eigene Mechanismen, um einen abgestürzten Dienst wieder zu starten. In einem Hochverfügbarkeits-Setup ist nur der HA-Cluster für die Verwaltung der SAP ASCS- und ERS-Instanzen zuständig. Erstellen Sie systemd drop-in files
auf beiden Clusterknoten, um zu verhindern, dass systemd
eine abgestürzte SAP Instanz neu startet.
Erstellen Sie auf beiden Knoten die Verzeichnisse für die Drop-in-Dateien.
mkdir /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d
mkdir /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d
Erstellen Sie auf beiden Knoten die Drop-in-Dateien für ASCS und ERS.
cat >> /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT
cat >> /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT
Restart=no
muss sich im Abschnitt [Service]
befinden, und die Drop-in-Dateien müssen auf allen Clusterknoten verfügbar sein.
Laden Sie auf beiden Knoten die systemd
Unit-Dateien neu.
systemctl daemon-reload
Installation von permanenten SAP Lizenzschlüsseln
Wenn die SAP ASCS-Instanz auf einer Power Virtual Server-Instanz installiert wird, stützt sich der SAP-Lizenzmechanismus auf die Partitions-UUID. Weitere Informationen finden Sie unter SAP note 2879336 - Hardware-Schlüssel auf Basis einer eindeutigen ID.
Führen Sie auf beiden Knoten den folgenden Befehl als Benutzer <sid>adm
aus, um die HARDWARE KEY
des Knotens zu identifizieren.
sudo -i -u ${sid}adm -- sh -c 'saplikey -get'
Beispielausgabe:
$ sudo -i -u ${sid}adm -- sh -c 'saplikey -get'
saplikey: HARDWARE KEY = H1428224519
Beachten Sie die HARDWARE KEY
jedes Knotens.
Sie benötigen beide Hardwareschlüssel, um zwei verschiedene SAP Lizenzschlüssel anzufordern. Weitere Informationen zur Anforderung von SAP Lizenzschlüsseln finden Sie in den folgenden SAP Hinweisen:
Installation von SAP Ressourcen-Agenten
Installieren Sie die erforderlichen Softwarepakete.
resource-agents-sap
enthält den SAPInstance-Cluster-Ressourcenagenten für die Verwaltung der SAP-Instanzen.
Wenn sap_cluster_connector
nicht für die Instanz SAP konfiguriert ist, betrachtet der RHEL HA Add-On-Cluster jede Zustandsänderung der Instanz als Problem. Wenn andere SAP-Tools wie sapcontrol
zur Verwaltung der Instanz
verwendet werden, gewährt sap_cluster_connector
die Erlaubnis, SAP-Instanzen zu kontrollieren, die innerhalb des Clusters ausgeführt werden. Wenn die SAP-Instanzen nur von Cluster-Tools verwaltet werden, ist die Implementierung
von sap_cluster_connector
ist nicht erforderlich.
Installieren Sie die Pakete für den Resource Agent und die SAP Cluster Connector-Bibliothek. Weitere Informationen finden Sie unter Aktivieren der SAP HA-Schnittstelle für SAP ABAP-Anwendungsserver-Instanzen, die vom RHEL HA Add-On verwaltet werden
Führen Sie auf beiden Knoten die folgenden Befehle aus.
Falls erforderlich, verwenden Sie subscription-manager
, um das SAP NetWeaver Repository zu aktivieren. In der Dokumentation zu RHEL für SAP Subscriptions and Repositories wird beschrieben, wie Sie die erforderlichen Repositories aktivieren.
subscription-manager repos --enable="rhel-8-for-ppc64le-sap-netweaver-e4s-rpms"
Installieren Sie die erforderlichen Pakete.
dnf install -y resource-agents-sap sap-cluster-connector
Konfigurieren von SAP Cluster Connector
Fügen Sie den Benutzer ${sid}adm
zur Gruppe haclient
hinzu.
Führen Sie auf beiden Knoten den folgenden Befehl aus.
usermod -a -G haclient ${sid}adm
Anpassen der SAP Instanzprofile
Ändern Sie die Startprofile aller SAP Instanzen, die von SAP Tools außerhalb des Clusters verwaltet werden. Sowohl ASCS- als auch ERS-Instanzen können durch den RHEL HA Add-On-Cluster und seine Ressourcen-Agenten gesteuert werden. Passen Sie die SAP Instanzprofile an, um einen automatischen Neustart der Instanzprozesse zu verhindern.
Wechseln Sie auf NODE1 in das Profilverzeichnis SAP.
cd /sapmnt/${SID}/profile
Ändern Sie alle Vorkommen von Restart_Program
in Start_Program
im Instanzprofil sowohl von ASCS als auch von ERS.
sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}
sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ERS${ERS_INSTNO}_${ERS_VH}
Fügen Sie die folgenden zwei Zeilen am Ende des SAP Instanzprofils hinzu, um sap_cluster_connector
für die ASCS- und ERS-Instanzen zu konfigurieren.
service/halib = $(DIR_EXECUTABLE)/saphascriptco.so
service/halib_cluster_connector = /usr/bin/sap_cluster_connector
Konfiguration von ASCS- und ERS-Cluster-Ressourcen
Bis zu diesem Punkt wird Folgendes angenommen:
- Ein RHEL HA Add-On-Cluster läuft auf beiden virtuellen Serverinstanzen und das Fencing der Knoten wurde getestet.
- Das SAP-System läuft.
- SAP ASCS ist auf Knoten 1 des Clusters installiert und aktiv.
- SAP ERS ist auf Knoten 2 des Clusters installiert und aktiv.
- Alle Schritte zur Vorbereitung von ASCS- und ERS-Instanzen für die Cluster-Integration sind abgeschlossen.
Konfiguration der ASCS-Ressourcengruppe
Erstellen Sie eine Ressource für die virtuelle IP-Adresse des ASCS.
Führen Sie unter NODE1 den folgenden Befehl aus.
pcs resource create ${sid}_vip_ascs${ASCS_INSTNO} IPaddr2 \
ip=${ASCS_IP} \
--group ${sid}_ascs${ASCS_INSTNO}_group
In diesem Beispiel für die Erstellung von Ressourcen für ein HA-LVM-Dateisystem auf einem gemeinsam genutzten Speichervolumen erstellen Sie Ressourcen für LVM-activate und für das Instanz-Dateisystem des ASCS.
pcs resource create ${sid}_fs_ascs${ASCS_INSTNO}_lvm LVM-activate \
vgname="${ASCS_VG}" \
vg_access_mode=system_id \
--group ${sid}_ascs${ASCS_INSTNO}_group
pcs resource create ${sid}_fs_ascs${ASCS_INSTNO} Filesystem \
device="/dev/mapper/${ASCS_VG}-${ASCS_LV}" \
directory=/usr/sap/${SID}/ASCS${ASCS_INSTNO} \
fstype=xfs \
--group ${sid}_ascs${ASCS_INSTNO}_group
Im alternativen Beispiel, dass das Instanz-Dateisystem des ASCS von einem HA NFS-Server bereitgestellt wird, ist nur die Dateisystemressource erforderlich. Vergewissern Sie sich, dass Sie die Umgebungsvariable ${NFS_VH}
entsprechend Ihrem NFS-Server definiert haben und dass Sie während der SAP-Installation der ASCS-Instanz ein Verzeichnis ${SID}/ASCS
unter dem NFS-Stammverzeichnis erstellt haben.
pcs resource create ${sid}_fs_ascs${ASCS_INSTNO} Filesystem \
device="${NFS_VH}:${SID}/ASCS" \
directory=/usr/sap/${SID}/ASCS${ASCS_INSTNO} \
fstype=nfs \
options="${NFS_OPTIONS}" \
force_unmount=safe \
op start interval=0 timeout=60 \
op stop interval=0 timeout=120 \
--group ${sid}_ascs${ASCS_INSTNO}_group
Erstellen Sie eine Ressource für die Verwaltung der ASCS-Instanz.
pcs resource create ${sid}_ascs${ASCS_INSTNO} SAPInstance \
InstanceName="${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}" \
START_PROFILE=/sapmnt/${SID}/profile/${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH} \
AUTOMATIC_RECOVER=false \
meta resource-stickiness=5000 \
migration-threshold=1 failure-timeout=60 \
op monitor interval=20 on-fail=restart timeout=60 \
op start interval=0 timeout=600 \
op stop interval=0 timeout=600 \
--group ${sid}_ascs${ASCS_INSTNO}_group
Die Option meta resource-stickiness=5000
wird verwendet, um die Failover-Beschränkung mit ERS auszugleichen, sodass die Ressource auf dem Knoten bleibt, auf dem sie gestartet wurde, und nicht unkontrolliert im Cluster migriert
wird.
Fügen Sie der Gruppe eine Ressourcenklebekraft hinzu, um sicherzustellen, dass die ASCS auf dem Knoten bleibt.
pcs resource meta ${sid}_ascs${ASCS_INSTNO}_group \
resource-stickiness=3000
Konfiguration der ERS-Ressourcengruppe
Erstellen Sie eine Ressource für die virtuelle IP-Adresse des ERS.
Führen Sie unter NODE1 den folgenden Befehl aus.
pcs resource create ${sid}_vip_ers${ERS_INSTNO} IPaddr2 \
ip=${ERS_IP} \
--group ${sid}_ers${ERS_INSTNO}_group
Im Beispiel der Erstellung von Ressourcen für ein HA-LVM-Dateisystem auf einem gemeinsam genutzten Speichervolumen erstellen Sie Ressourcen für LVM-activate und für das Instanz-Dateisystem des ERS.
pcs resource create ${sid}_fs_ers${ERS_INSTNO}_lvm LVM-activate \
vgname="${ERS_VG}" \
vg_access_mode=system_id \
--group ${sid}_ers${ERS_INSTNO}_group
pcs resource create ${sid}_fs_ers${ERS_INSTNO} Filesystem \
device="/dev/mapper/${ERS_VG}-${ERS_LV}" \
directory=/usr/sap/${SID}/ERS${ERS_INSTNO} \
fstype=xfs \
--group ${sid}_ers${ERS_INSTNO}_group
Im alternativen Beispiel, dass das Instanz-Dateisystem des ERS von einem HA- NFS-Server bereitgestellt wird, ist nur die Dateisystemressource erforderlich. Stellen Sie sicher, dass Sie die Umgebungsvariable ${NFS_VH}
entsprechend Ihrem NFS-Server definiert haben und dass Sie während der SAP-Installation der ERS-Instanz ein Verzeichnis ${SID}/ERS
unter dem NFS-Stammverzeichnis erstellt haben.
pcs resource create ${sid}_fs_ers${ERS_INSTNO} Filesystem \
device="${NFS_VH}:${SID}/ERS" \
directory=/usr/sap/${SID}/ERS${ERS_INSTNO} \
fstype=nfs \
options="${NFS_OPTIONS}" \
force_unmount=safe \
op start interval=0 timeout=60 \
op stop interval=0 timeout=120 \
--group ${sid}_ers${ERS_INSTNO}_group
Erstellen Sie eine Ressource zur Verwaltung der ERS-Instanz.
pcs resource create ${sid}_ers${ERS_INSTNO} SAPInstance \
InstanceName="${SID}_ERS${ERS_INSTNO}_${ERS_VH}" \
START_PROFILE=/sapmnt/${SID}/profile/${SID}_ERS${ERS_INSTNO}_${ERS_VH} \
AUTOMATIC_RECOVER=false \
IS_ERS=true \
op monitor interval=20 on-fail=restart timeout=60 \
op start interval=0 timeout=600 \
op stop interval=0 timeout=600 \
--group ${sid}_ers${ERS_INSTNO}_group
Konfigurieren von Cluster-Ressourcenbeschränkungen
Eine Colocation-Einschränkung verhindert, dass Ressourcengruppen ${sid}_ascs${ASCS_INSTNO}_group
und ${sid}_ers${ERS_INSTNO}_group
nach Möglichkeit auf demselben Knoten aktiv sind. Der Klebrigkeitswert von -5000
stellt sicher, dass sie auf demselben Knoten ausgeführt werden, wenn nur ein einziger Knoten verfügbar ist.
pcs constraint colocation add \
${sid}_ers${ERS_INSTNO}_group with ${sid}_ascs${ASCS_INSTNO}_group -- -5000
Eine Ordnungsbeschränkung steuert, dass die Ressourcengruppe ${sid}_ascs${ASCS_INSTNO}_group
vor ${sid}_ers${ERS_INSTNO}_group
beginnt.
pcs constraint order start \
${sid}_ascs${ASCS_INSTNO}_group then stop ${sid}_ers${ERS_INSTNO}_group \
symmetrical=false \
kind=Optional
Die folgenden zwei Auftragsbeschränkungen stellen sicher, dass das Dateisystem SAPMNT vor dem Start der Ressourcengruppen ${sid}_ascs${ASCS_INSTNO}_group
und ${sid}_ers${ERS_INSTNO}_group
bereitgestellt wird.
pcs constraint order fs_sapmnt-clone then ${sid}_ascs${ASCS_INSTNO}_group
pcs constraint order fs_sapmnt-clone then ${sid}_ers${ERS_INSTNO}_group
Die Cluster-Einrichtung ist abgeschlossen.
Testen eines SAP ENSA2-Clusters
Es ist wichtig, die Clusterkonfiguration gründlich zu testen, um sicherzustellen, dass der Cluster ordnungsgemäß funktioniert. Die folgenden Informationen enthalten einige Beispielszenarien für Failover-Tests, stellen jedoch keine vollständige Liste der Testszenarien dar.
Zum Beispiel enthält die Beschreibung jedes Testfalls die folgenden Informationen.
- Zu prüfende Komponente
- Beschreibung des Tests
- Voraussetzungen und Ausgangszustand vor dem Failover-Test
- Testverfahren
- Erwartetes Verhalten und Ergebnisse
- Wiederherstellungsprozedur
Test 1 – Testen eines Fehlers der ASCS-Instanz
Test 1 – Beschreibung
Simulieren Sie einen Absturz der SAP ASCS- Instanz, die auf NODE1 ausgeführt wird.
Test 1 – Voraussetzungen
- Ein funktionsfähiger RHEL HA Add-On-Cluster mit zwei Knoten für SAP ENSA2.
- Beide Cluster-Knoten sind aktiv.
- Cluster wird auf NODE1 und NODE2 gestartet.
- Die Ressourcengruppe ${sid}_ascs${ASCS_INSTNO}_group ist unter NODE1 aktiv.
- Ressourcen ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} und ${sid}_ascs$ {ASCS_INSTNO} sind
Started
auf NODE1. - Die Ressourcengruppe ${sid}_ers${ERS_INSTNO}_group ist unter NODE2 aktiv.
- Die Ressourcen ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} und ${sid}_ers$ {ERS_INSTNO} sind
Started
auf NODE2.
- Überprüfen Sie die Prozesse der Instanz SAP:
- Die ASCS-Instanz wird unter NODE1 ausgeführt.
- Die ERS-Instanz wird unter NODE2 ausgeführt.
pcs status
Beispielausgabe:
# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
* Stack: corosync
* Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
* Last updated: Tue Feb 14 07:59:16 2023
* Last change: Tue Feb 14 05:02:22 2023 by hacluster via crmd on cl-sap-1
* 2 nodes configured
* 11 resource instances configured
Node List:
* Online: [ cl-sap-1 cl-sap-2 ]
Full List of Resources:
* res_fence_ibm_powervs (stonith:fence_ibm_powervs): Started cl-sap-2
* Resource Group: s01_ascs01_group:
* s01_vip_ascs01 (ocf::heartbeat:IPaddr2): Started cl-sap-1
* s01_fs_ascs01_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-1
* s01_fs_ascs01 (ocf::heartbeat:Filesystem): Started cl-sap-1
* s01_ascs01 (ocf::heartbeat:SAPInstance): Started cl-sap-1
* Resource Group: s01_ers02_group:
* s01_vip_ers02 (ocf::heartbeat:IPaddr2): Started cl-sap-2
* s01_fs_ers02_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-2
* s01_fs_ers02 (ocf::heartbeat:Filesystem): Started cl-sap-2
* s01_ers02 (ocf::heartbeat:SAPInstance): Started cl-sap-2
* Clone Set: fs_sapmnt-clone [fs_sapmnt]:
* Started: [ cl-sap-1 cl-sap-2 ]
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
Test 1 – Testverfahren
Um die SAP ASCS- Instanz zum Absturz zu bringen, senden Sie als Benutzer ein SIGKILL-Signal an den Enque-Server. ${sid}adm
.
Ermitteln Sie unter NODE1 die PID des Enque-Servers.
pgrep -af "(en|enq).sap"
Senden Sie ein SIGKILL-Signal an den identifizierten Prozess.
Beispielausgabe:
# pgrep -af "(en|enq).sap"
30186 en.sapS01_ASCS01 pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs
# kill -9 30186
Test 1 – Erwartetes Verhalten
- SAP ASCS-Instanz auf NODE1 stürzt ab.
- Der Cluster erkennt die abgestürzte ASCS- Instanz.
- Der Cluster stoppt die abhängigen Ressourcen auf NODE1 (virtuelle IP-Adresse, Dateisystem
/usr/sap/${SID}/ASCS${ASCS_INSTNO}
und die LVM-Ressourcen) und ruft sie auf NODE2 ab. - Der Cluster startet die ASCS auf NODE2.
- Der Cluster stoppt die ERS-Instanz auf NODE2.
- Der Cluster stoppt die abhängigen Ressourcen auf NODE1 (virtuelle IP-Adresse, Dateisystem
/usr/sap/${SID}/ERS${ERS_INSTNO}
und die LVM-Ressourcen) und ruft sie auf NODE1 ab. - Der Cluster startet den ERS auf NODE1.
Überprüfen Sie nach einigen Sekunden den Status mit dem folgenden Befehl.
pcs status
Beispielausgabe:
# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
* Stack: corosync
* Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
* Last updated: Tue Feb 14 08:10:18 2023
* Last change: Tue Feb 14 05:02:22 2023 by hacluster via crmd on cl-sap-1
* 2 nodes configured
* 11 resource instances configured
Node List:
* Online: [ cl-sap-1 cl-sap-2 ]
Full List of Resources:
* res_fence_ibm_powervs (stonith:fence_ibm_powervs): Started cl-sap-2
* Resource Group: s01_ascs01_group:
* s01_vip_ascs01 (ocf::heartbeat:IPaddr2): Started cl-sap-2
* s01_fs_ascs01_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-2
* s01_fs_ascs01 (ocf::heartbeat:Filesystem): Started cl-sap-2
* s01_ascs01 (ocf::heartbeat:SAPInstance): Started cl-sap-2
* Resource Group: s01_ers02_group:
* s01_vip_ers02 (ocf::heartbeat:IPaddr2): Started cl-sap-1
* s01_fs_ers02_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-1
* s01_fs_ers02 (ocf::heartbeat:Filesystem): Started cl-sap-1
* s01_ers02 (ocf::heartbeat:SAPInstance): Started cl-sap-1
* Clone Set: fs_sapmnt-clone [fs_sapmnt]:
* Started: [ cl-sap-1 cl-sap-2 ]
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
Test 2 – Testen eines Fehlers des Knotens, auf dem die ASCS-Instanz ausgeführt wird
Verwenden Sie die folgenden Informationen, um einen Fehler des Knotens zu testen, auf dem die ASCS-Instanz ausgeführt wird.
Test 2 – Beschreibung
Simulieren Sie einen Absturz des Knotens, auf dem die ASCS-Instanz ausgeführt wird.
Test 2 – Voraussetzungen
- Ein funktionsfähiger RHEL HA Add-On-Cluster mit zwei Knoten für SAP ENSA2.
- Beide Cluster-Knoten sind aktiv.
- Cluster wird auf NODE1 und NODE2 gestartet.
- Die Ressourcengruppe ${sid}_ascs${ASCS_INSTNO}_group ist unter NODE2 aktiv.
- Ressourcen ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} und ${sid}_ascs$ {ASCS_INSTNO} sind
Started
auf NODE2. - Die Ressourcengruppe ${sid}_ers${ERS_INSTNO}_group ist unter NODE1 aktiv.
- Die Ressourcen ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} und ${sid}_ers$ {ERS_INSTNO} sind
Started
auf NODE1.
- Überprüfen Sie die Prozesse der Instanz SAP:
- Die ASCS-Instanz wird unter NODE2 ausgeführt.
- Die ERS-Instanz wird unter NODE1 ausgeführt.
Test 2 – Testverfahren
Senden Sie eine Crash-System-Anfrage an NODE2.
Führen Sie unter NODE2 den folgenden Befehl aus.
sync; echo c > /proc/sysrq-trigger
Test 2 – Erwartetes Verhalten
- NODE2 neustarts.
- Der Cluster erkennt den ausgefallenen Knoten und setzt seinen Status auf "offline" (UNCLEAN).
- Der Cluster bezieht die ASCS-Ressourcen (virtuelle IP-Adresse, Dateisystem
/usr/sap/${SID}/ASCS${ASCS_INSTNO}
und die LVM-Elemente) über NODE1. - Der Cluster startet die ASCS auf NODE1.
- Der Cluster stoppt die ERS-Instanz auf NODE1.
- Der Cluster stoppt die abhängigen Ressourcen auf NODE1 (virtuelle IP-Adresse, Dateisystem
/usr/sap/${SID}/ERS${ERS_INSTNO}
und die LVM-Ressourcen) und gibt sie frei.
Überprüfen Sie nach einer Weile den Status mit dem folgenden Befehl.
Der zweite Knoten ist offline und beide Ressourcengruppen werden auf dem ersten Knoten ausgeführt.
pcs status
Beispielausgabe:
# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
* Stack: corosync
* Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
* Last updated: Tue Feb 14 08:34:16 2023
* Last change: Tue Feb 14 08:34:04 2023 by hacluster via crmd on cl-sap-1
* 2 nodes configured
* 11 resource instances configured
Node List:
* Online: [ cl-sap-1 ]
* OFFLINE: [ cl-sap-2 ]
Full List of Resources:
* res_fence_ibm_powervs (stonith:fence_ibm_powervs): Started cl-sap-1
* Resource Group: s01_ascs01_group:
* s01_vip_ascs01 (ocf::heartbeat:IPaddr2): Started cl-sap-1
* s01_fs_ascs01_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-1
* s01_fs_ascs01 (ocf::heartbeat:Filesystem): Started cl-sap-1
* s01_ascs01 (ocf::heartbeat:SAPInstance): Started cl-sap-1
* Resource Group: s01_ers02_group:
* s01_vip_ers02 (ocf::heartbeat:IPaddr2): Started cl-sap-1
* s01_fs_ers02_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-1
* s01_fs_ers02 (ocf::heartbeat:Filesystem): Started cl-sap-1
* s01_ers02 (ocf::heartbeat:SAPInstance): Started cl-sap-1
* Clone Set: fs_sapmnt-clone [fs_sapmnt]:
* Started: [ cl-sap-1 ]
* Stopped: [ cl-sap-2 ]
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
Test 2 – Wiederherstellungsverfahren
Warten Sie, bis NODE2 neu gestartet wurde, und starten Sie dann das Cluster-Framework neu.
Führen Sie unter NODE1 den folgenden Befehl aus.
pcs cluster start
- Der Cluster startet auf NODE2 und bezieht die ERS-Ressourcen (virtuelle IP-Adresse, Dateisystem
/usr/sap/${SID}/ERS${ERS_INSTNO}
und die LVM-Ressourcen) auf NODE2. - Der Cluster startet die ERS-Instanz auf NODE2.
Warten Sie einen Moment und überprüfen Sie den Status mit dem folgenden Befehl. Die ERS-Ressourcengruppe wechselte zum zweiten Knoten.
pcs status
Beispielausgabe:
# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
* Stack: corosync
* Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
* Last updated: Tue Feb 14 08:41:23 2023
* Last change: Tue Feb 14 08:34:04 2023 by hacluster via crmd on cl-sap-1
* 2 nodes configured
* 11 resource instances configured
Node List:
* Online: [ cl-sap-1 cl-sap-2 ]
Full List of Resources:
* res_fence_ibm_powervs (stonith:fence_ibm_powervs): Started cl-sap-1
* Resource Group: s01_ascs01_group:
* s01_vip_ascs01 (ocf::heartbeat:IPaddr2): Started cl-sap-1
* s01_fs_ascs01_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-1
* s01_fs_ascs01 (ocf::heartbeat:Filesystem): Started cl-sap-1
* s01_ascs01 (ocf::heartbeat:SAPInstance): Started cl-sap-1
* Resource Group: s01_ers02_group:
* s01_vip_ers02 (ocf::heartbeat:IPaddr2): Started cl-sap-2
* s01_fs_ers02_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-2
* s01_fs_ers02 (ocf::heartbeat:Filesystem): Started cl-sap-2
* s01_ers02 (ocf::heartbeat:SAPInstance): Started cl-sap-2
* Clone Set: fs_sapmnt-clone [fs_sapmnt]:
* Started: [ cl-sap-1 cl-sap-2 ]
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
Test 3 – Testen eines Ausfalls der ERS-Instanz
Verwenden Sie die folgenden Informationen, um den Ausfall einer ERS-Instanz zu testen.
Test 3 – Beschreibung
Simulieren Sie einen Absturz der ERS-Instanz.
Test 3 – Voraussetzungen
- Ein funktionsfähiger RHEL HA Add-On-Cluster mit zwei Knoten für SAP ENSA2.
- Beide Cluster-Knoten sind aktiv.
- Cluster beginnt auf NODE1 und NODE2.
- Die Ressourcengruppe ${sid}_ascs${ASCS_INSTNO}_group ist unter NODE1 aktiv.
- Ressourcen ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} und ${sid}_ascs$ {ASCS_INSTNO} sind
Started
auf NODE1. - Die Ressourcengruppe ${sid}_ers${ERS_INSTNO}_group ist unter NODE2 aktiv.
- Die Ressourcen ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} und ${sid}_ers$ {ERS_INSTNO} sind
Started
auf NODE2.
- Überprüfen Sie die Prozesse der Instanz SAP:
- Die ASCS-Instanz wird unter NODE1 ausgeführt.
- Die ERS-Instanz wird unter NODE2 ausgeführt.
Test 3 – Testverfahren
Stürzen Sie die ERS-Instanz SAP durch Senden eines SIGKILL-Signals ab.
Ermitteln Sie unter NODE2 die PID des Enque-Replikationsservers.
pgrep -af "(er|enqr).sap"
Senden Sie ein SIGKILL-Signal an den identifizierten Prozess.
Beispielausgabe:
# pgrep -af "(er|enqr).sap"
2527198 er.sapS01_ERS02 pf=/usr/sap/S01/ERS02/profile/S01_ERS02_cl-sap-ers NR=01
# kill -9 2527198
Test 3 – Erwartetes Verhalten
- SAP Enqueue Replication Server auf NODE2 stürzt sofort ab.
- Der Cluster erkennt das gestoppte ERS und markiert die Ressource als ausgefallen.
- Der Cluster startet den ERS auf NODE2 neu.
Überprüfen Sie den Status mit dem folgenden Befehl.
pcs status
Die ERS-Ressource ${sid}_ers${ERS_INSTNO}
wurde auf dem zweiten Knoten neu gestartet. Wenn Sie den Befehl pcs status
zu früh ausführen, wird die ERS-Ressource möglicherweise kurzzeitig im Status
FAILED
angezeigt.
Beispielausgabe:
# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
* Stack: corosync
* Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
* Last updated: Tue Feb 14 08:50:53 2023
* Last change: Tue Feb 14 08:50:50 2023 by hacluster via crmd on cl-sap-2
* 2 nodes configured
* 11 resource instances configured
Node List:
* Online: [ cl-sap-1 cl-sap-2 ]
Full List of Resources:
* res_fence_ibm_powervs (stonith:fence_ibm_powervs): Started cl-sap-1
* Resource Group: s01_ascs01_group:
* s01_vip_ascs01 (ocf::heartbeat:IPaddr2): Started cl-sap-1
* s01_fs_ascs01_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-1
* s01_fs_ascs01 (ocf::heartbeat:Filesystem): Started cl-sap-1
* s01_ascs01 (ocf::heartbeat:SAPInstance): Started cl-sap-1
* Resource Group: s01_ers02_group:
* s01_vip_ers02 (ocf::heartbeat:IPaddr2): Started cl-sap-2
* s01_fs_ers02_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-2
* s01_fs_ers02 (ocf::heartbeat:Filesystem): Started cl-sap-2
* s01_ers02 (ocf::heartbeat:SAPInstance): Started cl-sap-2
* Clone Set: fs_sapmnt-clone [fs_sapmnt]:
* Started: [ cl-sap-1 cl-sap-2 ]
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
Test 3 – Wiederherstellungsverfahren
Führen Sie unter NODE2 die folgenden Befehle aus.
pcs resource refresh
pcs status --full
Test 4 – Testen einer manuellen Verschiebung der ASCS-Instanz
Verwenden Sie die folgenden Informationen, um eine manuelle Verschiebung einer ASCS-Instanz zu testen.
Test 4 – Beschreibung
Verwenden Sie SAP Steuerbefehle, um die ASCS-Instanz zu Wartungszwecken auf den anderen Knoten zu verschieben.
Test 4 – Voraussetzungen
- Ein funktionsfähiger RHEL HA Add-On-Cluster mit zwei Knoten für SAP ENSA2.
- Die
sap_cluster_connector
ist installiert und konfiguriert. - Beide Cluster-Knoten sind aktiv.
- Cluster wird auf NODE1 und NODE2 gestartet.
- Die Ressourcengruppe ${sid}_ascs${ASCS_INSTNO}_group ist unter NODE1 aktiv.
- Ressourcen ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} und ${sid}_ascs$ {ASCS_INSTNO} sind
Started
auf NODE1. - Die Ressourcengruppe ${sid}_ers${ERS_INSTNO}_group ist unter NODE2 aktiv.
- Die Ressourcen ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} und ${sid}_ers$ {ERS_INSTNO} sind
Started
auf NODE2.
- Überprüfen Sie die Prozesse der Instanz SAP:
- Die ASCS-Instanz wird unter NODE1 ausgeführt.
- Die ERS-Instanz wird unter NODE2 ausgeführt.
Test 4 – Testverfahren
Melden Sie sich bei NODE1 an und führen Sie sapcontrol
aus, um die ASCS-Instanz auf den anderen Knoten zu verschieben.
sudo -i -u ${sid}adm -- sh -c "sapcontrol -nr ${ASCS_INSTNO} -function HAFailoverToNode"
Test 4 – Erwartetes Verhalten
sapcontrol
interagiert mit dem Cluster übersap-cluster-connector
.- Der Cluster erzeugt Standortbeschränkungen, um die Ressource zu verschieben.
Überprüfen Sie den Status mit dem folgenden Befehl. Beachten Sie, dass die Ressourcengruppe ASCS zum zweiten Knoten verschoben wurde. Wenn Sie den Befehl pcs status
zu früh ausführen, werden möglicherweise einige Ressourcen
stopping
und starting
angezeigt.
pcs status
Beispielausgabe:
# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
* Stack: corosync
* Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
* Last updated: Tue Feb 14 09:03:19 2023
* Last change: Tue Feb 14 09:01:40 2023 by s01adm via crm_resource on cl-sap-1
* 2 nodes configured
* 11 resource instances configured
Node List:
* Online: [ cl-sap-1 cl-sap-2 ]
Full List of Resources:
* res_fence_ibm_powervs (stonith:fence_ibm_powervs): Started cl-sap-1
* Resource Group: s01_ascs01_group:
* s01_vip_ascs01 (ocf::heartbeat:IPaddr2): Started cl-sap-2
* s01_fs_ascs01_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-2
* s01_fs_ascs01 (ocf::heartbeat:Filesystem): Started cl-sap-2
* s01_ascs01 (ocf::heartbeat:SAPInstance): Started cl-sap-2
* Resource Group: s01_ers02_group:
* s01_vip_ers02 (ocf::heartbeat:IPaddr2): Started cl-sap-1
* s01_fs_ers02_lvm (ocf::heartbeat:LVM-activate): Started cl-sap-1
* s01_fs_ers02 (ocf::heartbeat:Filesystem): Started cl-sap-1
* s01_ers02 (ocf::heartbeat:SAPInstance): Started cl-sap-1
* Clone Set: fs_sapmnt-clone [fs_sapmnt]:
* Started: [ cl-sap-1 cl-sap-2 ]
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
Test 4 – Wiederherstellungsverfahren
Warten Sie, bis die ASCS-Instanz auf NODE2 aktiv ist. Nach fünf Minuten entfernt der Cluster die erstellten Standortbeschränkungen automatisch.
Die folgenden Anweisungen zeigen, wie Sie die Einschränkungen manuell entfernen können.
Führen Sie unter NODE2 den folgenden Befehl aus.
pcs constraint
Beispielausgabe:
# pcs constraint
Location Constraints:
Resource: s01_ascs01_group
Constraint: cli-ban-s01_ascs01_group-on-cl-sap-1
Rule: boolean-op=and score=-INFINITY
Expression: #uname eq string cl-sap-1
Expression: date lt 2023-02-08 09:33:50 -05:00
Ordering Constraints:
start s01_ascs01_group then stop s01_ers02_group (kind:Optional) (non-symmetrical)
start fs_sapmnt-clone then start s01_ascs01_group (kind:Mandatory)
start fs_sapmnt-clone then start s01_ers02_group (kind:Mandatory)
Colocation Constraints:
s01_ers02_group with s01_ascs01_group (score:-5000)
Ticket Constraints:
pcs resource clear ${sid}_ascs${ASCS_INSTNO}_group
Die Standortbeschränkungen werden aufgehoben:
pcs constraint
Beispielausgabe:
# pcs constraint
Location Constraints:
Ordering Constraints:
start s01_ascs01_group then stop s01_ers02_group (kind:Optional) (non-symmetrical)
start fs_sapmnt-clone then start s01_ascs01_group (kind:Mandatory)
start fs_sapmnt-clone then start s01_ers02_group (kind:Mandatory)
Colocation Constraints:
s01_ers02_group with s01_ascs01_group (score:-5000)
Ticket Constraints: