Share via


SAP-dialoogvensterexemplaren implementeren met SAP ASCS/SCS-VM's met hoge beschikbaarheid op RHEL

In dit artikel wordt beschreven hoe u primaire toepassingsserver (PAS) en aanvullende AAS-dialoogvensters (Application Server) installeert en configureert op dezelfde ABAP SAP Central Services (ASCS)/SAP Central Services (SCS) met hoge beschikbaarheid die wordt uitgevoerd op Red Hat Enterprise Linux (RHEL).

Verwijzingen

Overzicht

In dit artikel wordt het scenario voor kostenoptimalisatie beschreven waarin u PAS- en AAS-dialoogvensterexemplaren implementeert met SAP ASCS/SCS- en ERS-instanties (Enqueue Replication Server) in een installatie met hoge beschikbaarheid. Als u het aantal VM's voor één SAP-systeem wilt minimaliseren, wilt u PAS en AAS installeren op dezelfde host waarop SAP ASCS/SCS en SAP ERS worden uitgevoerd. Wanneer SAP ASCS/SCS wordt geconfigureerd in een clusterinstallatie met hoge beschikbaarheid, wilt u dat PAS en AAS ook worden beheerd door het cluster. De configuratie is in feite een aanvulling op een al geconfigureerde SAP ASCS/SCS-clusterinstallatie. In deze installatie worden PAS en AAS geïnstalleerd op een virtuele hostnaam en wordt de exemplaarmap beheerd door het cluster.

Voor deze installatie vereisen PAS en AAS een maximaal beschikbare exemplaarmap (/usr/sap/<SID>/D<nr>). U kunt het bestandssysteem van de exemplaarmap plaatsen op dezelfde opslag met hoge beschikbaarheid die u hebt gebruikt voor de configuratie van ASCS- en ERS-exemplaren. De gepresenteerde architectuur toont NFS in Azure Files of Azure NetApp Files voor een maximaal beschikbare exemplaarmap voor de installatie.

In het voorbeeld dat in dit artikel wordt weergegeven om de implementatie te beschrijven, worden de volgende systeeminformatie gebruikt:

Exemplaarnaam Exemplaarnummer Naam van virtuele host Virtueel IP-adres (testpoort)
ABAP SAP Central Services (ASCS) 00 sapascs 10.90.90.10 (62000)
Replicatieserver (ERS) in de wachtrij weergeven 01 sapers 10.90.90.9 (62001)
Primaire toepassingsserver (PAS) 02 sappas 10.90.90.30 (62002)
Aanvullende toepassingsserver (AAS) 03 sapers 10.90.90.31 (62003)
SAP-systeem-id NW1 --- ---

Notitie

Installeer meer SAP-toepassingsexemplaren op afzonderlijke VM's als u wilt uitschalen.

Diagram that shows the architecture of dialog instance installation with an SAP ASCS/SCS cluster.

Belangrijke overwegingen voor de oplossing voor kostenoptimalisatie

  • Er kunnen slechts twee dialoogvensterexemplaren, PAS en één AAS, worden geïmplementeerd met een SAP ASCS/SCS-clusterinstallatie.
  • Als u uw SAP-systeem wilt uitschalen met meer toepassingsservers (zoals sapa03 en sapa04), kunt u ze installeren in afzonderlijke VM's. Als PAS en AAS worden geïnstalleerd op namen van virtuele hosts, kunt u meer toepassingsservers installeren met behulp van een fysieke of virtuele hostnaam in afzonderlijke VM's. Zie de blog SAP Virtual Host Names gebruiken met Linux in Azure voor meer informatie over het toewijzen van een virtuele hostnaam aan een virtuele machine.
  • Met een PAS- en AAS-implementatie met een SAP ASCS/SCS-clusterinstallatie moeten de exemplaren van ASCS, ERS, PAS en AAS verschillen.
  • Overweeg de grootte van uw VM-SKU's op de juiste manier te wijzigen op basis van de richtlijnen voor het aanpassen van de grootte. U moet rekening houden met het gedrag van het cluster waarbij meerdere SAP-exemplaren (ASCS, ERS, PAS en AAS) op één VM kunnen worden uitgevoerd wanneer een andere VM in het cluster niet beschikbaar is.
  • De dialoogvensterexemplaren (PAS en AAS) die worden uitgevoerd met een SAP ASCS/SCS-clusterinstallatie, moeten worden geïnstalleerd met behulp van een virtuele hostnaam.
  • U moet ook dezelfde opslagoplossing van de SAP ASCS/SCS-clusterinstallatie gebruiken om PAS- en AAS-exemplaren te implementeren. Als u bijvoorbeeld een SAP ASCS/SCS-cluster hebt geconfigureerd met behulp van NFS in Azure Files, moet dezelfde opslagoplossing worden gebruikt om PAS en AAS te implementeren.
  • De exemplaarmap /usr/sap/<SID>/D<nr> van PAS en AAS moet worden gekoppeld aan een NFS-bestandssysteem en worden beheerd als een resource door het cluster.

    Notitie

    Voor SAP J2EE-systemen wordt het niet ondersteund om op NFS in Azure Files te plaatsen /usr/sap/<SID>/J<nr> .

  • Als u meer toepassingsservers op afzonderlijke VM's wilt installeren, kunt u NFS-shares of een lokale beheerde schijf gebruiken voor een exemplaarmapbestandssysteem. Als u meer toepassingsservers installeert voor een SAP J2EE-systeem, /usr/sap/<SID>/J<nr> wordt NFS in Azure Files niet ondersteund.
  • In een traditionele SAP ASCS/SCS-configuratie met hoge beschikbaarheid worden exemplaren van toepassingsservers die worden uitgevoerd op afzonderlijke VM's niet beïnvloed wanneer er gevolgen zijn voor SAP ASCS- en ERS-clusterknooppunten. Maar met de configuratie voor kostenoptimalisatie wordt het PAS- of AAS-exemplaar opnieuw opgestart wanneer er een effect is op een van de knooppunten in het cluster.
  • Zie overwegingen voor NFS in Azure Files en overwegingen voor Azure NetApp Files, omdat dezelfde overwegingen van toepassing zijn op deze installatie.

Vereisten

De configuratie die in dit artikel wordt beschreven, is een aanvulling op de configuratie van uw al geconfigureerde SAP ASCS/SCS-cluster. In deze configuratie worden PAS en AAS geïnstalleerd op een virtuele hostnaam en wordt de exemplaarmap beheerd door het cluster. Gebruik op basis van uw opslag de stappen die worden beschreven in de volgende artikelen om de SAPInstance resource voor het SAP ASCS- en SAP ERS-exemplaar in het cluster te configureren.

Nadat u het ASCS-, ERS- en Database-exemplaar hebt geïnstalleerd met behulp van Software Provisioning Manager (SWPM), volgt u de volgende stappen om de PAS- en AAS-exemplaren te installeren.

Azure Load Balancer configureren voor PAS en AAS

In dit artikel wordt ervan uitgegaan dat u de load balancer al hebt geconfigureerd voor het instellen van het SAP ASCS/SCS-cluster, zoals beschreven in Azure Load Balancer configureren. Volg in hetzelfde Azure Load Balancer-exemplaar deze stappen om meer front-end-IP-adressen en taakverdelingsregels te maken voor PAS en AAS.

  1. Open de interne load balancer die is gemaakt voor de installatie van het SAP ASCS/SCS-cluster.
  2. Front-end-IP-configuratie: maak twee front-end-IP-adressen, een voor PAS en een voor AAS (bijvoorbeeld 10.90.90.30 en 10.90.90.31).
  3. Back-endpool: deze pool blijft hetzelfde omdat we PAS en AAS implementeren in dezelfde back-endpool.
  4. Inkomende regels: maak twee taakverdelingsregels, één voor PAS en een andere voor AAS. Volg dezelfde stappen voor beide taakverdelingsregels.
  5. Front-end-IP-adres: selecteer het front-end-IP-adres.
    1. Back-endpool: selecteer de back-endpool.
    2. Poorten voor hoge beschikbaarheid: selecteer deze optie.
    3. Protocol: selecteer TCP.
    4. Statustest: Maak een statustest met de volgende details (geldt voor zowel PAS als AAS):
      1. Protocol: selecteer TCP.
      2. Poort: bijvoorbeeld 620<exemplaar-nee.> voor PAS en 620<instance-no.> voor AAS.
      3. Interval: Voer 5 in.
      4. Testdrempel: voer 2 in.
    5. Time-out voor inactiviteit (minuten): voer 30 in.
    6. Zwevend IP-adres inschakelen: selecteer deze optie.

De configuratie-eigenschap numberOfProbesvan de statustest, ook wel bekend als drempelwaarde voor beschadigde status in Azure Portal, wordt niet gerespecteerd. Als u het aantal geslaagde of mislukte opeenvolgende tests wilt bepalen, stelt u de eigenschap probeThreshold in op 2. Het is momenteel niet mogelijk om deze eigenschap in te stellen met behulp van Azure Portal. Gebruik de Azure CLI of de PowerShell-opdracht .

Belangrijk

Zwevend IP-adres wordt niet ondersteund in een secundaire IP-configuratie van een NIC in taakverdelingsscenario's. Zie Azure Load Balancer-beperkingen voor meer informatie. Als u meer IP-adressen voor de VM's nodig hebt, implementeert u een tweede NIC.

Wanneer VM's zonder openbare IP-adressen worden geplaatst in de back-endpool van een intern (geen openbaar IP-adres) Standard Azure Load Balancer-exemplaar, is er geen uitgaande internetverbinding, tenzij er meer configuratie wordt uitgevoerd om routering naar openbare eindpunten toe te staan. Zie Openbare eindpuntconnectiviteit voor virtuele machines met behulp van Azure Standard Load Balancer in scenario's met hoge beschikbaarheid van SAP voor stappen voor het bereiken van uitgaande connectiviteit.

Belangrijk

Schakel TCP-tijdstempels niet in op Azure-VM's die achter Azure Load Balancer worden geplaatst. Als u TCP-tijdstempels inschakelt, mislukken de statustests. Stel de parameter in net.ipv4.tcp_timestamps op 0. Zie Statustests van Load Balancer voor meer informatie.

Servers voorbereiden voor PAS- en AAS-installatie

Wanneer stappen in dit document zijn gemarkeerd met de volgende voorvoegsels, betekent dit:

  • [A]: Van toepassing op alle knooppunten.
  • [1]: Alleen van toepassing op knooppunt 1.
  • [2]: Alleen van toepassing op knooppunt 2.
  1. [A] Hostnaamomzetting instellen.

    U kunt een DNS-server gebruiken of wijzigen /etc/hosts op alle knooppunten. In dit voorbeeld ziet u hoe u het /etc/hosts bestand gebruikt. Vervang het IP-adres en de hostnaam in de volgende opdrachten:

    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] Maak de SAP-mappen op de NFS-share. Koppel de NFS-share sapnw1 tijdelijk op een van de VM's en maak de SAP-directory's die moeten worden gebruikt als geneste koppelpunten.

    1. Als u NFS gebruikt in 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. Als u Azure NetApp Files gebruikt:

      # 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] Maak de gedeelde mappen.

    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] Wisselruimte configureren. Wanneer u een dialoogvensterexemplaren met centrale services installeert, moet u meer wisselruimte configureren.

    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
    

    Start de agent opnieuw om de wijziging te activeren.

    sudo service waagent restart
    
  5. [A] Voeg firewallregels toe voor PAS en AAS.

    # 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
    

Een SAP Netweaver PAS-exemplaar installeren

  1. [1] Controleer de status van het cluster. Voordat u een PAS-resource configureert voor installatie, moet u ervoor zorgen dat de ASCS- en ERS-resources zijn geconfigureerd en gestart.

    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] Maak bestandssysteem, virtueel IP-adres en statustestbronnen voor het PAS-exemplaar.

    sudo pcs node standby sap-cl2
    sudo pcs resource create vip_NW1_PAS IPaddr2 ip=10.90.90.30 --group g-NW1_PAS
    sudo pcs resource create nc_NW1_PAS azure-lb port=62002 --group g-NW1_PAS
    
    # If using NFS on Azure files
    sudo pcs resource create fs_NW1_PAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D02' \
      directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=40 \
      --group g-NW1_PAS
    
    # If using NFsv3 on Azure NetApp Files
    sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \
      directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe \
      op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \ 
      op monitor interval=200 timeout=40 \
      --group g-NW1_PAS
    
    # If using NFSv4.1 on Azure NetApp Files
    sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \
      directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \
      op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=105 \
      --group g-NW1_PAS
    

    Zorg ervoor dat de clusterstatus in orde is en dat alle resources zijn gestart. Het is niet belangrijk op welk knooppunt de resources worden uitgevoerd.

    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] Wijzig het eigendom van de /usr/sap/SID/D02 map nadat het bestandssysteem is gekoppeld.

    sudo chown nw1adm:sapsys /usr/sap/NW1/D02
    
  4. [1] Installeer de SAP Netweaver PAS.

    Installeer het SAP NetWeaver PAS als hoofdmap op het eerste knooppunt met behulp van een virtuele hostnaam die is toegewezen aan het IP-adres van de front-endconfiguratie van de load balancer voor het PAS. Gebruik bijvoorbeeld sappas, 10.90.90.30 en het exemplaarnummer dat u hebt gebruikt voor de test van de load balancer, bijvoorbeeld 02.

    U kunt de sapinst-parameter SAPINST_REMOTE_ACCESS_USER gebruiken om een niet-basisgebruiker verbinding te laten maken met sapinst.

    # 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. Werk het /usr/sap/sapservices bestand bij.

    Als u het begin van de exemplaren door het sapinit-opstartscript wilt voorkomen, moeten alle exemplaren die worden beheerd door Pacemaker, worden uitgeschakeld vanuit het /usr/sap/sapservices bestand.

    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] Maak de PAS-clusterresource.

    # If using NFS on Azure Files or NFSv3 on Azure NetApp Files
    pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \
     START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \
     op monitor interval=20 timeout=60 \
     --group g-NW1_PAS
    
    # If using NFSv4.1 on Azure NetApp Files
    pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \
     START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \
     op monitor interval=20 timeout=105 \
     --group g-NW1_PAS
    

    Controleer de status van het cluster.

    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. Configureer een beperking om de PAS-resourcegroep pas te starten nadat het ASCS-exemplaar is gestart.

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

Een SAP Netweaver AAS-exemplaar installeren

  1. [2] Controleer de status van het cluster. Voordat u een AAS-resource configureert voor installatie, moet u ervoor zorgen dat de ASCS-, ERS- en PAS-resources zijn gestart.

    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] Maak bestandssysteem-, virtuele IP- en statustestbronnen voor het AAS-exemplaar.

    sudo pcs node unstandby sap-cl2
    # Disable PAS resource as it will fail on sap-cl2 due to missing environment variables like hdbuserstore. 
    sudo pcs resource disable g-NW1_PAS
    sudo pcs node standby sap-cl1
    # Execute below command to cleanup resource, if required
    pcs resource cleanup rsc_sap_NW1_ERS01
    
    sudo pcs resource create vip_NW1_AAS IPaddr2 ip=10.90.90.31 --group g-NW1_AAS
    sudo pcs resource create nc_NW1_AAS azure-lb port=62003 --group g-NW1_AAS
    
    # If using NFS on Azure files
    sudo pcs resource create fs_NW1_AAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D03' \
      directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=40 \
      --group g-NW1_AAS
    
    # If using NFsv3 on Azure NetApp Files
    sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \
      directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe \
      op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \ 
      op monitor interval=200 timeout=40 \
      --group g-NW1_AAS
    
    # If using NFSv4.1 on Azure NetApp Files
    sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \
      directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \
      op start interval=0 timeout=60 \
      op stop interval=0 timeout=120 \
      op monitor interval=200 timeout=105 \
      --group g-NW1_AAS
    

    Zorg ervoor dat de clusterstatus in orde is en dat alle resources zijn gestart. Het is niet belangrijk op welk knooppunt de resources worden uitgevoerd. Omdat de g-NW1_PAS-resourcegroep is gestopt, worden alle PAS-resources gestopt met de status (uitgeschakeld).

    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] Wijzig het eigendom van de /usr/sap/SID/D03 map nadat het bestandssysteem is gekoppeld.

    sudo chown nw1adm:sapsys /usr/sap/NW1/D03
    
  4. [2] Installeer een SAP Netweaver AAS.

    Installeer een SAP NetWeaver AAS als hoofdmap op het tweede knooppunt met behulp van een virtuele hostnaam die is toegewezen aan het IP-adres van de front-endconfiguratie van de load balancer voor de PAS. Gebruik bijvoorbeeld sapaas, 10.90.90.31 en het exemplaarnummer dat u hebt gebruikt voor de test van de load balancer, bijvoorbeeld 03.

    U kunt de sapinst-parameter SAPINST_REMOTE_ACCESS_USER gebruiken om een niet-basisgebruiker verbinding te laten maken met sapinst.

    # 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. Werk het /usr/sap/sapservices bestand bij.

    Als u het begin van de exemplaren door het sapinit-opstartscript wilt voorkomen, moeten alle exemplaren die worden beheerd door Pacemaker, worden uitgeschakeld vanuit het /usr/sap/sapservices bestand.

    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] Maak een AAS-clusterresource.

    # If using NFS on Azure Files or NFSv3 on Azure NetApp Files
    pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \
     START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \
     op monitor interval=120 timeout=60 \
     --group g-NW1_AAS
    
    # If using NFSv4.1 on Azure NetApp Files
    pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \
     START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \
     op monitor interval=120 timeout=105 \
     --group g-NW1_AAS
    

    Controleer de status van het cluster.

    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. Configureer een beperking om de AAS-resourcegroep pas te starten nadat het ASCS-exemplaar is gestart.

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

Postconfiguratie voor PAS- en AAS-exemplaren

  1. [1] De inhoud $HOME/.hdb van <sid>adm beide clusterknooppunten moet worden gekopieerd om PAS en AAS uit te voeren op elk clusterknooppunt (sap-cl1 of sap-cl2).

    # 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] Als u ervoor wilt zorgen dat de PAS- en AAS-exemplaren niet op dezelfde knooppunten worden uitgevoerd wanneer beide knooppunten worden uitgevoerd, voegt u een negatieve colocatiebeperking toe met de volgende opdracht:

    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
    

    De score van -1000 zorgt ervoor dat als er slechts één knooppunt beschikbaar is, beide exemplaren op het andere knooppunt blijven worden uitgevoerd. Als u de AAS-instantie in een dergelijke situatie offline wilt houden, kunt u deze voorwaarde afdwingen score=-INFINITY .

  3. Controleer de status van het cluster.

    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
    

De clusterinstallatie testen

Test uw Pacemaker-cluster grondig door de typische failovertests uit te voeren.