Hochverfügbarkeit für SAP NetWeaver auf virtuellen Azure-Computern unter SUSE Linux Enterprise Server mit NFS in Azure Files

In diesem Artikel erfahren Sie, wie Sie virtuelle Computer bereitstellen und konfigurieren, das Clusterframework installieren und ein SAP NetWeaver-System mit Hochverfügbarkeit unter Verwendung von NFS in Azure Files installieren. In den Beispielkonfigurationen werden virtuelle Computer unter SUSE Linux Enterprise Server (SLES) verwendet.

Für neue Implementierungen auf SLES for SAP Applications 15 sollten Sie die Hochverfügbarkeit für SAP ASCS/ERS in einer Konfiguration für die einfache Einbindung bereitstellen. Die klassische Pacemaker-Konfiguration, die auf clustergesteuerten Dateisystemen für die in diesem Artikel beschriebenen SAP Central Service-Verzeichnisse basiert, wird weiterhin unterstützt.

Voraussetzungen

Übersicht

Zum Bereitstellen der SAP NetWeaver-Anwendungsschicht müssen in der Umgebung freigegebene Verzeichnisse wie /sapmnt/SID und /usr/sap/trans vorhanden sein. Beim Bereitstellen eines SAP-Systems mit Hochverfügbarkeit müssen außerdem Dateisysteme wie /sapmnt/SID und /usr/sap/SID/ASCS geschützt und hochverfügbar gemacht werden.

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
Primärer Anwendungsserver (Primary Application Server, PAS) 02
Zusätzlicher Anwendungsserver (Additional Application Server, AAS) 03
SAP-Systembezeichner NW1

Hochverfügbarkeit von SAP NetWeaver mit NFS in Azure Files

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 Azure Load Balancer-Instanz. Die NFS-Freigaben werden über einen privaten Endpunkt eingebunden.

Infrastruktur vorbereiten

Der Ressourcen-Agent für die SAP-Instanz ist in SUSE Linux Enterprise Server for SAP Applications enthalten. Ein Image für SUSE Linux Enterprise Server for SAP Applications 12 oder 15 ist in Azure Marketplace verfügbar. Sie können das Image verwenden, um neue virtuelle Computer bereitzustellen.

Manuelles Bereitstellen von Linux-VMs über das Azure-Portal

In diesem Dokument wird davon ausgegangen, dass Sie bereits eine Ressourcengruppe, ein virtuelles Azure-Netzwerk und ein Subnetz bereitgestellt haben.

Stellen Sie virtuelle Computer mit dem SLES for SAP Applications-Image bereit. Wählen Sie eine geeignete Version des SLES-Images aus, die für das SAP-System unterstützt wird. Sie können VMs über die verschiedenen Verfügbarkeitsoptionen (VM-Skalierungsgruppe, Verfügbarkeitszone oder Verfügbarkeitsgruppe) bereitstellen.

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.

  1. 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.
  2. Back-End-Pool: Erstellen Sie einen Back-End-Pool, und fügen Sie ASCS- und ERS-VMs hinzu.
  3. 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 virtuelle Computer ohne öffentliche IP-Adressen im Back-End-Pool einer internen Azure Load Balancer Standard-Instanz (ohne öffentliche IP-Adresse) platziert werden, liegt keine ausgehende Internetverbindung vor, sofern nicht in einer zusätzlichen Konfiguration das Routing an öffentliche Endpunkte zugelassen wird. Ausführliche Informationen zum Erreichen ausgehender Konnektivität finden Sie unter Public endpoint connectivity for Virtual Machines using Azure Standard Load Balancer in SAP high-availability scenarios (Konnektivität mit öffentlichen Endpunkten für virtuelle Computer mithilfe von Azure Load Balancer Standard in SAP-Szenarien mit Hochverfügbarkeit).

Wichtig

  • Aktivieren Sie keine TCP-Zeitstempel auf Azure-VMs, die sich hinter Azure Load Balancer befinden. Das Aktivieren von TCP-Zeitstempeln bewirkt, dass bei Integritätstests Fehler auftreten. Setzen Sie den net.ipv4.tcp_timestamps-Parameter auf 0. Ausführliche Informationen finden Sie unter Load Balancer-Integritätstests.
  • Um zu verhindern, dass saptune den manuell festgelegten net.ipv4.tcp_timestamps-Wert von 0 wieder in 1 ändert, sollten Sie die saptune-Version auf Version 3.1.1 oder höher updaten. Weitere Informationen finden Sie unter saptune 3.1.1: Muss ich ein Update durchführen?.

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:

Ü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 Storage-Konto zuzugreifen. Achten Sie darauf, dass Sie den Azure Files-Speicherkontoendpunkt und die virtuellen Computer, auf denen Sie die NFS-Freigaben bereitstellen müssen, im gleichen virtuellen Azure-Netzwerk (VNet) oder in mittels Peering verknüpften Azure-VNets bereitstellen.

  1. Stellen Sie ein File Storage-Konto mit dem Namen 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.
  2. Verwenden Sie auf der Registerkarte Allgemeine Informationen die folgenden Einstellungen:
    1. Geben Sie unter Name des Speicherkontos den Namen sapafsnfs ein.
    2. Wählen Sie unter Leistung den Wert Premium aus.
    3. Wählen Sie unter Premium account type (Premium-Kontotyp) die Option FileStorage aus.
    4. Wählen Sie unter Replikation die Zonenredundanz (ZRS) aus.
  3. Wählen Sie Weiter aus.
  4. 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 auf Ihrem virtuellen Computer eingebunden werden. Bei der Einbindung tritt ein Timeout auf.
  5. Wählen Sie Weiter aus.
  6. Konfigurieren Sie im Abschnitt Netzwerk die folgenden Einstellungen:
    1. Wählen Sie unter Netzwerkkonnektivität für Konnektivitätsmethode die Option Privater Endpunkt aus.
    2. Wählen Sie unter Privater Endpunkt die Option Privaten Endpunkt hinzufügen aus.
  7. Wählen Sie im Bereich Privaten Endpunkt erstellen Ihr Abonnement, Ihre Ressourcengruppe und Ihren Standort aus. Geben Sie unter Namesapafsnfs_pe ein. Wählen Sie unter Untergeordnete Speicherressource die Option Datei aus. Wählen Sie unter Netzwerk für Virtuelles Netzwerk das zu verwendende VNet und das entsprechende Subnetz aus. Auch hier können Sie das VNet, in dem sich Ihre virtuellen SAP-Computer befinden, oder ein mittels Peering verknüpftes Vnet verwenden. Ü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.
  8. Wählen Sie auf der Registerkarte Netzwerk die Option Weiter aus.
  9. Übernehmen Sie auf der Registerkarte Datenschutz alle Standardeinstellungen.
  10. Wählen Sie Überprüfen und erstellen aus, um Ihre Konfiguration zu überprüfen.
  11. Warten Sie, bis die Überprüfung abgeschlossen ist. Beheben Sie ggf. vorhandene Probleme, bevor Sie fortfahren.
  12. 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.

  1. Melden Sie sich am Azure-Portal an.

  2. Wählen Sie Speicherkonten aus, oder suchen Sie danach.

  3. Wählen Sie auf der Seite Speicherkonten die Option sapafsnfs aus.

  4. Wählen Sie im Ressourcenmenü für sapafsnfs unter Datenspeicher die Option Dateifreigaben aus.

  5. Wählen Sie auf der Seite Dateifreigaben die Option Dateifreigabe aus.

    1. Geben Sie unter Name Folgendes ein: sapnw1, saptrans.
    2. 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 IOPS- und Durchsatzanforderungen. Weitere Informationen finden Sie unter Skalierbarkeitsziele für Azure-Dateifreigaben.
    3. Wählen Sie als Protokoll NFS aus.
    4. Wählen Sie Kein Root-Squash aus. Andernfalls wird beim Einbinden der Freigaben auf Ihren virtuellen Computern der Dateibesitzer bzw. die Gruppe nicht angezeigt.

    Wichtig

    Die oben angegebene 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. Ausführliche 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. Ausführliche 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. Informationen zur Behandlung von Leistungsproblemen in Azure Files finden Sie unter Problembehandlung bei Leistungsproblemen mit 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. Ausführliche Informationen finden Sie unter 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ür saptrans).
  • Verwenden Sie die Freigabe saptrans nicht für andere Aktivitäten (beispielsweise für Schnittstellen oder für sapmnt).
  • 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 Freigaben für SAP-Produktionssysteme im gleichen Speicherkonto zu mischen.
  • Sie sollten für die Bereitstellung mindestens SLES 15 SP2 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 virtuellen Computer 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 von (A)SCS

Im nächsten Schritt bereiten Sie die SAP ASCS- und ERS-Instanzen vor und installieren sie.

Erstellen des Pacemaker-Clusters

Führen Sie die unter Einrichten von Pacemaker unter SUSE Linux Enterprise Server in Azure beschriebenen Schritte aus, um einen einfachen Pacemaker-Cluster für SAP (A)SCS zu erstellen.

Installation

Die folgenden Elemente sind mit einem der folgenden Präfixe versehen: [A] – gilt für alle Knoten, [1] – gilt nur für Knoten 1, oder [2] – gilt nur für Knoten 2.

  1. [A] Installieren Sie die aktuelle Version des SUSE-Connectors.

    sudo zypper install sap-suse-cluster-connector
    

    Hinweis

    Das bekannte Problem bei der Verwendung eines Gedankenstrichs in Hostnamen wird mit Version 3.1.1 des Pakets sap-suse-cluster-connector korrigiert. Stellen Sie sicher, dass Sie mindestens Version 3.1.1 des Pakets sap-suse-cluster-connector verwenden, wenn Sie Clusterknoten mit Gedankenstrichen im Hostnamen verwenden. Andernfalls funktioniert der Cluster nicht.

    Stellen Sie sicher, dass Sie die neue Version des SAP SUSE-Clusterconnectors installiert haben. Der alte Name war „sap_suse_cluster_connector“, und der neue Name ist sap-suse-cluster-connector.

  2. [A] Aktualisieren Sie SAP-Ressourcen-Agents.

    Ein Patch für das resource-agents-Paket ist erforderlich, um die in diesem Artikel beschriebene neue Konfiguration zu verwenden. Anhand des folgenden Befehls können Sie überprüfen, ob der Patch bereits installiert ist:

    sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
    

    Die Ausgabe sollte in etwa wie folgt aussehen:

    <parameter name="IS_ERS" unique="0" required="0">;
    

    Wenn der Parameter „IS_ERS“ nicht mit dem Befehl „grep“ gefunden wird, müssen Sie den auf der SUSE-Downloadseite aufgeführten Patch installieren.

  3. [A] Einrichten der Hostnamensauflösung

    Sie können entweder einen DNS-Server verwenden oder „/etc/hosts“ auf allen Knoten ändern. In diesem Beispiel wird die Verwendung der /etc/hosts-Datei veranschaulicht. Ersetzen Sie die IP-Adresse und den Hostnamen in den folgenden Befehlen.

    sudo vi /etc/hosts
    

    Fügen Sie „/etc/hosts“ die folgenden Zeilen hinzu. Ä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
    
  4. [1] Erstellen Sie die SAP-Verzeichnisse auf der NFS-Freigabe.
    Binden Sie die NFS-Freigabe sapnw1 vorübergehend auf einem der virtuellen Computer ein, und erstellen Sie die SAP-Verzeichnisse, die als geschachtelte Bereitstellungspunkte verwendet werden sollen.

    # 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
    

Vorbereiten der SAP NetWeaver-Installation

  1. [A] Erstellen Sie die 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
    
  2. [A] Einbinden der Dateisysteme, die nicht vom Pacemaker-Cluster gesteuert werden

    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 
    
  3. [A] Konfigurieren Sie die Auslagerungsdatei.

    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
    

    Starten Sie den Agent neu, um die Änderung zu aktivieren.

    sudo service waagent restart
    

Installieren von SAP NetWeaver ASCS/ERS

  1. [1] Erstellen Sie eine virtuelle IP-Ressource und einen Integritätstest für die ASCS-Instanz.

    Wichtig

    Es wird empfohlen, den Ressourcen-Agent „azure-lb“ zu verwenden, der Teil des Pakets „resource-agents“ ist. Dabei gelten die folgenden Versionsanforderungen für das Paket:

    • Für SLES 12 SP4/SP5 muss die Version mindestens resource-agents-4.3.018.a7fb5035-3.30.1 sein.
    • Ab SLES 15 muss die Version mindestens resource-agents-4.3.0184.6ee15eb2-4.13.1 sein.
    sudo crm node standby sap-cl2
    sudo crm configure primitive fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' directory='/usr/sap/NW1/ASCS00' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ASCS IPaddr2 \
      params ip=10.90.90.10 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \
      meta resource-stickiness=3000
    

    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 crm_mon -r
    # Node sap-cl2: standby
    # Online: [ sap-cl1 ]
    #
    # Full list of resources:
    #
    # stonith-sbd     (stonith:external/sbd): 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
    
    
  2. [1] Installieren Sie SAP NetWeaver ASCS.

    Installieren Sie SAP NetWeaver ASCS als Stamm auf dem ersten Knoten. Verwenden Sie dabei einen virtuellen Hostnamen, der der IP-Adresse der Front-End-Konfiguration für den Lastenausgleich für ASCS zugeordnet ist (z. B. sapascs, 10.90.90.10), und die Instanznummer, die Sie für den Test des Lastenausgleichs verwendet haben (z. B. 00).

    Sie können den sapinst-Parameter „SAPINST_REMOTE_ACCESS_USER“ verwenden, um anderen Benutzern als Stammbenutzern die Herstellung einer Verbindung mit sapinst zu ermöglichen. Sie können den Parameter SAPINST_USE_HOSTNAME verwenden, um SAP über einen virtuellen Hostnamen zu installieren.

    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.

    chown nw1adm /usr/sap/NW1/ASCS00
    chgrp sapsys /usr/sap/NW1/ASCS00
    
  3. [1] Erstellen Sie eine virtuelle IP-Ressource und einen Integritätstest für die ERS-Instanz.

    sudo crm node online sap-cl2
    sudo crm node standby sap-cl1
    sudo crm configure primitive fs_NW1_ERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' directory='/usr/sap/NW1/ERS01' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ERS IPaddr2 \
      params ip=10.90.90.9 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ERS azure-lb port=62101 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
    

    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 crm_mon -r
    
    # Node sap-cl1: standby
    # Online: [ sap-cl2 ]
    # 
    # Full list of resources:
    #
    # stonith-sbd     (stonith:external/sbd): 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_ERS
    #      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started sap-cl2 
    #      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ERS  (ocf::heartbeat:IPaddr2):     Started sap-cl2
    
  4. [2] Installieren Sie SAP NetWeaver ERS.

    Installieren Sie SAP NetWeaver ERS auf dem zweiten Knoten als Stamm. Verwenden Sie dabei einen virtuellen Hostnamen, der der IP-Adresse der Front-End-Konfiguration des Lastenausgleichs für ERS zugeordnet ist (z. B. sapers, 10.90.90.9), und die Instanznummer, die Sie für den Test des Lastenausgleichs verwendet haben (z. B. 01).

    Sie können den sapinst-Parameter „SAPINST_REMOTE_ACCESS_USER“ verwenden, um anderen Benutzern als Stammbenutzern die Herstellung einer Verbindung mit sapinst zu ermöglichen. Sie können den Parameter SAPINST_USE_HOSTNAME verwenden, um SAP über einen virtuellen Hostnamen zu installieren.

    <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Hinweis

    Verwenden Sie SWPM SP 20 PL 05 oder höher. Bei niedrigeren Versionen werden die Berechtigungen nicht ordnungsgemäß festgelegt, sodass bei der Installation ein Fehler auftritt.

    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.

    chown nw1adm /usr/sap/NW1/ERS01
    chgrp sapsys /usr/sap/NW1/ERS01
    
  5. [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 following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # 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)
    
    # Add the following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # remove Autostart from ERS profile
    # Autostart = 1
    
  6. [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 dies zu verhindern, muss bei Verwendung von ENSA1 ein Parameter im SAP NetWeaver-ASCS/SCS-Profil festgelegt werden. Ä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
    
  7. [A] Konfigurieren Sie nach der Installation die SAP-Benutzer.

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw1adm
    
  8. [1] Fügen Sie ASCS- und ERS-SAP-Dienste zur Datei sapservice hinzu.

    Fügen Sie den ASCS-Diensteintrag zum zweiten Knoten hinzu. Kopieren Sie dann den ERS-Diensteintrag, und fügen Sie ihn auf dem ersten Knoten ein.

    cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices"
    sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
    
  9. [A] Deaktivieren von systemd-Diensten der ASCS- und ERS SAP-Instanz. Dieser Schritt gilt nur, wenn das SAP-Startframework gemäß SAP-Hinweis 3115048 von „systemd“ verwaltet wird.

    Hinweis

    Beim Verwalten von SAP-Instanzen wie SAP ASCS und SAP ERS mithilfe der SLES-Clusterkonfiguration müssen Sie zusätzliche Änderungen vornehmen, um den Cluster in das native systemd-basierte SAP-Startframework zu integrieren. Dadurch wird sichergestellt, dass Wartungsverfahren die Clusterstabilität nicht beeinträchtigen. Nach der Installation oder dem Wechsel des SAP-Startframeworks zum systemd-fähigen Setup gemäß SAP-Hinweis 3115048 sollten Sie die systemd-Dienste für die ASCS- und ERS SAP-Instanzen deaktivieren.

    # Stop ASCS and ERS instances using <sid>adm
    sapcontrol -nr 00 -function Stop
    sapcontrol -nr 00 -function StopService
    
    sapcontrol -nr 01 -function Stop
    sapcontrol -nr 01 -function StopService
    
    # Execute below command on VM where you have performed ASCS instance installation (e.g. sap-cl1)
    sudo systemctl disable SAPNW1_00
    # Execute below command on VM where you have performed ERS instance installation (e.g. sap-cl2)
    sudo systemctl disable SAPNW1_01
    
  10. [1] Erstellen Sie die 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. Informationen zur ENSA2-Unterstützung finden Sie im SAP Hinweis 2630416.

    sudo crm configure property maintenance-mode="true"
    
    sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \
     operations \$id=rsc_sap_NW1_ASCS00-operations \
     op monitor interval=11 timeout=60 on-fail=restart \
     params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \
     AUTOMATIC_RECOVER=false \
     meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \
     operations \$id=rsc_sap_NW1_ERS01-operations \
     op monitor interval=11 timeout=60 on-fail=restart \
     params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" AUTOMATIC_RECOVER=false IS_ERS=true \
     meta priority=1000
    
    sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00
    sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01
    
    sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS
    sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1
    sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false
    
    sudo crm_attribute --delete --name priority-fencing-delay
    
    sudo crm node online sap-cl1
    sudo crm configure property maintenance-mode="false"
    

Wenn Sie ein Upgrade von einer älteren Version durchführen und zu Enqueue Server 2 wechseln, lesen Sie den SAP-Hinweis 2641019.

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 crm_mon -r
# Full list of resources:
# 
# stonith-sbd     (stonith:external/sbd): Started sap-cl2
#  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_ERS
#      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started sap-cl2
#      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
#      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started sap-cl2
#      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl1

Vorbereitung des SAP NetWeaver-Anwendungsservers

Für einige Datenbanken ist es erforderlich, dass die Installation der Datenbankinstanz auf einem Anwendungsserver ausgeführt wird. Bereiten Sie die virtuellen Computer für den Anwendungsserver vor, damit Sie diese in diesen Fällen verwenden können.

In den folgenden Schritten wird davon ausgegangen, dass Sie den Anwendungsserver auf einem Server installieren, bei dem es sich nicht um einen ASCS/SCS- oder HANA-Server handelt. Anderenfalls sind einige der nachfolgenden Schritte (wie die Konfiguration der Hostnamensauflösung) nicht erforderlich.

Die folgenden Elemente sind mit einem der folgenden Präfixe versehen: [A] (gilt für alle PAS und AAS), [P] (gilt nur für PAS) oder [S] (gilt nur für AAS).

  1. [A] Konfigurieren des Betriebssystems

    Reduzieren Sie die Größe des Änderungscaches. Weitere Informationen finden Sie unter Low write performance on SLES 11/12 servers with large RAM (Niedrige Schreibleistung auf SLES 11/12-Servern mit großem Arbeitsspeicher).

    sudo vi /etc/sysctl.conf
    # Change/set the following settings
    vm.dirty_bytes = 629145600
    vm.dirty_background_bytes = 314572800
    
  2. [A] Einrichten der Hostnamensauflösung

    Sie können entweder einen DNS-Server verwenden oder „/etc/hosts“ auf allen Knoten ändern. In diesem Beispiel wird die Verwendung der /etc/hosts-Datei veranschaulicht. Ersetzen Sie die IP-Adresse und den Hostnamen in den folgenden Befehlen.

    sudo vi /etc/hosts
    

    Fügen Sie „/etc/hosts“ die folgenden Zeilen hinzu. Ä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
    
  3. [A] Erstellen des Verzeichnisses „sapmnt“

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  4. [A] Binden Sie die Dateisysteme ein.

    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 
    
  5. [A] Konfigurieren Sie die 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 Agent 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 virtuellen Azure-Computern (VMs). Eine Liste der unterstützten Datenbanken finden Sie im SAP-Hinweis 1928533.

Installieren Sie die SAP NetWeaver-Datenbankinstanz als Stamm mit einem virtuellen Hostnamen, der der IP-Adresse der Front-End-Konfiguration für den Lastenausgleich für die Datenbank zugeordnet ist.
Sie können den sapinst-Parameter „SAPINST_REMOTE_ACCESS_USER“ verwenden, um anderen Benutzern als Stammbenutzern die Herstellung einer Verbindung mit sapinst zu ermöglichen.

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.

  1. [A] Vorbereiten des Anwendungsservers. Führen Sie die Schritte im Kapitel Vorbereitung des SAP NetWeaver-Anwendungsservers aus, um den Anwendungsserver vorzubereiten.

  2. [A] Installieren Sie den SAP NetWeaver-Anwendungsserver.
    Installieren Sie einen primären oder einen zusätzlichen SAP NetWeaver-Anwendungsserver.

    Sie können den sapinst-Parameter „SAPINST_REMOTE_ACCESS_USER“ verwenden, um anderen Benutzern als Stammbenutzern die Herstellung einer Verbindung mit sapinst zu ermöglichen.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [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 aus, um die Einträge aufzulisten.

    hdbuserstore List
    

    Durch den Befehl werden alle Einträge aufgelistet. Die Liste sieht in etwa wie folgt aus:

    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 (30313 und NW1 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. Führen Sie die üblichen Failovertests durch.

Nächste Schritte