Bereitstellen von SAP-Dialoginstanzen mit SAP ASCS/SCS-Hochverfügbarkeits-VMs auf RHEL
In diesem Artikel wird beschrieben, wie Sie die Dialoginstanz Primary Application Server (PAS) und Additional Application Server (AAS) auf demselben Hochverfügbarkeitscluster von ABAP SAP Central Services (ASCS)/SAP Central Services (SCS) installieren und konfigurieren, der unter Red Hat Enterprise Linux (RHEL) ausgeführt wird.
References
- Konfiguration von SAP S/4HANA ASCS/ERS mit Standalone-Enqueue-Server 2 (ENSA2) in Pacemaker
- Konfigurieren von SAP NetWeaver ASCS/ERS ENSA1 mit eigenständigen Ressourcen in RHEL 7.5+ und RHEL 8
- SAP-Hinweis 1928533 mit folgenden Informationen:
- Eine Liste der Azure-VM-Größen, die für die Bereitstellung von SAP-Software unterstützt werden.
- Wichtige Kapazitätsinformationen für Azure-VM-Größen
- Unterstützte SAP-Software und Kombinationen aus Betriebssystem (OS) und Datenbank.
- Erforderliche SAP-Kernelversion für Windows und Linux in Azure.
- In SAP-Hinweis 2015553 sind die Voraussetzungen für Bereitstellungen von SAP-Software in Azure aufgeführt, die von SAP unterstützt werden.
- SAP-Hinweis 2002167 enthält die empfohlenen Betriebssystemeinstellungen für Red Hat Enterprise Linux 7.x.
- SAP-Hinweis 2772999 enthält die empfohlenen Betriebssystemeinstellungen für Red Hat Enterprise Linux 8.x.
- SAP-Hinweis 2009879 enthält SAP HANA-Richtlinien für Red Hat Enterprise Linux.
- SAP-Hinweis 2178632 enthält ausführliche Informationen zu allen Überwachungsmetriken, die für SAP in Azure gemeldet werden.
- SAP-Hinweis 2191498 enthält die erforderliche SAP Host Agent-Version für Linux in Azure.
- SAP-Hinweis 2243692 enthält Informationen zur SAP-Lizenzierung unter Linux in Azure.
- SAP-Hinweis 1999351 enthält Informationen zur Problembehandlung für die Azure Enhanced Monitoring-Erweiterung für SAP.
- Das SAP-Community-Wiki enthält alle erforderlichen SAP-Hinweise für Linux.
- Azure Virtual Machines – Planung und Implementierung für SAP unter Linux
- Bereitstellung von Azure Virtual Machines für SAP unter Linux
- Azure Virtual Machines – DBMS-Bereitstellung für SAP unter Linux
- SAP NetWeaver im Pacemaker-Cluster
- Allgemeine RHEL-Dokumentation:
- Azure-spezifische RHEL-Dokumentation:
Übersicht
In diesem Artikel wird das Kostenoptimierungsszenario beschrieben, in dem Sie Dialoginstanzen von PAS und AAS mit SAP ASCS/SCS- und Enqueue Replication Server (ERS)-Instanzen in einer Einrichtung für hohe Verfügbarkeit bereitstellen. Um die Anzahl der VMs für ein einzelnes SAP-System zu minimieren, möchten Sie PAS und AAS auf demselben Host installieren, auf dem SAP ASCS/SCS und SAP ERS ausgeführt werden. Da SAP ASCS/SCS im Hochverfügbarkeitscluster-Setup konfiguriert ist, möchten Sie, dass PAS und AAS auch vom Cluster verwaltet werden. Die Konfiguration ist im Grunde eine Ergänzung zum bereits konfigurierten SAP ASCS/SCS-Cluster-Setup. In diesem Setup werden PAS und AAS auf einem virtuellen Hostnamen installiert und sein Instanzverzeichnis wird vom Cluster verwaltet.
Für dieses Setup benötigen PAS und AAS ein hochverfügbares Instanzverzeichnis (/usr/sap/<SID>/D<nr>
). Sie können das Dateisystem des Instanzverzeichnisses auf demselben hochverfügbaren Speicher platzieren, den Sie für die ASCS- und ERS-Instanzkonfiguration verwendet haben. Die vorgestellte Architektur zeigt NFS auf Azure Files oder Azure NetApp Files für hochverfügbare Instanzverzeichnisse für die Einrichtung.
Das in diesem Artikel gezeigte Beispiel zur Beschreibung der Bereitstellung verwendet die folgenden Systeminformationen:
Instanzname | Instanznummer | Name des virtuellen Hosts | Virtuelle IP (Probe-Port) |
---|---|---|---|
ABAP SAP Central Services (ASCS) | 00 | sapascs | 10.90.90.10 (62000) |
Enqueue-Replikationsserver (ERS) | 01 | sapers | 10.90.90.9 (62001) |
Primärer Anwendungsserver (Primary Application Server, PAS) | 02 | sappas | 10.90.90.30 (62002) |
Zusätzlicher Anwendungsserver (Additional Application Server, AAS) | 03 | sapers | 10.90.90.31 (62003) |
SAP-Systembezeichner | NW1 | --- | --- |
Hinweis
Installieren Sie weitere SAP-Anwendungsinstanzen auf separaten VMs, wenn Sie horizontal skalieren möchten.
Wichtige Überlegungen für die Kostenoptimierungslösung
- Nur zwei Dialoginstanzen, PAS und ein AAS, können mit der SAP ASCS/SCS-Clustereinrichtung bereitgestellt werden.
- Wenn Sie Ihr SAP-System mit weiteren Anwendungsservern (wie sapa03 und sapa04) skalieren möchten, können Sie diese in separaten VMs installieren. Wenn PAS und AAS auf virtuellen Hostnamen installiert werden, können Sie weitere Anwendungsserver entweder mit physischen oder virtuellen Hostnamen in separaten VMs installieren. Weitere Informationen zum Zuweisen eines virtuellen Hostnamens zu einer VM finden Sie im Blog Verwenden von SAP Virtual Host-Namen mit Linux in Azure.
- Bei der PAS- und AAS-Bereitstellung mit einem SAP ASCS/SCS-Cluster-Setup muss die Instanznummer von ASCS, ERS, PAS und AAS unterschiedlich sein.
- Erwägen Sie die angemessene Dimensionierung Ihrer VM-SKUs basierend auf den Dimensionierungsrichtlinien. Sie müssen das Clusterverhalten berücksichtigen, bei dem mehrere SAP-Instanzen (ASCS, ERS, PAS und AAS) auf einer einzelnen VM ausgeführt werden können, wenn andere VMs im Cluster nicht verfügbar sind.
- Die Dialoginstanzen (PAS und AAS), die mit einem SAP ASCS/SCS-Cluster-Setup ausgeführt werden, müssen unter Verwendung eines virtuellen Hostnamens installiert werden.
- Sie müssen außerdem dieselbe Speicherlösung des SAP ASCS/SCS-Cluster-Setups verwenden, um PAS- und AAS-Instanzen bereitzustellen. Wenn Sie beispielsweise einen SAP ASCS/SCS-Cluster mit NFS auf Azure-Dateien konfiguriert haben, muss dieselbe Speicherlösung verwendet werden, um PAS und AAS bereitzustellen.
- Das Instanzverzeichnis
/usr/sap/<SID>/D<nr>
von PAS und AAS muss in einem NFS-Dateisystem bereitgestellt werden und wird vom Cluster als Ressource verwaltet.Hinweis
Bei SAP J2EE-Systemen wird die Platzierung von
/usr/sap/<SID>/J<nr>
in NFS in Azure Files nicht unterstützt. - Um weitere Anwendungsserver auf separaten VMs zu installieren, können Sie entweder NFS-Freigaben oder einen lokalen verwalteten Datenträger für ein Instanzverzeichnisdateisystem verwenden. Wenn Sie weitere Anwendungsserver für ein SAP J2EE-System installieren, wird
/usr/sap/<SID>/J<nr>
auf NFS auf Azure Files nicht unterstützt. - In einer herkömmlichen Hochverfügbarkeitskonfiguration von SAP ASCS/SCS sind Anwendungsserverinstanzen, die auf separaten VMs ausgeführt werden, nicht betroffen, wenn es Auswirkungen auf SAP ASCS- und ERS-Clusterknoten gibt. Bei der Konfiguration zur Kostenoptimierung wird jedoch entweder die PAS- oder die AAS-Instanz neu gestartet, wenn sich dies auf einen der Knoten im Cluster auswirkt.
- Siehe Überlegungen zu NFS in Azure Files und Überlegungen zu Azure NetApp Files, da für dieses Setup die gleichen Überlegungen gelten.
Voraussetzungen
Die in diesem Artikel beschriebene Konfiguration ist eine Ergänzung zu Ihrem bereits konfigurierten SAP ASCS/SCS-Cluster-Setup. In dieser Konfiguration werden PAS und AAS auf einem virtuellen Hostnamen installiert und sein Instanzverzeichnis wird vom Cluster verwaltet. Verwenden Sie basierend auf Ihrem Speicher die in den folgenden Artikeln beschriebenen Schritte, um die SAPInstance
-Ressource für die SAP ASCS- und SAP ERS-Instanz im Cluster zu konfigurieren.
- NFS in Azure Files: Hochverfügbarkeit von Azure-VMs für SAP NW in RHEL mit NFS in Azure Files
- Azure NetApp Files: Hochverfügbarkeit von Azure-VMs für SAP NW in RHEL mit NFS in Azure Files
Nachdem Sie die ASCS-, ERS- und Datenbank-Instanz mithilfe von Software Provisioning Manager (SWPM) installiert haben, führen Sie die nächsten Schritte aus, um die PAS- und AAS-Instanzen zu installieren.
Konfigurieren Sie Azure Load Balancer für PAS und AAS
In diesem Artikel wird davon ausgegangen, dass Sie den Lastenausgleich für die Einrichtung des SAP-ASCS/SCS-Clusters bereits konfiguriert haben, wie in Konfigurieren des Azure Load Balancer beschrieben. Führen Sie in derselben Azure Load Balancer-Instanz die folgenden Schritte aus, um weitere Front-End-IPs und Lastenausgleichsregeln für PAS und AAS zu erstellen.
- Öffnen Sie den internen Lastenausgleich, der für die Einrichtung des SAP ASCS/SCS-Clusters erstellt wurde.
- Front-End-IP-Konfiguration: Erstellen Sie zwei Front-End-IP-Adressen – eine für PAS und eine für AAS (z. B. 10.90.90.30 und 10.90.90.31).
- Back-End Pool: Dieser Pool bleibt gleich, da wir PAS und AAS auf demselben Back-End-Pool bereitstellen.
- Regeln für eingehenden Datenverkehr: Erstellen Sie zwei Lastenausgleichsregeln (eine für PAS und eine für AAS). Führen Sie die gleichen Schritte für beide Lastenausgleichsregeln aus.
- Front-End-IP-Adresse: Wählen Sie die Front-End-IP-Adresse aus.
- Back-End-Pool: Wählen Sie den Back-End-Pool aus.
- Hochverfügbarkeitsports: Wählen Sie diese Option aus.
- Protokoll: Wählen Sie TCP.
- Integritätstest: Erstellen Sie einen Integritätstest mit den folgenden Details (gilt für PAS und AAS):
- Protokoll: Wählen Sie TCP.
- Port: z. B. 620<Instanz-Nr.> für PAS und 620<Instanz-Nr.> für AAS.
- Intervall: Geben Sie 5 ein.
- Testschwellenwert: Geben Sie 2 ein.
- Leerlauftimeout (Minuten): Geben Sie 30 ein.
- Floating IP aktivieren: Wählen Sie diese Option aus.
Die Konfigurationseigenschaft numberOfProbes
für Integritätstests, im Azure-Portal auch als Fehlerschwellenwert bezeichnet, wird nicht beachtet. Legen Sie die Eigenschaft probeThreshold
auf 2
fest, um die Anzahl erfolgreicher oder nicht erfolgreicher aufeinanderfolgender Integritätstests zu steuern. Es ist derzeit nicht möglich, diese Eigenschaft mithilfe des Azure-Portals festzulegen. Verwenden Sie entweder die Azure CLI oder den PowerShell-Befehl.
Wenn VMs ohne öffentliche IP-Adressen in den Backend-Pool einer internen (keine öffentliche IP-Adresse) Standard-Azure Load Balancer-Instanz platziert werden, gibt es keine ausgehende Internet-Konnektivität, es sei denn, es werden weitere Konfigurationen vorgenommen, um das Routing zu öffentlichen Endpunkten zu ermöglichen. Schritte zum Erreichen einer ausgehenden Konnektivität finden Sie unter Konnektivität mit öffentlichen Endpunkten für VMs mithilfe von Azure Load Balancer Standard in SAP-Hochverfügbarkeitsszenarien.
Wichtig
Aktivieren Sie keine TCP-Zeitstempel auf Azure-VMs, die sich hinter Azure Load Balancer befinden. Die Aktivierung von TCP-Zeitstempeln führt dazu, dass die Health Probes fehlschlagen. Setzen Sie den Parameter net.ipv4.tcp_timestamps
auf 0
. Weitere Informationen finden Sie unter Lastenausgleichs-Integritätstests.
Vorbereiten der Server für die PAS- und AAS-Installation
Einige Schritte in diesem Dokument sind mit Präfixen gekennzeichnet. Diese bedeuten Folgendes:
- [A]: gilt für alle Knoten.
- [1]: gilt nur für Knoten 1.
- [2]: gilt nur für Knoten 2.
[A] Einrichten von Hostnamenauflösung.
Sie können entweder einen DNS-Server verwenden oder
/etc/hosts
auf allen Knoten ändern. In diesem Beispiel wird die Verwendung der Datei/etc/hosts
gezeigt. Ersetzen Sie in den folgenden Befehlen die IP-Adresse und den Hostnamen:sudo vi /etc/hosts # IP address of cluster node 1 10.90.90.7 sap-cl1 # IP address of cluster node 2 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers # IP address of the load balancer frontend configuration for SAP Netweaver PAS 10.90.90.30 sappas # IP address of the load balancer frontend configuration for SAP Netweaver AAS 10.90.90.31 sapaas
[1] Erstellen Sie die SAP-Verzeichnisse auf der NFS-Freigabe. Binden Sie vorübergehend die NFS-Freigabe sapnw1 auf einer der VMs ein und erstellen Sie die SAP-Verzeichnisse, die als verschachtelte Einbindungspunkte verwendet werden.
Bei Verwendung von NFS für Azure Files:
# mount temporarily the volume sudo mkdir -p /saptmp sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys # create the SAP directories sudo cd /saptmp sudo mkdir -p usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
Bei Verwendung von Azure NetApp Files:
# mount temporarily the volume sudo mkdir -p /saptmp # If using NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 10.90.91.5:/sapnw1 /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys,tcp 10.90.91.5:/sapnw1 /saptmp # create the SAP directories sudo cd /saptmp sudo mkdir -p usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory sudo cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] Erstellen der freigegebenen Verzeichnisse.
sudo mkdir -p /usr/sap/NW1/D02 sudo mkdir -p /usr/sap/NW1/D03 sudo chattr +i /usr/sap/NW1/D02 sudo chattr +i /usr/sap/NW1/D03
[A] Swap-Speicherplatz konfigurieren. Bei der Installation einer Dialoginstanz mit zentralen Diensten müssen Sie mehr Auslagerungsspeicher konfigurieren.
sudo vi /etc/waagent.conf # Check if property ResourceDisk.Format is already set to y and if not, set it ResourceDisk.Format=y # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. #ResourceDisk.SwapSizeMB=2000 ResourceDisk.SwapSizeMB=10480
Starten Sie den Agenten neu, um die Änderung zu aktivieren.
sudo service waagent restart
[A] Fügen Sie Firewall-Regeln für PAS und AAS hinzu
# Probe and gateway port for PAS and AAS sudo firewall-cmd --zone=public --add-port={62002,62003,3302,3303}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62002,62003,3303,3303}/tcp
Installieren einer SAP Netweaver PAS-Instanz
[1] Überprüfen Sie den Status des Clusters. Stellen Sie vor dem Konfigurieren einer PAS-Ressource für die Installation sicher, dass die ASCS- und ERS-Ressourcen konfiguriert und gestartet sind.
sudo pcs status # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
[1] Erstellen Sie Dateisystem-, virtuelle IP- und Health-Probe-Ressourcen für die PAS-Instanz.
sudo pcs node standby sap-cl2 sudo pcs resource create vip_NW1_PAS IPaddr2 ip=10.90.90.30 --group g-NW1_PAS sudo pcs resource create nc_NW1_PAS azure-lb port=62002 --group g-NW1_PAS # If using NFS on Azure files sudo pcs resource create fs_NW1_PAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_PAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_PAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_PAS
Stellen Sie sicher, dass der Clusterstatus gültig ist und alle Ressourcen gestartet sind. Es ist nicht wichtig, auf welchem Knoten die Ressourcen ausgeführt werden.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
[1] Ändern Sie den Eigentümer des Ordners
/usr/sap/SID/D02
, nachdem das Dateisystem gemountet wurde.sudo chown nw1adm:sapsys /usr/sap/NW1/D02
[1] Installieren Sie den SAP NetWeaver-PAS.
Installieren Sie den SAP NetWeaver PAS als Stamm auf dem ersten Knoten, indem Sie einen virtuellen Hostnamen verwenden, der der IP-Adresse der Front-End-Konfiguration des Lastenausgleichs für den PAS zugeordnet ist. Verwenden Sie z. B. sappas, 10.90.90.30, und die Instanznummer, die Sie für die Probe des Lastenausgleichs verwendet haben, z. B. 02.
Sie können den sapinst-Parameter
SAPINST_REMOTE_ACCESS_USER
verwenden, um anderen Benutzern als root das Herstellen einer Verbindung mit sapinst zu ermöglichen.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<pas_virtual_hostname>
Aktualisieren Sie die
/usr/sap/sapservices
-Datei.Um den Start der Instanzen durch das „sapinit“-Startskript zu verhindern, müssen alle von Pacemaker verwalteten Instanzen aus der Datei
/usr/sap/sapservices
auskommentiert werden.sudo vi /usr/sap/sapservices # On the node where PAS is installed, comment out the following lines. # LD_LIBRARY_PATH=/usr/sap/NW1/D02/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D02/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D02_sappas -D -u nw1adm
[1] Erstellen Sie die PAS-Cluster-Ressource.
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=60 \ --group g-NW1_PAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=105 \ --group g-NW1_PAS
Überprüfen Sie den Status des Clusters.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
Konfigurieren Sie die Einschränkung so, dass die PAS-Ressourcengruppe erst gestartet wird, nachdem die ASCS-Instanz gestartet wurde.
sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
Installieren einer SAP Netweaver AAS-Instanz
[2] Überprüfen Sie den Status des Clusters. Stellen Sie vor dem Konfigurieren der AAS-Ressource für die Installation sicher, dass die ASCS-, ERS- und PAS-Ressourcen gestartet sind.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
[2] Erstellen Sie Dateisystem-, virtuelle IP- und Health-Probe-Ressourcen für die AAS-Instanz.
sudo pcs node unstandby sap-cl2 # Disable PAS resource as it will fail on sap-cl2 due to missing environment variables like hdbuserstore. sudo pcs resource disable g-NW1_PAS sudo pcs node standby sap-cl1 # Execute below command to cleanup resource, if required pcs resource cleanup rsc_sap_NW1_ERS01 sudo pcs resource create vip_NW1_AAS IPaddr2 ip=10.90.90.31 --group g-NW1_AAS sudo pcs resource create nc_NW1_AAS azure-lb port=62003 --group g-NW1_AAS # If using NFS on Azure files sudo pcs resource create fs_NW1_AAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_AAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_AAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_AAS
Stellen Sie sicher, dass der Clusterstatus gültig ist und alle Ressourcen gestartet sind. Es ist nicht wichtig, auf welchem Knoten die Ressourcen ausgeführt werden. Da die Ressourcengruppe g-NW1_PAS beendet wird, werden alle PAS-Ressourcen im Zustand (deaktiviert) beendet.
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2
[2] Ändern Sie den Eigentümer des Ordners
/usr/sap/SID/D03
, nachdem das Dateisystem gemountet wurde.sudo chown nw1adm:sapsys /usr/sap/NW1/D03
[2] Installieren Sie SAP Netweaver AAS.
Installieren Sie einen SAP NetWeaver AAS als Stamm auf dem zweiten Knoten, indem Sie einen virtuellen Hostnamen verwenden, der der IP-Adresse der Front-End-Konfiguration des Lastenausgleichs für den PAS zugeordnet ist. Verwenden Sie z. B. sapaas, 10.90.90.31, und die Instanznummer, die Sie für die Probe des Lastenausgleichs verwendet haben, z. B. 03.
Sie können den sapinst-Parameter
SAPINST_REMOTE_ACCESS_USER
verwenden, um anderen Benutzern als root das Herstellen einer Verbindung mit sapinst zu ermöglichen.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<aas_virtual_hostname>
Aktualisieren Sie die
/usr/sap/sapservices
-Datei.Um den Start der Instanzen durch das „sapinit“-Startskript zu verhindern, müssen alle von Pacemaker verwalteten Instanzen aus der Datei
/usr/sap/sapservices
auskommentiert werden.sudo vi /usr/sap/sapservices # On the node where AAS is installed, comment out the following lines. #LD_LIBRARY_PATH=/usr/sap/NW1/D03/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D03/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D03_sapaas -D -u nw1adm
[2] Erstellen Sie eine AAS-Cluster-Ressource.
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=60 \ --group g-NW1_AAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=105 \ --group g-NW1_AAS
Überprüfen Sie den Status des Clusters.
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
Konfigurieren Sie die Einschränkung so, dass die AAS-Ressourcengruppe erst gestartet wird, nachdem die ASCS-Instanz gestartet wurde.
sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
Nachkonfiguration für PAS- und AAS-Instanzen
[1] Damit PAS und AAS auf einem beliebigen Cluster-Knoten (sap-cl1 oder sap-cl2) ausgeführt werden können, muss der Inhalt
$HOME/.hdb
von<sid>adm
beiden Cluster-Knoten kopiert werden.# Check current content of /home/nw1adm/.hdb on sap-cl1 sap-cl1:nw1adm > ls -ltr $HOME/.hdb drwx------. 2 nw1adm sapsys 66 Aug 8 19:11 sappas drwx------. 2 nw1adm sapsys 84 Aug 8 19:12 sap-cl1 # Check current content of /home/nw1adm/.hdb on sap-cl2 sap-cl2:nw1adm > ls -ltr $HOME/.hdb total 0 drwx------. 2 nw1adm sapsys 64 Aug 8 20:25 sap-cl2 drwx------. 2 nw1adm sapsys 66 Aug 8 20:26 sapaas # As PAS and AAS is installed using virtual hostname, you need to copy virtual hostname directory in /home/nw1adm/.hdb # Copy sappas directory from sap-cl1 to sap-cl2 sap-cl1:nw1adm > scp -r sappas nw1adm@sap-cl2:/home/nw1adm/.hdb # Copy sapaas directory from sap-cl2 to sap-cl1. Execute the command from the same sap-cl1 host. sap-cl1:nw1adm > scp -r nw1adm@sap-cl2:/home/nw1adm/.hdb/sapaas .
[1] Um sicherzustellen, dass die PAS- und AAS-Instanzen nicht auf denselben Knoten ausgeführt werden, wenn beide Knoten ausgeführt werden, fügen Sie eine negative Colocation-Einschränkung mit dem folgenden Befehl hinzu:
sudo pcs constraint colocation add g-NW1_AAS with g-NW1_PAS score=-1000 sudo pcs node unstandby sap-cl1 sudo pcs resource enable g-NW1_PAS
Die Score von -1000 stellt sicher, dass, wenn nur ein Knoten verfügbar ist, beide Instanzen weiterhin auf dem anderen Knoten ausgeführt werden. Wenn Sie die AAS-Instanz in einer solchen Situation herunterfahren möchten, können Sie
score=-INFINITY
verwenden, um diese Bedingung zu erzwingen.Überprüfen Sie den Status des Clusters.
sudo pcs status # Node List: # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
Testen der Clustereinrichtung
Testen Sie Ihren Pacemaker-Cluster gründlich, indem Sie die typischen Failovertests ausführen.