Freigeben über


Bereitstellung von SAP-Dialoginstanzen mit hochverfügbaren virtuellen SAP ASCS/SCS-Maschinen auf RHEL

In diesem Artikel wird beschrieben, wie Sie die Dialoginstanzen des primären Anwendungsservers (Primary Application Server, PAS) und des zusätzlichen Anwendungsservers (Additional Application Server, AAS) auf einem vorhandenen Hochverfügbarkeitscluster installieren und konfigurieren, der unter Red Hat Enterprise Linux (RHEL) ausgeführt wird. Die PAS- und AAS-Instanzen werden auf denselben virtuellen Computern wie Advanced Business Application Programming Central Services (ASCS) oder SAP Central Services (SCS) ausgeführt.

Durch die Bereitstellung von PAS und AAS auf denselben virtuellen Computern wie SAP ASCS/SCS und Enqueue Replication Server (ERS) minimieren Sie die Anzahl virtueller Computer (VMs) für ein einzelnes SAP-System. Der Cluster verwaltet die PAS- und AAS-Instanzen zusammen mit ASCS und ERS und verwendet die Network File Share (NFS) in Azure Files oder Azure NetApp Files für ein hochverwendbares Instanzverzeichnis.

Quellen

Übersicht

Diese Konfiguration ist eine Ergänzung zu einem bereits konfigurierten SAP ASCS/SCS-Clustersetup. PAS und AAS werden auf virtuellen Hostnamen installiert, und jedes Instanzverzeichnis (/usr/sap/<SID>/D<nr>) wird als Clusterressource verwaltet. Sie platzieren das Instanzverzeichnisdateisystem auf demselben hoch verfügbaren Speicher, den Sie für die ASCS- und ERS-Instanzkonfiguration verwendet haben.

Im folgenden Beispiel wird die Bereitstellung beschrieben und diese Systeminformationen verwendet:

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.

Diagramm, das die Architektur der Dialoginstanzinstallation mit einem SAP ASCS/SCS-Cluster zeigt.

Wichtige Überlegungen für die Kostenoptimierungslösung

  • Sie können nur zwei Dialoginstanzen, PAS und eine AAS, mit einem SAP ASCS/SCS-Cluster-Setup bereitstellen.

  • Wenn Sie Ihr SAP-System mit weiteren Anwendungsservern (wie sapa03 und sapa04) skalieren möchten, können Sie diese in separaten VMs installieren. Da PAS und AAS auf virtuellen Hostnamen installiert sind, können Sie weitere Anwendungsserver installieren, indem Sie entweder einen physischen oder virtuellen Hostnamen in separaten virtuellen Computern verwenden. Informationen zum Zuweisen eines virtuellen Hostnamens zu einem virtuellen Computer finden Sie unter Verwenden von SAP Virtual Host Names 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. Wenn ein anderer virtueller Computer im Cluster nicht verfügbar ist, müssen Sie das Clusterverhalten berücksichtigen, bei dem mehrere SAP-Instanzen (ASCS, ERS, PAS und AAS) auf einem einzelnen virtuellen Computer ausgeführt werden können.

  • Sie müssen die Dialoginstanzen (PAS und AAS) installieren, die mit einer SAP ASCS/SCS-Clusterkonfiguration unter Verwendung eines virtuellen Hostnamens laufen.

  • Sie müssen auch die gleiche Speicherlösung des SAP ASCS/SCS-Clustersetups verwenden, um PAS- und AAS-Instanzen bereitzustellen. Wenn Sie beispielsweise einen SAP ASCS/SCS-Cluster mithilfe von NFS in Azure Files konfiguriert haben, müssen Sie dieselbe Speicherlösung zum Bereitstellen von PAS und AAS verwenden.

  • Das Instanzverzeichnis /usr/sap/<SID>/D<nr> von PAS und AAS muss auf einem NFS-Dateisystem bereitgestellt und als Ressource vom Cluster verwaltet werden.

    Hinweis

    Für SAP J2EE-Systeme wird das Platzieren von /usr/sap/<SID>/J<nr> auf NFS auf 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 virtuellen Computern ausgeführt werden, nicht betroffen, wenn sich ein Problem auf SAP ASCS- und ERS-Clusterknoten auswirkt. Bei der Konfiguration der Kostenoptimierung wird jedoch entweder die PAS- oder AAS-Instanz neu gestartet, wenn sich ein Problem auf einen der Clusterknoten 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 virtuellen Hostnamen installiert. Der Cluster verwaltet die Instanzenverzeichnisse. 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.

Nachdem Sie die ASCS-, ERS- und Datenbankinstanzen 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.

  1. Öffnen Sie den internen Load Balancer, der für das SAP-ASCS-/SCS-Clustersetup erstellt wurde.
  2. 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).
  3. Back-End-Pool: Dieser Pool bleibt identisch, da Sie PAS und AAS im gleichen Back-End-Pool bereitstellen.
  4. 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.
  5. Front-End-IP-Adresse: Wählen Sie die Front-End-IP-Adresse aus.
    1. Back-End-Pool: Wählen Sie den Back-End-Pool aus.
    2. Hochverfügbarkeits-Ports: Wählen Sie diese Option aus.
    3. Protokoll: Wählen Sie TCP.
    4. Integritätstest: Erstellen Sie einen Integritätstest mit den folgenden Details (gilt für PAS wie auch AAS):
      1. Protokoll: Wählen Sie TCP.
      2. Port: z. B. 620<Instanz-Nr.> für PAS und 620<Instanz-Nr.> für AAS.
      3. Intervall: Geben Sie 5 ein.
      4. Testschwellenwert: Geben Sie 2 ein.
    5. Leerlauftimeout (Minuten): Geben Sie 30 ein.
    6. 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 fehlgeschlagener aufeinanderfolgender Tests zu steuern. Es ist derzeit nicht möglich, diese Eigenschaft mithilfe des Azure-Portals festzulegen. Verwenden Sie entweder die Azure CLI oder den Azure PowerShell-Befehl .

Wenn Sie VMs ohne öffentliche IP-Adressen im Backend-Pool eines internen Load Balancers platzieren, gibt es keine ausgehende Internet-Konnektivität. Um das Routing an öffentliche Endpunkte zuzulassen, müssen Sie zusätzliche Konfigurationen durchführen. 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 Load Balancer-Integritätstests.

Vorbereiten der Server für die PAS- und AAS-Installation

Bereiten Sie vor der Installation der Dialogfeldinstanzen beide Clusterknoten mit Hostnamensauflösung, freigegebenen Verzeichnissen, Auslagerungsbereich und Firewallregeln vor.

Wenn Schritte in diesem Artikel mit den folgenden Präfixen gekennzeichnet sind:

  • [A]: gilt für alle Knoten.
  • [1]: gilt nur für Knoten 1.
  • [2]: gilt nur für Knoten 2.
  1. [A] Einrichten der 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
    
  2. [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.

    1. 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
      
    2. 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
      
  3. [A] Erstellen Sie die 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
    
  4. [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
    

    Um die Änderung zu aktivieren, starten Sie den Agent neu.

    sudo service waagent restart
    
  5. [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. [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
    
  2. [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
    sudo pcs resource create nc_NW1_PAS azure-lb port=62002
    
    # 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' \
      fast_stop=no op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=40
    
    # 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 \
      fast_stop=no op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=40
    
    # 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' \
      fast_stop=no op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=105
    
    sudo pcs resource group add g-NW1_PAS vip_NW1_PAS nc_NW1_PAS fs_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
    
  3. [1] Ändern Sie den Besitz des /usr/sap/SID/D02 Ordners, nachdem Sie das Dateisystem bereitgestellt haben.

    sudo chown nw1adm:sapsys /usr/sap/NW1/D02
    
  4. [1] Installieren Sie den SAP NetWeaver PAS.

    Installieren Sie den SAP NetWeaver PAS als Stamm auf dem ersten Knoten. Verwenden Sie einen virtuellen Hostnamen, 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 zum Testen 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>
    
  5. [1] 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
    
  6. [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
    
    # 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
    
    sudo pcs resource group add g-NW1_PAS rsc_sap_NW1_PAS02
    

    Ü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
    
  7. [1] Konfigurieren Sie eine Einschränkung, um die PAS-Ressourcengruppe erst nach dem Start der ASCS-Instanz zu starten.

    sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
    

Installieren einer SAP NetWeaver AAS-Instanz

  1. [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. [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
    sudo pcs resource create nc_NW1_AAS azure-lb port=62003
    
    # 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' \
      fast_stop=no op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=40
    
    # 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 \
      fast_stop=no op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=40
    
    # 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' \
      fast_stop=no op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=105
    
    sudo pcs resource group add g-NW1_AAS vip_NW1_AAS nc_NW1_AAS fs_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 gestoppt ist, sind alle PAS-Ressourcen im (deaktivierten) Zustand gestoppt.

    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
    
  3. [2] Ändern Sie den Besitz des /usr/sap/SID/D03 Ordners, nachdem Sie das Dateisystem bereitgestellt haben.

    sudo chown nw1adm:sapsys /usr/sap/NW1/D03
    
  4. [2] Installieren Sie SAP NetWeaver AAS.

    Installieren Sie SAP NetWeaver AAS als Stamm auf dem zweiten Knoten. Verwenden Sie einen virtuellen Hostnamen, der der IP-Adresse der Front-End-Konfiguration des Lastenausgleichs für das AAS zugeordnet ist. Verwenden Sie z. B. sapaas, 10.90.90.31 und die Instanznummer, die Sie für die Abtastung 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>
    
  5. [2] 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
    
  6. [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
    
    # 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
    
    sudo pcs resource group add g-NW1_AAS rsc_sap_NW1_AAS03
    

    Ü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
    
  7. [2] Konfigurieren Sie eine Einschränkung, um die AAS-Ressourcengruppe erst nach dem Start der ASCS-Instanz zu starten.

    sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
    

Konfigurieren von Einstellungen nach der Installation für PAS und AAS

Führen Sie nach der Installation von PAS und AAS die folgenden Schritte aus, um die Ausführung der Instanzen auf einem beliebigen Clusterknoten zu ermöglichen.

  1. [1] Damit PAS und AAS auf einem beliebigen Clusterknoten (sap-cl1 oder sap-cl2) ausgeführt werden können, müssen Sie den Inhalt $HOME/.hdb von <sid>adm beiden Clusterknoten kopieren.

    # 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 .
    
  2. [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.

  3. [A] Ü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
    

Die Clustereinrichtung testen

Testen Sie Ihren Pacemaker-Cluster gründlich, indem Sie die typischen Failovertests ausführen.