IBM Cloud Docs
Konfigurieren der Hochverfügbarkeit für SAP S/4HANA (ASCS und ERS) in einem Red Hat Enterprise Linux High Availability Add-On-Cluster

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.

  1. Melden Sie sich bei IBM Cloud® an, um die Ansicht "Speichervolumen" von Power Virtual Server aufzurufen.

  2. Wählen Sie Ihren Arbeitsbereich.

  3. 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 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 SAPMNT-Cluster-Ressource

Erstellen Sie eine geklonte Dateisystem-Clusterressource, um die SAPMNT- Freigabe von einem externen NFS Server auf allen Clusterknoten bereitzustellen.

Stellen Sie sicher, dass die Umgebungsvariable ${NFS_VH} auf den virtuellen Hostnamen des NFS-Servers und ${NFS_OPTIONS} auf die gewünschten Mount-Optionen eingestellt ist.

Führen Sie unter NODE1 den folgenden Befehl aus.

pcs resource create fs_sapmnt Filesystem \
    device="${NFS_VH}:/${SID}/sapmnt" \
    directory="/sapmnt/${SID}" \
    fstype='nfs' \
    options="${NFS_OPTIONS}" \
    clone interleave=true

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 über sap-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: