Hochverfügbarkeit für SAP NetWeaver auf VMs unter RHEL mit NFS auf Azure Files
Dieser Artikel beschreibt, wie Sie virtuelle Maschinen (VMs) bereitstellen und konfigurieren, das Cluster-Framework installieren und ein hochverfügbares (HA) SAP-NetWeaver-System mithilfe von NFS auf Azure Files installieren. In den Beispielkonfigurationen werden virtuelle Computer unter Red Hat Enterprise Linux (SLES) verwendet.
Voraussetzungen
- Dokumentation zu Azure Files
- 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 Microsoft 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 empfohlene Betriebssystemeinstellungen für Red Hat Enterprise Linux 7.x.
- SAP-Hinweis 2772999 enthält empfohlene 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 WIKI der SAP-Community 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:
- Übersicht über das Hochverfügbarkeits-Add-On
- Verwaltung des Hochverfügbarkeits-Add-Ons
- Referenz zum Hochverfügbarkeits-Add-On
- Konfigurieren von ASCS/ERS für SAP NetWeaver mit eigenständigen Ressourcen in RHEL 7.5
- Konfigurieren von SAP S/4HANA ASCS/ERS mit eigenständigem Enqueue-Server 2 (ENSA2) in Pacemaker unter RHEL
- Azure-spezifische RHEL-Dokumentation:
Übersicht
Zum Bereitstellen der SAP NetWeaver-Anwendungsschicht müssen in der Umgebung freigegebene Verzeichnisse wie /sapmnt/SID
und /usr/sap/trans
vorhanden sein. Wenn Sie ein Hochverfügbarkeits-SAP-System einrichten, müssen Sie außerdem hochverfügbare Dateisysteme wie /sapmnt/SID
und /usr/sap/SID/ASCS
schützen.
Diese Dateisysteme können jetzt in NFS in Azure Files platziert werden. NFS in Azure Files ist eine Speicherlösung mit Hochverfügbarkeit. Diese Lösung bietet synchronen zonenredundanten Speicher (ZRS) und eignet sich für SAP ASCS/ERS-Instanzen, die über mehrere Verfügbarkeitszonen hinweg bereitgestellt werden. Sie benötigen allerdings weiterhin einen Pacemaker-Cluster, um Single Point of Failure-Komponenten wie die zentralen Dienste von SAP NetWeaver (ASCS/SCS) zu schützen.
In den Beispielkonfigurationen und Installationsbefehlen werden die folgenden Instanznummern verwendet:
Instanzname | Instanznummer |
---|---|
ABAP SAP Central Services (ASCS) | 00 |
ERS | 01 |
ABAP SAP Central Services (ASCS) | 02 |
Zusätzlicher Anwendungsserver (Additional Application Server, AAS) | 03 |
SAP-Systembezeichner | NW1 |
Dieses Diagramm zeigt eine typische SAP NetWeaver-Architektur mit Hochverfügbarkeit. Die Dateisysteme „sapmnt“ und „saptrans“ werden auf NFS-Freigaben in Azure Files bereitgestellt. Die zentralen SAP-Dienste werden durch einen Pacemaker-Cluster geschützt. Die gruppierten virtuellen Computer befinden sich hinter einer Instanz von Azure Load Balancer. Die NFS-Freigaben werden über einen privaten Endpunkt eingebunden.
Vorbereiten der Infrastruktur
Azure Marketplace enthält Images, die für SAP mit dem Add-On für Hochverfügbarkeit qualifiziert sind, mit dem Sie neue VMs mithilfe verschiedener Versionen von Red Hat bereitstellen können.
Manuelles Bereitstellen von Linux-VMs über das Azure-Portal
In diesem Dokument wird davon ausgegangen, dass Sie bereits ein virtuelles Azure-Netzwerk, ein Subnetz und eine Ressourcengruppe bereitgestellt haben.
Stellen Sie VMs für SAP ASCS-, ERS- und Anwendungsserver bereit. Wählen Sie ein geeignetes RHEL-Image aus, das für das SAP-System unterstützt wird. Sie können eine VM mit einer der folgenden Verfügbarkeitsoptionen bereitstellen: Skalierungsgruppe, Verfügbarkeitszone oder Verfügbarkeitsgruppe.
Konfigurieren von Azure Load Balancer
Während der VM-Konfiguration können Sie im Abschnitt „Netzwerk“ einen Lastenausgleich erstellen oder einen vorhandenen Lastenausgleich auswählen. Führen Sie die folgenden Schritte aus, um einen Standardlastenausgleich für die Hochverfügbarkeit von SAP ASCS und SAP ERS zu konfigurieren.
Befolgen Sie die Anleitung zum Erstellen eines Lastenausgleichs, um mit dem Azure-Portal einen Standardlastenausgleich für ein SAP-Hochverfügbarkeitssystem einzurichten. Berücksichtigen Sie beim Einrichten des Lastenausgleichs die folgenden Punkte.
- Front-End-IP-Konfiguration: Erstellen Sie zwei Front-End-IP-Adressen (eine für ASCS und eine für ERS). Wählen Sie dasselbe virtuelle Netzwerk und Subnetz wie für die ASCS- bzw. ERS-VMs aus.
- Back-End-Pool: Erstellen Sie einen Back-End-Pool, und fügen Sie ASCS- und ERS-VMs hinzu.
- Regeln für eingehenden Datenverkehr: Erstellen Sie zwei Lastenausgleichsregeln (eine für ASCS und eine für ERS). Führen Sie dieselben 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.
- Aktivieren Sie „Hochverfügbarkeitsports“.
- Protokoll: TCP
- Integritätstest: Erstellen Sie einen Integritätstest mit den folgenden Details (gilt für ASCS und ERS).
- Protokoll: TCP
- Port: [z. B. „620<Instance-no.>“ für ASCS und „621<Instance-no.>“ für ERS]
- Intervall: 5
- Schwellenwert für Integritätstest: 2
- Leerlauftimeout (Minuten): 30
- Aktivieren Sie „Floating IP aktivieren“.
Hinweis
Die Konfigurationseigenschaft „numberOfProbes“ für Integritätstests (im Portal als „Fehlerschwellenwert“ bezeichnet) wird nicht berücksichtigt. Um also die Anzahl erfolgreicher oder nicht erfolgreicher aufeinanderfolgender Integritätstests zu steuern, legen Sie die Eigenschaft „probeThreshold“ auf „2“ fest. Es ist derzeit nicht möglich, diese Eigenschaft über das Azure-Portal festzulegen. Verwenden Sie daher entweder den Azure CLI- oder den PowerShell-Befehl.
Hinweis
Wenn VMs ohne öffentliche IP-Adressen in den Backend-Pool einer internen (keine öffentliche IP-Adresse) Standard-Instanz von Load Balancer 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. Weitere Informationen zum Erzielen von Konnektivität in ausgehender Richtung finden Sie unter Konnektivität mit öffentlichen Endpunkten für virtuelle Computer mithilfe von Azure Load Balancer Standard in SAP-Szenarien mit 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.
Bereitstellen von Azure Files-Speicherkonto und NFS-Freigaben
NFS in Azure Files basiert auf Premium-Speicher von Azure Files. Lesen Sie vor dem Einrichten von NFS in Azure Files die Anleitung zum Erstellen einer NFS-Freigabe.
Es gibt zwei Optionen für Redundanz innerhalb einer Azure-Region:
- Lokal redundanter Speicher (LRS) bietet eine lokale synchrone Datenreplikation innerhalb einer Zone.
- Zonenredundanter Speicher (ZRS) repliziert Ihre Daten synchron in allen drei Verfügbarkeitszonen in der Region.
Überprüfen Sie, ob in der von Ihnen gewählten Azure-Region NFS 4.1 in Azure Files mit der entsprechenden Redundanz zur Verfügung steht. Überprüfen Sie die Verfügbarkeit von Azure Files nach Azure-Region unter File Storage Premium. Wenn Ihr Szenario von ZRS profitiert, vergewissern Sie sich, dass Premium-Dateifreigaben mit ZRS in Ihrer Azure-Region unterstützt werden.
Es wird empfohlen, über einen privaten Azure-Endpunkt auf Ihr Azure-Speicherkonto zuzugreifen. Stellen Sie sicher, dass der Endpunkt des Azure Files-Speicherkontos und die VMs, in die Sie die NFS-Freigaben einbinden müssen, im selben virtuellen Azure-Netzwerk oder in geteilten virtuellen Azure-Netzwerken bereitgestellt werden.
Stellen Sie ein Azure Files-Speicherkonto namens
sapafsnfs
bereit. In diesem Beispiel wird ZRS verwendet. Sollten Sie mit dem Prozess nicht vertraut sein, finden Sie weitere Informationen unter Speicherkonto erstellen für das Azure-Portal.Verwenden Sie auf der Registerkarte Grundlagen die folgenden Einstellungen:
- Geben Sie unter Name des Speicherkontos den Namen
sapafsnfs
ein. - Wählen Sie unter Leistung den Wert Premium aus.
- Wählen Sie unter Premium account type (Premium-Kontotyp) die Option FileStorage aus.
- Wählen Sie unter Replikation die Option Zonenredundanz (ZRS) aus.
- Geben Sie unter Name des Speicherkontos den Namen
Wählen Sie Weiter aus.
Deaktivieren Sie auf der Registerkarte Erweitert die Option Sichere Übertragung für REST-API-Vorgänge erforderlich. Wenn Sie diese Option nicht deaktivieren, kann die NFS-Freigabe nicht in Ihre VM eingebunden werden. Bei der Einbindung tritt ein Timeout auf.
Wählen Sie Weiter aus.
Konfigurieren Sie im Abschnitt Netzwerk die folgenden Einstellungen:
- Wählen Sie unter Netzwerkkonnektivität für Konnektivitätsmethode die Option Privater Endpunkt aus.
- Wählen Sie unter Privater Endpunkt die Option Privaten Endpunkt hinzufügen aus.
Wählen Sie im Bereich Privaten Endpunkt erstellen Ihr Abonnement, Ihre Ressourcengruppe und Ihren Standort aus. Geben Sie unter Name
sapafsnfs_pe
ein. Wählen Sie unter Untergeordnete Speicherressource die Option Datei aus. Wählen Sie unter Netzwerk für Virtuelles Netzwerk das zu verwendende virtuelle Netzwerk und das entsprechende Subnetz aus. Auch hier können Sie das virtuelle Netzwerk verwenden, in dem sich Ihre SAP-VMs befinden, oder ein überwachtes virtuelles Netzwerk. Übernehmen Sie unter Integration von privatem DNS für In private DNS-Zone integrieren die Standardoption Ja. Wählen Sie Ihre private DNS-Zone aus. Klicken Sie auf OK.Wählen Sie auf der Registerkarte Netzwerk die Option Weiter aus.
Übernehmen Sie auf der Registerkarte Datenschutz alle Standardeinstellungen.
Wählen Sie Überprüfen und erstellen aus, um Ihre Konfiguration zu überprüfen.
Warten Sie, bis die Überprüfung abgeschlossen ist. Beheben Sie alle Probleme, ehe Sie fortfahren.
Wählen Sie auf der Registerkarte Überprüfen + erstellen die Option Erstellen aus.
Stellen Sie als Nächstes die NFS-Freigaben im von Ihnen erstellten Speicherkonto bereit. In diesem Beispiel gibt es zwei NFS-Freigaben: sapnw1
und saptrans
.
- Melden Sie sich am Azure-Portal an.
- Wählen Sie Speicherkonten aus, oder suchen Sie danach.
- Wählen Sie auf der Seite Speicherkonten die Option sapafsnfs aus.
- Wählen Sie im Ressourcenmenü für sapafsnfs unter Datenspeicher die Option Datenfreigaben aus.
- Wählen Sie auf der Seite Dateifreigaben die Option Dateifreigabe aus.
- Geben Sie unter Name Folgendes ein:
sapnw1
,saptrans
. - Wählen Sie eine geeignete Freigabegröße aus – beispielsweise 128 GB. Berücksichtigen Sie die Größe der auf der Freigabe gespeicherten Daten sowie die Anforderungen an IOPS und Durchsatz. Weitere Informationen finden Sie unter Skalierbarkeitsziele für Azure-Dateifreigaben.
- Wählen Sie als Protokoll NFS aus.
- Wählen Sie Kein Root-Squash aus. Andernfalls wird beim Einbinden der Freigaben auf Ihren virtuellen Computern der Dateibesitzer bzw. die Gruppe nicht angezeigt.
- Geben Sie unter Name Folgendes ein:
Wichtig
Die vorherige Freigabegröße ist nur ein Beispiel. Dimensionieren Sie Ihre Freigaben angemessen. Orientieren Sie sich dabei nicht nur an der Größe der auf der Freigabe gespeicherten Daten, sondern auch an den Anforderungen für IOPS und Durchsatz. Weitere Informationen finden Sie unter Skalierbarkeitsziele für Azure-Dateifreigaben.
Die SAP-Dateisysteme, die nicht über NFS eingebunden werden müssen, können auch in Azure Disk Storage bereitgestellt werden. In diesem Beispiel können /usr/sap/NW1/D02
und /usr/sap/NW1/D03
in Azure Disk Storage bereitgestellt werden.
Wichtige Überlegungen im Zusammenhang mit Freigaben vom Typ „NFS in Azure Files“
Berücksichtigen Sie die folgenden wichtigen Punkte, wenn Sie eine Bereitstellung mit NFS in Azure Files planen:
- Die Mindestgröße für eine Freigabe beträgt 100 GiB. Sie bezahlen nur für die Kapazität der bereitgestellten Freigaben.
- Berücksichtigen Sie beim Dimensionieren Ihrer NFS-Freigaben nicht nur die Kapazitätsanforderungen, sondern auch die Anforderungen hinsichtlich IOPS und Durchsatz. Weitere Informationen finden Sie unter Skalierbarkeitsziele für Azure-Dateifreigaben.
- Testen Sie die Workload, um die gewählte Dimensionierung zu überprüfen und sicherzustellen, dass sie Ihre Leistungsziele erfüllt. Wie Sie Probleme mit der Leistung von NFS auf Azure Files beheben können, erfahren Sie unter Fehlerbehebung bei Azure-Dateifreigaben.
- Bei SAP J2EE-Systemen wird die Platzierung von
/usr/sap/<SID>/J<nr>
in NFS in Azure Files nicht unterstützt. - Wenn in Ihrem SAP-System sehr viele Batchaufträge ausgeführt werden, verfügen Sie möglicherweise über Millionen von Auftragsprotokollen. Falls die SAP-Batchauftragsprotokolle im Dateisystem gespeichert werden, achten Sie insbesondere auf die Dimensionierung der Freigabe
sapmnt
. Ab SAP_BASIS 7.52 werden Batchauftragsprotokolle standardmäßig in der Datenbank gespeichert. Weitere Informationen finden Sie im Auftragsprotokoll in der Datenbank. - Stellen Sie für jedes SAP-System eine separate Freigabe vom Typ
sapmnt
bereit. - Verwenden Sie die Freigabe
sapmnt
nicht für andere Aktivitäten (beispielsweise für Schnittstellen oder fürsaptrans
). - Verwenden Sie die Freigabe
saptrans
nicht für andere Aktivitäten (beispielsweise für Schnittstellen oder fürsapmnt
). - Es wird davon abgeraten, die Freigaben für zu viele SAP-Systeme in einem einzelnen Speicherkonto zu konsolidieren. Es gibt auch Skalierbarkeitsziele für Speicherkonten. Achten Sie auch darauf, die Grenzwerte für das Speicherkonto nicht zu überschreiten.
- Konsolidieren Sie generell Freigaben für maximal fünf SAP-Systeme in einem einzelnen Speicherkonto. Diese Richtlinie hilft dabei, die Grenzwerte für Speicherkonten nicht zu überschreiten, und vereinfacht die Leistungsanalyse.
- Vermeiden Sie es generell, Freigaben wie
sapmnt
für produktionsfremde SAP-Systeme und produktive SAP-Systeme im selben Speicherkonto zu mischen. - Es empfiehlt sich, für die Bereitstellung mindestens RHEL 8.4 zu verwenden, um von NFS-Clientverbesserungen zu profitieren.
- Verwenden Sie einen privaten Endpunkt. Im unwahrscheinlichen Fall eines Zonenausfalls werden Ihre NFS-Sitzungen automatisch in eine fehlerfreie Zone umgeleitet. Sie müssen die NFS-Freigaben auf Ihren virtuellen Computern nicht erneut einbinden.
- Wenn Sie Ihre VMs verfügbarkeitszonenübergreifend bereitstellen, verwenden Sie in den Azure-Regionen mit ZRS-Unterstützung ein Speicherkonto mit ZRS.
- Von Azure Files wird derzeit keine automatische regionsübergreifende Replikation für Notfallwiederherstellungsszenarien unterstützt.
Einrichten (A)SCS
Im nächsten Schritt bereiten Sie die SAP ASCS- und ERS-Instanzen vor und installieren sie.
Erstellen eines Pacemaker-Clusters
Führen Sie die Schritte in Einrichten von Pacemaker unter Red Hat Enterprise Linux in Azure aus, um ein grundlegendes Pacemaker-Cluster für diesen (A)SCS-Server zu erstellen.
Vorbereiten der SAP NetWeaver-Installation
Die folgenden Elemente haben eines der folgenden Präfixe:
- [A] : Gilt für alle Knoten
- [1]: Gilt nur für Knoten 1
- [2]: Gilt nur für Knoten 2
[A] Einrichten der Auflösung des Hostnamens.
Sie können entweder einen DNS-Server verwenden oder die Datei
/etc/hosts
auf allen Knoten ändern. In diesem Beispiel wird die Verwendung der Datei/etc/hosts
gezeigt. Ersetzen Sie die IP-Adresse und den Hostnamen in den folgenden Befehlen:sudo vi /etc/hosts
Fügen Sie in
/etc/hosts
die folgenden Zeilen ein. Ändern Sie die IP-Adresse und den Hostnamen Ihrer Umgebung entsprechend.# 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
[A] Installieren Sie den NFS-Client und andere Anforderungen.
sudo yum -y install nfs-utils resource-agents resource-agents-sap
[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.# 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 sapmntNW1 sudo mkdir -p usrsapNW1ascs sudo mkdir -p usrsapNW1ers sudo mkdir -p usrsapNW1sys # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] Erstellen der freigegebenen Verzeichnisse.
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS01 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS01
[A] Überprüfen Sie die Version von
resource-agents-sap
.Stellen Sie sicher, dass die Version des installierten
resource-agents-sap
-Pakets mindestens3.9.5-124.el7
ist.sudo yum info resource-agents-sap
[A] Fügen Sie Bereitstellungseinträge hinzu.
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] Konfigurieren der Auslagerungsdatei.
sudo vi /etc/waagent.conf # 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
Starten Sie den Agenten neu, um die Änderung zu aktivieren.
sudo service waagent restart
[A] Konfigurieren von RHEL.
Konfigurieren von RHEL gemäß SAP-Hinweis 2002167 für RHEL 7.x, SAP-Hinweis 2772999 für RHEL 8.x oder SAP-Hinweis 3108316 für RHEL 9.x.
Installieren Sie SAP NetWeaver ASCS
[1] Konfigurieren Sie die Standard-Clustereigenschaften.
# If using RHEL 7.x pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3 # If using RHEL 8.x or later pcs resource defaults update resource-stickiness=1 pcs resource defaults update migration-threshold=3
[1] Erstellen Sie eine virtuelle IP-Ressource und einen Integritätstest für die ASCS-Instanz.
sudo pcs node standby sap-cl2 sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \ directory='/usr/sap/NW1/ASCS00' 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_ASCS sudo pcs resource create vip_NW1_ASCS IPaddr2 \ ip=10.90.90.10 \ --group g-NW1_ASCS sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \ --group g-NW1_ASCS
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 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
[1] Installieren Sie SAP NetWeaver ASCS.
Installieren Sie SAP NetWeaver ASCS als Root auf dem ersten Knoten, indem Sie einen virtuellen Hostnamen verwenden, der auf die IP-Adresse der Load-Balancer-Frontend-Konfiguration für ASCS abgebildet wird, z. B. sapascs und 10.90.90.10 und die Instanznummer, die Sie für den Test des Load Balancers verwendet haben, z. B. 00.
Sie können den
sapinst
-ParameterSAPINST_REMOTE_ACCESS_USER
verwenden, um einem Nicht-Root-Benutzer zu ermöglichen, sich mitsapinst
zu verbinden.# 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=<virtual_hostname>
Wenn bei der Installation kein Unterordner in „/usr/sap/NW1/ASCS00“ erstellt werden kann, legen Sie den Besitzer und die Gruppe des Ordners „ASCS00“ fest, und versuchen Sie es noch mal.
sudo chown nw1adm /usr/sap/NW1/ASCS00 sudo chgrp sapsys /usr/sap/NW1/ASCS00
[1] Erstellen einer virtuellen IP-Ressource und eines Integritätstests für die ERS-Instanz.
sudo pcs node unstandby sap-cl2 sudo pcs node standby sap-cl1 sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \ directory='/usr/sap/NW1/ERS01' 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_AERS sudo pcs resource create vip_NW1_AERS IPaddr2 \ ip=10.90.90.9 \ --group g-NW1_AERS sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \ --group g-NW1_AERS
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 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 # 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
[2] Installieren Sie SAP NetWeaver ERS.
Installieren Sie SAP NetWeaver ERS als Root auf dem zweiten Knoten, indem Sie einen virtuellen Hostnamen verwenden, der auf die IP-Adresse der Load-Balancer-Frontend-Konfiguration für den ERS abgebildet wird, z. B sapers und 10.90.90.9 und die Instanznummer, die Sie für den Test des Load Balancer verwendet haben, z. B. 01.
Sie können den
sapinst
-ParameterSAPINST_REMOTE_ACCESS_USER
verwenden, um einem Nicht-Root-Benutzer zu ermöglichen, sich mitsapinst
zu verbinden.# 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=<virtual_hostname>
Wenn bei der Installation kein Unterordner in „/usr/sap/NW1/ERS01“ erstellt werden kann, legen Sie den Besitzer und die Gruppe des Ordners „ERS01“ fest, und versuchen Sie es noch mal.
sudo chown qaadm /usr/sap/NW1/ERS01 sudo chgrp sapsys /usr/sap/NW1/ERS01
[1] Passen Sie die ASCS/SCS- und ERS-Instanzprofile an.
ASCS/SCS-Profil:
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = TRUE
Stellen Sie sowohl für ENSA1 als auch für ENSA2 sicher, dass die
keepalive
-Parameter des Betriebssystems wie im SAP-Hinweis 1410736 beschrieben festgelegt sind.ERS-Profil:
sudo vi /sapmnt/NW1/profile/NW1_ERS01_sapers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # remove Autostart from ERS profile # Autostart = 1
[A] Konfigurieren Sie Keep Alive.
Die Kommunikation zwischen dem SAP NetWeaver-Anwendungsserver und ASCS/SCS wird durch einen Softwarelastenausgleich weitergeleitet. Der Lastenausgleich trennt nach einem konfigurierbaren Timeout inaktive Verbindungen. Um diese Aktion zu verhindern, setzen Sie einen Parameter im SAP NetWeaver ASCS/SCS-Profil, wenn Sie ENSA1 verwenden. Ändern Sie außerdem die Linux-Systemeinstellungen für
keepalive
auf allen SAP-Servern (sowohl für ENSA1 als auch für ENSA2). Weitere Informationen finden Sie im SAP-Hinweis 1410736.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] 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 in der/usr/sap/sapservices
-Datei auskommentiert werden.sudo vi /usr/sap/sapservices # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
Wichtig
Mit dem auf systemd basierten SAP Startup Framework können SAP-Instanzen jetzt von systemd verwaltet werden. Die mindestens erforderliche Red Hat Enterprise Linux(RHEL)-Version ist RHEL 8 für SAP. Wie im SAP-Hinweis 3115048 beschrieben, führt eine Neuinstallation eines SAP-Kernels mit integrierter auf systemd basierter SAP Startup Framework-Unterstützung immer zu einer durch systemd gesteuerten SAP-Instanz. Nach einem SAP-Kernelupgrade einer vorhandenen SAP-Installation auf einen Kernel, der über die auf systemd basierte SAP Startup Framework-Unterstützung verfügt, müssen jedoch einige manuelle Schritte wie im SAP-Hinweis 3115048 dokumentiert ausgeführt werden, um die vorhandene SAP Startup-Umgebung in eine durch systemd gesteuerte zu konvertieren.
Bei der Verwendung von Red Hat HA-Diensten für SAP (Clusterkonfiguration) zum Verwalten von SAP-Anwendungsserverinstanzen wie SAP ASCS und SAP ERS sind zusätzliche Änderungen erforderlich, um die Kompatibilität zwischen dem SAPInstance-Ressourcen-Agent und dem neuen auf systemd basierten SAP-Startup-Framework sicherzustellen. Sobald die SAP-Anwendungsserverinstanzen installiert oder auf einen systemd-fähigen SAP-Kernel gemäß SAP-Hinweis 3115048 umgestellt wurden, müssen die in Red Hat KBA 6884531 genannten Schritte auf allen Clusterknoten erfolgreich abgeschlossen werden.
[1] Erstellen der SAP-Clusterressourcen.
Je nachdem, ob Sie ein ENSA1- oder ENSA2-System ausführen, wählen Sie die entsprechende Registerkarte aus, um die Ressourcen zu definieren. SAP hat in SAP NetWeaver 7.52 Unterstützung für ENSA2 eingeführt, einschließlich Replikation. Ab der ABAP-Plattform 1809 wird ENSA2 standardmäßig installiert. Für ENSA2-Unterstützung: Informationen zur Unterstützung von Enqueue-Server 2 finden Sie im SAP-Hinweis 2630416.
Wenn Sie die Enqueue Server 2 Architektur (ENSA2) verwenden, installieren Sie den Ressourcen-Agenten resource-agents-sap-4.1.1-12.el7.x86_64 oder neuer und definieren die Ressourcen wie hier gezeigt:
sudo pcs property set maintenance-mode=true sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \ InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ 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 g-NW1_ASCS sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \ InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ 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 g-NW1_AERS sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000 sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1 sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false sudo pcs node unstandby sap-cl1 sudo pcs property set maintenance-mode=false
Wenn Sie ein Upgrade von einer älteren Version durchführen und zu Enqueue-Server 2 wechseln, lesen Sie den SAP-Hinweis 2641322.
Hinweis
Die Zeitüberschreitungen in der vorangegangenen Konfiguration sind nur Beispiele und müssen möglicherweise an die spezifische SAP-Einrichtung angepasst werden.
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 # 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
[1] Führen Sie den folgenden Schritt aus, um
priority-fencing-delay
zu konfigurieren (gilt nur für Schrittmacher-2.0.4-6.el8 oder höher).Hinweis
Wenn Sie über einen Cluster mit zwei Knoten verfügen, haben Sie die Möglichkeit, die
priority-fencing-delay
-Clustereigenschaft zu konfigurieren. Diese Eigenschaft führt zu einer zusätzlichen Verzögerung beim Einfassen eines Knotens mit einer höheren Gesamtressourcenpriorität, wenn ein Split-Brain-Szenario auftritt. Weitere Informationen finden Sie unter Kann Pacemaker den Clusterknoten mit den wenigsten ausgeführten Ressourcen einfassen?.Die Eigenschaft
priority-fencing-delay
gilt für Pacemaker-2.0.4-6.el8 Version oder höher. Wenn Siepriority-fencing-delay
auf einem bestehenden Cluster einrichten, stellen Sie sicher, dass Sie die Einstellungpcmk_delay_max
im Fencinggerät löschen.sudo pcs resource defaults update priority=1 sudo pcs resource update rsc_sap_NW1_ASCS00 meta priority=10 sudo pcs property set priority-fencing-delay=15s
[A] Fügen Sie Firewallregeln für ASCS und ERS auf beiden Knoten hinzu.
# Probe Port of ASCS sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp # Probe Port of ERS sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
Vorbereitung des SAP NetWeaver-Anwendungsservers
Einige Datenbanken erfordern, dass die Installation der Datenbankinstanz auf einem Anwendungsserver läuft. Bereiten Sie die Anwendungsserver-VMs so vor, dass Sie diese in jenen Fällen verwenden können.
Die folgenden Schritte gehen davon aus, dass Sie den Anwendungsserver auf einem anderen Server als den ASCS/SCS- und HANA-Servern installieren. Andernfalls sind einige der Schritte (z. B. Konfigurieren der Hostnamenauflösung) nicht erforderlich.
Die folgenden Elemente haben eines der folgenden Präfixe:
- [A]: Gilt sowohl für PAS als auch für AAS
- [P]: Gilt nur für PAS
- [S]: Gilt nur für AAS
[A] Einrichten der Auflösung des Hostnamens. Sie können entweder einen DNS-Server verwenden oder die Datei
/etc/hosts
auf allen Knoten ändern. In diesem Beispiel wird die Verwendung der Datei/etc/hosts
gezeigt. Ersetzen Sie die IP-Adresse und den Hostnamen in den folgenden Befehlen:sudo vi /etc/hosts
Fügen Sie in
/etc/hosts
die folgenden Zeilen ein. Ändern Sie die IP-Adresse und den Hostnamen Ihrer Umgebung entsprechend.10.90.90.7 sap-cl1 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 10.90.90.12 sapa01 10.90.90.13 sapa02
[A] Erstellen Sie das
sapmnt
-Verzeichnis.sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
[A] Installieren Sie den NFS-Client und andere Anforderungen.
sudo yum -y install nfs-utils uuidd
[A] Fügen Sie Bereitstellungseinträge hinzu.
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] Konfigurieren der Auslagerungsdatei.
sudo vi /etc/waagent.conf # 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
Starten Sie den Agenten neu, um die Änderung zu aktivieren.
sudo service waagent restart
Installieren der Datenbank
In diesem Fall ist SAP NetWeaver auf SAP HANA installiert. Für diese Installation können Sie jede unterstützte Datenbank verwenden. Weitere Informationen zum Installieren von SAP HANA in Azure finden Sie unter Hochverfügbarkeit von SAP HANA auf Azure-VMs unter Red Hat Enterprise Linux. Eine Liste der unterstützten Datenbanken finden Sie im SAP-Hinweis 1928533.
Installieren Sie die SAP NetWeaver-Datenbankinstanz als Root, indem Sie einen virtuellen Hostnamen verwenden, welcher der IP-Adresse der Load Balancer-Frontend-Konfiguration für die Datenbank entspricht.
Sie können den sapinst
-ParameterSAPINST_REMOTE_ACCESS_USER
verwenden, um einem Nicht-Root-Benutzer zu ermöglichen, sich mit sapinst
zu verbinden.
# 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
Installation des SAP NetWeaver-Anwendungsservers
Führen Sie die folgenden Schritte durch, um einen SAP-Anwendungsserver zu installieren.
[A] Vorbereiten des Anwendungsservers.
Führen Sie die Schritte des vorigen Abschnitts Vorbereitung des SAP NetWeaver-Anwendungsservers aus, um den Anwendungsserver vorzubereiten.
[A] Installieren des SAP NetWeaver-Anwendungsservers.
Installieren Sie einen primären oder einen zusätzlichen SAP NetWeaver-Anwendungsserver.
Sie können den
sapinst
-ParameterSAPINST_REMOTE_ACCESS_USER
verwenden, um einem Nicht-Root-Benutzer zu ermöglichen, sich mitsapinst
zu verbinden.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] Aktualisieren Sie den sicheren SAP HANA-Speicher.
Ändern Sie den sicheren SAP HANA-Speicher dahingehend, dass er auf den virtuellen Namen der Einrichtung der SAP HANA-Systemreplikation zeigt.
Führen Sie den folgenden Befehl zum Auflisten der Einträge als
<sapsid>adm
aus:hdbuserstore List
Alle Einträge sollten aufgelistet und ähnlich aussehen wie:
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.90.90.5:30313 USER: SAPABAP1 DATABASE: NW1
In diesem Beispiel verweist die IP-Adresse des Standardeintrags auf den virtuellen Computer, nicht auf den Lastenausgleich. Ändern Sie den Eintrag so, dass er auf den virtuellen Hostnamen des Lastenausgleichs verweist. Achten Sie darauf, dass Sie den gleichen Port und Datenbanknamen verwenden Verwenden Sie z. B.
30313
undNW1
in der Beispielausgabe.su - nw1adm hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
Testen der Clustereinrichtung
Testen Sie Ihren Pacemaker-Cluster sorgfältig. Weitere Informationen finden Sie unter Ausführen der typischen Failover-Tests.
Nächste Schritte
- Um ein Kostenoptimierungsszenario zu implementieren, bei dem die PAS- und AAS-Instanz mit einem SAP NetWeaver HA-Cluster auf RHEL bereitgestellt wird, siehe SAP-Dialoginstanz mit SAP ASCS/SCS-Hochverfügbarkeits-VMs auf RHEL installieren.
- Siehe Hochverfügbarkeit für SAP NetWeaver auf virtuellen Azure-Computern auf RHEL für SAP-Anwendungen, Multi-SID-Leitfaden.
- Siehe Azure Virtual Machines – Planung und Implementierung für SAP.
- Siehe Bereitstellung von Azure Virtual Machines für SAP.
- Siehe Azure Virtual Machines – DBMS-Bereitstellung für SAP.
- Wie Sie HA einrichten und eine Notfallwiederherstellung von SAP HANA auf Azure (große Instanzen) planen, siehe SAP HANA (große Instanzen) Hochverfügbarkeit und Notfallwiederherstellung auf Azure.
- Wie Sie HA einrichten und die Notfallwiederherstellung von SAP HANA auf Azure VMs planen, siehe Hochverfügbarkeit von SAP HANA auf Azure Virtual Machines.