Hoge beschikbaarheid voor SAP NetWeaver op Azure-VM's in SUSE Linux Enterprise Server voor SAP-toepassingen

In dit artikel wordt beschreven hoe u de virtuele machines implementeert, de virtuele machines configureert, het clusterframework installeert en een maximaal beschikbare SAP NetWeaver- of SAP ABAP-platformsysteem installeert. In de voorbeeldconfiguraties wordt ASCS-exemplaarnummer 00, ERS-exemplaarnummer 02 en SAP-systeem-id NW1 gebruikt.

Voor nieuwe implementaties op SLES voor SAP-toepassingen 15 raden we u aan hoge beschikbaarheid te implementeren voor SAP ASCS/ERS in eenvoudige koppelingsconfiguratie. De klassieke Pacemaker-configuratie, op basis van door clusters beheerde bestandssystemen voor de mappen van sap-centrale services, die in dit artikel worden beschreven, wordt nog steeds ondersteund.

Lees eerst de volgende SAP-notities en -documenten

Overzicht

Voor hoge beschikbaarheid is voor SAP NetWeaver een NFS-server vereist. De NFS-server is geconfigureerd in een afzonderlijk cluster en kan worden gebruikt door meerdere SAP-systemen.

SAP NetWeaver High Availability overview

De NFS-server, SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS en de SAP HANA-database gebruiken virtuele hostnaam en virtuele IP-adressen. In Azure is een load balancer vereist voor het gebruik van een virtueel IP-adres. We raden u aan standard load balancer te gebruiken. De gepresenteerde configuratie toont een load balancer met:

  • Front-end-IP-adres 10.0.0.7 voor ASCS
  • Front-end-IP-adres 10.0.0.8 voor ERS
  • Testpoort 62000 voor ASCS
  • Testpoort 62101 voor ERS

Een maximaal beschikbare NFS-server instellen

Notitie

U wordt aangeraden een van de eigen NFS-services van Azure te implementeren: NFS in Azure Files of NFS ANF-volumes voor het opslaan van gedeelde gegevens in een maximaal beschikbaar SAP-systeem. Houd er rekening mee dat we SAP-referentiearchitecturen benadrukken met behulp van NFS-clusters.
De SAP-configuratiehandleidingen voor sap nw maximaal beschikbare SAP-systeem met systeemeigen NFS-services zijn:

SAP NetWeaver vereist gedeelde opslag voor de transport- en profielmap. Lees hoge beschikbaarheid voor NFS op Azure-VM's op SUSE Linux Enterprise Server over het instellen van een NFS-server voor SAP NetWeaver.

Infrastructuur voorbereiden

De resourceagent voor SAP Instance is opgenomen in SUSE Linux Enterprise Server voor SAP-toepassingen. Een installatiekopieën voor SUSE Linux Enterprise Server voor SAP-toepassingen 12 of 15 zijn beschikbaar in Azure Marketplace. U kunt de installatiekopieën gebruiken om nieuwe VM's te implementeren.

Virtuele Linux-machines handmatig implementeren via Azure Portal

In dit document wordt ervan uitgegaan dat u al een resourcegroep, Azure Virtual Network en subnet hebt geïmplementeerd.

Implementeer virtuele machines met SLES for SAP Applications-installatiekopieën. Kies een geschikte versie van de SLES-installatiekopieën die worden ondersteund voor het SAP-systeem. U kunt vm's implementeren in een van de beschikbaarheidsopties: virtuele-machineschaalset, beschikbaarheidszone of beschikbaarheidsset.

Azure Load Balancer configureren

Tijdens de VM-configuratie hebt u de mogelijkheid om een load balancer te maken of te selecteren in de sectie Netwerken. Volg de onderstaande stappen om een standaard load balancer te configureren voor de installatie van SAP ASCS en SAP ERS met hoge beschikbaarheid.

Volg de handleiding voor het maken van load balancers om een standaard load balancer in te stellen voor een SAP-systeem met hoge beschikbaarheid met behulp van Azure Portal. Houd rekening met de volgende punten tijdens het instellen van de load balancer.

  1. Front-end-IP-configuratie: maak twee front-end-IP-adressen, één voor ASCS en een andere voor ERS. Selecteer hetzelfde virtuele netwerk en subnet als uw virtuele ASCS-/ERS-machines.
  2. Back-endpool: back-endpool maken en ASCS- en ERS-VM's toevoegen.
  3. Inkomende regels: maak twee taakverdelingsregel, een voor ASCS en een andere voor ERS. Volg dezelfde stappen voor beide taakverdelingsregels.
    • Front-end-IP-adres: front-end-IP selecteren
    • Back-endpool: back-endpool selecteren
    • Controleer poorten met hoge beschikbaarheid
    • Protocol: TCP
    • Statustest: Maak een statustest met de onderstaande details (geldt voor zowel ASCS als ERS)
      • Protocol: TCP
      • Poort: [bijvoorbeeld: 620<Instance-no.> voor ASCS, 621<Instance-no.> voor ERS]
      • Interval: 5
      • Testdrempel: 2
    • Time-out voor inactiviteit (minuten): 30
    • Schakel Zwevend IP-adres in

Notitie

Het eigenschapsnummer van de statustestconfiguratieofOfProbes, ook wel 'Drempelwaarde beschadigd' genoemd in de portal, wordt niet gerespecteerd. Als u dus het aantal geslaagde of mislukte opeenvolgende tests wilt beheren, stelt u de eigenschap probeThreshold in op 2. Het is momenteel niet mogelijk om deze eigenschap in te stellen met behulp van Azure Portal, dus gebruik de Azure CLI of PowerShell-opdracht .

Belangrijk

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

Notitie

Wanneer VM's zonder openbare IP-adressen worden geplaatst in de back-endpool van interne (geen openbaar IP-adres) Standard Azure Load Balancer, is er geen uitgaande internetverbinding, tenzij er aanvullende 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 meer informatie over 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 net.ipv4.tcp_timestamps parameter in op 0. Zie Statustests van Load Balancer voor meer informatie.
  • Als u wilt voorkomen dat saptune de handmatig ingestelde net.ipv4.tcp_timestamps waarde wijzigt van 0 terug naar 1, moet u saptune-versie bijwerken naar 3.1.1 of hoger. Zie saptune 3.1.1 – Moet ik bijwerken? voor meer informatie.

SCS instellen (A)

Vervolgens bereidt en installeert u de SAP ASCS- en ERS-exemplaren.

Pacemaker-cluster maken

Volg de stappen in Het instellen van Pacemaker op SUSE Linux Enterprise Server in Azure om een eenvoudig Pacemaker-cluster te maken voor deze (A)SCS-server.

Installatie

De volgende items worden voorafgegaan door [A] - van toepassing op alle knooppunten, [1] - alleen van toepassing op knooppunt 1 of [2] - alleen van toepassing op knooppunt 2.

  1. [A] SUSE installeren Verbinding maken or

    sudo zypper install sap-suse-cluster-connector
    

    Notitie

    Het bekende probleem met het gebruik van een streepje in hostnamen is opgelost met versie 3.1.1 van pakket sap-suse-cluster-connector. Zorg ervoor dat u ten minste versie 3.1.1 van pakket sap-suse-cluster-connector gebruikt als u clusterknooppunten gebruikt met streepje in de hostnaam. Anders werkt uw cluster niet.

    Zorg ervoor dat u de nieuwe versie van de SAP SUSE-clusterconnector hebt geïnstalleerd. De oude is sap_suse_cluster_connector genoemd en de nieuwe heet sap-suse-cluster-connector.

    sudo zypper info sap-suse-cluster-connector
    
    Information for package sap-suse-cluster-connector:
    ---------------------------------------------------
    Repository     : SLE-12-SP3-SAP-Updates
    Name           : sap-suse-cluster-connector
    <b>Version        : 3.0.0-2.2</b>
    Arch           : noarch
    Vendor         : SUSE LLC <https://www.suse.com/>
    Support Level  : Level 3
    Installed Size : 41.6 KiB
    <b>Installed      : Yes</b>
    Status         : up-to-date
    Source package : sap-suse-cluster-connector-3.0.0-2.2.src
    Summary        : SUSE High Availability Setup for SAP Products
    
  2. [A] SAP-resourceagents bijwerken

    Er is een patch voor het resource-agents-pakket vereist voor het gebruik van de nieuwe configuratie die in dit artikel wordt beschreven. U kunt controleren of de patch al is geïnstalleerd met de volgende opdracht

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

    De uitvoer moet vergelijkbaar zijn met

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

    Als de grep-opdracht de parameter IS_ERS niet vindt, moet u de patch installeren die wordt vermeld op de SUSE-downloadpagina.

    # example for patch for SLES 12 SP1
    sudo zypper in -t patch SUSE-SLE-HA-12-SP1-2017-885=1
    # example for patch for SLES 12 SP2
    sudo zypper in -t patch SUSE-SLE-HA-12-SP2-2017-886=1
    
  3. [A] Hostnaamomzetting instellen

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

    sudo vi /etc/hosts
    
    # Insert the following lines to /etc/hosts. Change the IP address and hostname to match your environment
    # IP address of the load balancer frontend configuration for NFS
    10.0.0.4 nw1-nfs
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS
    10.0.0.7 nw1-ascs
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS
    10.0.0.8 nw1-aers
    # IP address of the load balancer frontend configuration for database
    10.0.0.13 nw1-db
    

De installatie van SAP NetWeaver voorbereiden

  1. [A] De gedeelde mappen maken

    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/ERS02
    
    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/ERS02
    
  2. [A] Autofs configureren

    sudo vi /etc/auto.master
    
    # Add the following line to the file, save and exit
    +auto.master
    /- /etc/auto.direct
    

    Een bestand maken met

    sudo vi /etc/auto.direct
    
    # Add the following lines to the file, save and exit
    /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid
    /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans
    /usr/sap/NW1/SYS -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sidsys
    

    Autofs opnieuw starten om de nieuwe shares te koppelen

    sudo systemctl enable autofs
    sudo service autofs restart
    
  3. [A] SWAP-bestand configureren

    Een wisselbestand maken zoals gedefinieerd in Een SWAP-bestand maken voor een Virtuele Linux-machine in Azure

    #!/bin/sh
    
    # Percent of space on the ephemeral disk to dedicate to swap. Here 30% is being used. Modify as appropriate.
    PCT=0.3
    
    # Location of swap file. Modify as appropriate based on location of ephemeral disk.
    LOCATION=/mnt
    
    if [ ! -f ${LOCATION}/swapfile ]
    then
    
        # Get size of the ephemeral disk and multiply it by the percent of space to allocate
        size=$(/bin/df -m --output=target,avail | /usr/bin/awk -v percent="$PCT" -v pattern=${LOCATION} '$0 ~ pattern {SIZE=int($2*percent);print SIZE}')
        echo "$size MB of space allocated to swap file"
    
         # Create an empty file first and set correct permissions
        /bin/dd if=/dev/zero of=${LOCATION}/swapfile bs=1M count=$size
        /bin/chmod 0600 ${LOCATION}/swapfile
    
        # Make the file available to use as swap
        /sbin/mkswap ${LOCATION}/swapfile
    fi
    
    # Enable swap
    /sbin/swapon ${LOCATION}/swapfile
    /sbin/swapon -a
    
    # Display current swap status
    /sbin/swapon -s
    

    Maak het bestand uitvoerbaar.

    chmod +x /var/lib/cloud/scripts/per-boot/swap.sh
    

    Stop en start de VIRTUELE machine. Het stoppen en starten van de virtuele machine is alleen de eerste keer nodig nadat u het SWAP-bestand hebt gemaakt.

SAP NetWeaver ASCS/ERS installeren

  1. [1] Maak een virtuele IP-resource en statustest voor het ASCS-exemplaar

    Belangrijk

    Recente tests hebben situaties ontdekt waarin Netcat niet meer reageert op aanvragen vanwege achterstand en de beperking van het verwerken van slechts één verbinding. De netcat-resource luistert niet meer naar de Azure Load Balancer-aanvragen en het zwevende IP-adres is niet meer beschikbaar.
    Voor bestaande Pacemaker-clusters raden we in het verleden aan netcat te vervangen door socat. Momenteel wordt u aangeraden azure-lb-resourceagent te gebruiken, die deel uitmaakt van pakketresource-agents, met de volgende pakketversievereisten:

    • Voor SLES 12 SP4/SP5 moet de versie ten minste resource-agents-4.3.018.a7fb5035-3.30.1 zijn.
    • Voor SLES 15/15 SP1 moet de versie ten minste resource-agents-4.3.0184.6ee15eb2-4.13.1 zijn.

    Houd er rekening mee dat voor de wijziging korte downtime is vereist.
    Als voor bestaande Pacemaker-clusters de configuratie al is gewijzigd om socat te gebruiken, zoals beschreven in Azure Load-Balancer Detection Hardening, hoeft u niet onmiddellijk over te schakelen naar de azure-lb-resourceagent.

    sudo crm node standby nw1-cl-1
    
    sudo crm configure primitive fs_NW1_ASCS Filesystem device='nw1-nfs:/NW1/ASCS' directory='/usr/sap/NW1/ASCS00' fstype='nfs4' \
      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.0.0.7 \
      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
    

    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 crm_mon -r
    
    # Node nw1-cl-1: standby
    # Online: [ nw1-cl-0 ]
    # 
    # Full list of resources:
    # 
    # stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
    
  2. [1] SAP NetWeaver ASCS installeren

    Installeer SAP NetWeaver ASCS als hoofdmap op het eerste knooppunt met behulp van een virtuele hostnaam die wordt toegewezen aan het IP-adres van de front-endconfiguratie van de load balancer voor de ASCS, bijvoorbeeld nw1-ascs, 10.0.0.7 en het exemplaarnummer dat u hebt gebruikt voor de test van de load balancer, bijvoorbeeld 00.

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

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Als de installatie geen submap kan maken in /usr/sap/NW1/ASCS00, probeert u de eigenaar en groep van de map ASCS00 in te stellen en het opnieuw te proberen.

    chown nw1adm /usr/sap/NW1/ASCS00
    chgrp sapsys /usr/sap/NW1/ASCS00
    
  3. [1] Maak een virtuele IP-resource en statustest voor het ERS-exemplaar

    sudo crm node online nw1-cl-1
    sudo crm node standby nw1-cl-0
    
    sudo crm configure primitive fs_NW1_ERS Filesystem device='nw1-nfs:/NW1/ASCSERS' directory='/usr/sap/NW1/ERS02' fstype='nfs4' \
      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.0.0.8 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ERS azure-lb port=62102 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
    

    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 crm_mon -r
    
    # Node nw1-cl-0: standby
    # Online: [ nw1-cl-1 ]
    # 
    # Full list of resources:
    #
    # stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
    #  Resource Group: g-NW1_ASCS
    #      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
    #  Resource Group: g-NW1_ERS
    #      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
    #      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
    #      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
    
  4. [2] SAP NetWeaver ERS installeren

    Installeer SAP NetWeaver ERS 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 ERS, bijvoorbeeld nw1-aers, 10.0.0.8 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-hoofdgebruiker verbinding te laten maken met sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Notitie

    Gebruik SWPM SP 20 PL 05 of hoger. In lagere versies worden de machtigingen niet correct ingesteld en mislukt de installatie.

    Als de installatie geen submap kan maken in /usr/sap/NW1/ERS02, probeert u de eigenaar en groep van de MAP ERS02 in te stellen en het opnieuw te proberen.

    chown nw1adm /usr/sap/NW1/ERS02
    chgrp sapsys /usr/sap/NW1/ERS02
    
  5. [1] Pas de ASCS/SCS- en ERS-exemplaarprofielen aan

    • ASCS-/SCS-profiel

      sudo vi /sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs
      
      # 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
      

      Zorg ervoor dat voor zowel ENSA1 als ENSA2 de parameters van het keepalive besturingssysteem zijn ingesteld zoals beschreven in SAP note 1410736.

    • ERS-profiel

      sudo vi /sapmnt/NW1/profile/NW1_ERS02_nw1-aers
      
      # 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] Keep Alive configureren

    De communicatie tussen de SAP NetWeaver-toepassingsserver en de ASCS/SCS wordt gerouteerd via een software load balancer. De load balancer verbreekt inactieve verbindingen na een configureerbare time-out. Om dit te voorkomen, moet u een parameter instellen in het SAP NetWeaver ASCS/SCS-profiel, als u ENSA1 gebruikt en de Linux-systeeminstellingen keepalive op alle SAP-servers voor beide ENSA1/ENSA2 wijzigen. Lees SAP-notitie 1410736 voor meer informatie.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  7. [A] De SAP-gebruikers configureren na de installatie

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw1adm
    
  8. [1] Voeg de ASCS- en ERS SAP-services toe aan het sapservice-bestand

    Voeg de ASCS-servicevermelding toe aan het tweede knooppunt en kopieer de ERS-servicevermelding naar het eerste knooppunt.

    cat /usr/sap/sapservices | grep ASCS00 | sudo ssh nw1-cl-1 "cat >>/usr/sap/sapservices"
    sudo ssh nw1-cl-1 "cat /usr/sap/sapservices" | grep ERS02 | sudo tee -a /usr/sap/sapservices
    
  9. [1] De SAP-clusterbronnen maken

    Afhankelijk van of u een ENSA1- of ENSA2-systeem uitvoert, selecteert u het betreffende tabblad om de resources te definiëren. SAP heeft ondersteuning geïntroduceerd voor ENSA2, inclusief replicatie, in SAP NetWeaver 7.52. Vanaf ABAP Platform 1809 wordt ENSA2 standaard geïnstalleerd. Zie SAP Note 2630416 voor ONDERSTEUNING voor ENSA2.

    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_nw1-ascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs" \
      AUTOMATIC_RECOVER=false \
      meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW1_ERS02 SAPInstance \
      operations \$id=rsc_sap_NW1_ERS02-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW1_ERS02_nw1-aers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS02_nw1-aers" 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_ERS02
    
    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_ERS02:stop symmetrical=false
    
    sudo crm_attribute --delete --name priority-fencing-delay
    
    sudo crm node online nw1-cl-0
    sudo crm configure property maintenance-mode="false"
    

Als u een upgrade uitvoert van een oudere versie en overschakelt naar server 2 in de wachtrij, raadpleegt u de SAP-notitie 2641019.

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 crm_mon -r
 
# Online: [ nw1-cl-0 nw1-cl-1 ]
#
# Full list of resources:
#
# stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
#  Resource Group: g-NW1_ASCS
#      fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
#      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
#      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
#      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
#  Resource Group: g-NW1_ERS
#      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
#      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
#      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
#      rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0

Voorbereiding van SAP NetWeaver-toepassingsserver

Voor sommige databases is vereist dat de installatie van het database-exemplaar wordt uitgevoerd op een toepassingsserver. Bereid de virtuele machines van de toepassingsserver voor om ze in deze gevallen te kunnen gebruiken.

Bij de stappen wordt ervan uitgegaan dat u de toepassingsserver op een andere server installeert dan de ASCS/SCS- en HANA-servers. Anders zijn sommige van de onderstaande stappen (zoals het configureren van hostnaamomzetting) niet nodig.

  1. Besturingssysteem configureren

    Verklein de grootte van de vuile cache. Zie Lage schrijfprestaties op SLES 11/12-servers met een groot RAM-geheugen voor meer informatie.

    sudo vi /etc/sysctl.conf
    
    # Change/set the following settings
    vm.dirty_bytes = 629145600
    vm.dirty_background_bytes = 314572800
    
  2. Hostnaamomzetting instellen

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

    sudo vi /etc/hosts
    

    Voeg de volgende regels in op /etc/hosts. Het IP-adres en de hostnaam wijzigen zodat deze overeenkomt met uw omgeving

    # IP address of the load balancer frontend configuration for NFS
    10.0.0.4 nw1-nfs
    # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS/SCS
    10.0.0.7 nw1-ascs
    # IP address of the load balancer frontend configuration for SAP NetWeaver ERS
    10.0.0.8 nw1-aers
    # IP address of the load balancer frontend configuration for database
    10.0.0.13 nw1-db
    # IP address of all application servers
    10.0.0.20 nw1-di-0
    10.0.0.21 nw1-di-1
    
  3. De sapmnt-map maken

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  4. Autofs configureren

    sudo vi /etc/auto.master
    
    # Add the following line to the file, save and exit
    +auto.master
    /- /etc/auto.direct
    

    Een nieuw bestand maken met

    sudo vi /etc/auto.direct
    
    # Add the following lines to the file, save and exit
    /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid
    /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans
    

    Autofs opnieuw starten om de nieuwe shares te koppelen

    sudo systemctl enable autofs
    sudo service autofs restart
    
  5. SWAP-bestand configureren

    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
    

    Start de agent opnieuw om de wijziging te activeren

    sudo service waagent restart
    

Database installeren

In dit voorbeeld wordt SAP NetWeaver geïnstalleerd op SAP HANA. U kunt elke ondersteunde database voor deze installatie gebruiken. Zie Hoge beschikbaarheid van SAP HANA op Virtuele Machines (VM's) voor meer informatie over het installeren van SAP HANA in Azure. Zie SAP Note 1928533 voor een lijst met ondersteunde databases.

  1. De installatie van het SAP-database-exemplaar uitvoeren

    Installeer het SAP NetWeaver-database-exemplaar als hoofdmap met behulp van een virtuele hostnaam die is toegewezen aan het IP-adres van de front-endconfiguratie van de load balancer voor de database, bijvoorbeeld nw1-db en 10.0.0.13.

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

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

Installatie van SAP NetWeaver-toepassingsserver

Volg deze stappen om een SAP-toepassingsserver te installeren.

  1. Toepassingsserver voorbereiden

    Volg de stappen in het hoofdstuk SAP NetWeaver-toepassingsservervoorbereiding hierboven om de toepassingsserver voor te bereiden.

  2. SAP NetWeaver-toepassingsserver installeren

    Installeer een primaire of extra SAP NetWeaver-toepassingsserver.

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

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    
  3. SAP HANA Secure Store bijwerken

    Werk de secure store van SAP HANA bij zodat deze verwijst naar de virtuele naam van de installatie van sap HANA-systeemreplicatie.

    Voer de volgende opdracht uit om de vermeldingen weer te geven

    hdbuserstore List
    

    Hiermee worden alle vermeldingen vermeld en moet er ongeveer als volgt uitzien

    DATA FILE       : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.DAT
    KEY FILE        : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 10.0.0.14:30313
      USER: SAPABAP1
      DATABASE: HN1
    

    De uitvoer laat zien dat het IP-adres van de standaardvermelding verwijst naar de virtuele machine en niet naar het IP-adres van de load balancer. Deze vermelding moet worden gewijzigd om te verwijzen naar de virtuele hostnaam van de load balancer. Zorg ervoor dat u dezelfde poort (30313 in de bovenstaande uitvoer) en databasenaam (HN1 in de bovenstaande uitvoer) gebruikt!

    su - nw1adm
    hdbuserstore SET DEFAULT nw1-db:30313@HN1 SAPABAP1 <password of ABAP schema>
    

De clusterinstallatie testen

De volgende tests zijn een kopie van de testcases in de best practices-handleidingen van SUSE. Ze worden voor uw gemak gekopieerd. Lees altijd de handleidingen voor aanbevolen procedures en voer alle aanvullende tests uit die mogelijk zijn toegevoegd.

  1. HaGetFailoverConfig, HACheckConfig en HACheckFailoverConfig testen

    Voer de volgende opdrachten uit als <sapsid>adm op het knooppunt waarop het ASCS-exemplaar momenteel wordt uitgevoerd. Als de opdrachten mislukken met FAIL: Onvoldoende geheugen, kan dit worden veroorzaakt door streepjes in uw hostnaam. Dit is een bekend probleem en wordt opgelost door SUSE in het pakket sap-suse-cluster-connector.

    nw1-cl-0:nw1adm 54> sapcontrol -nr 00 -function HAGetFailoverConfig
    
    # 15.08.2018 13:50:36
    # HAGetFailoverConfig
    # OK
    # HAActive: TRUE
    # HAProductVersion: Toolchain Module
    # HASAPInterfaceVersion: Toolchain Module (sap_suse_cluster_connector 3.0.1)
    # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    # HAActiveNode:
    # HANodes: nw1-cl-0, nw1-cl-1
    
    nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -function HACheckConfig
    
    # 15.08.2018 14:00:04
    # HACheckConfig
    # OK
    # state, category, description, comment
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 2 ABAP instances detected
    # SUCCESS, SAP CONFIGURATION, Redundant Java instance configuration, 0 Java instances detected
    # SUCCESS, SAP CONFIGURATION, Enqueue separation, All Enqueue server separated from application server
    # SUCCESS, SAP CONFIGURATION, MessageServer separation, All MessageServer separated from application server
    # SUCCESS, SAP CONFIGURATION, ABAP instances on multiple hosts, ABAP instances on multiple hosts detected
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP SPOOL service configuration, 2 ABAP instances with SPOOL service detected
    # SUCCESS, SAP STATE, Redundant ABAP SPOOL service state, 2 ABAP instances with active SPOOL service detected
    # SUCCESS, SAP STATE, ABAP instances with ABAP SPOOL service on multiple hosts, ABAP instances with active ABAP SPOOL service on multiple hosts detected
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP BATCH service configuration, 2 ABAP instances with BATCH service detected
    # SUCCESS, SAP STATE, Redundant ABAP BATCH service state, 2 ABAP instances with active BATCH service detected
    # SUCCESS, SAP STATE, ABAP instances with ABAP BATCH service on multiple hosts, ABAP instances with active ABAP BATCH service on multiple hosts detected
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP DIALOG service configuration, 2 ABAP instances with DIALOG service detected
    # SUCCESS, SAP STATE, Redundant ABAP DIALOG service state, 2 ABAP instances with active DIALOG service detected
    # SUCCESS, SAP STATE, ABAP instances with ABAP DIALOG service on multiple hosts, ABAP instances with active ABAP DIALOG service on multiple hosts detected
    # SUCCESS, SAP CONFIGURATION, Redundant ABAP UPDATE service configuration, 2 ABAP instances with UPDATE service detected
    # SUCCESS, SAP STATE, Redundant ABAP UPDATE service state, 2 ABAP instances with active UPDATE service detected
    # SUCCESS, SAP STATE, ABAP instances with ABAP UPDATE service on multiple hosts, ABAP instances with active ABAP UPDATE service on multiple hosts detected
    # SUCCESS, SAP STATE, SCS instance running, SCS instance status ok
    # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (nw1-ascs_NW1_00), SAPInstance includes is-ers patch
    # SUCCESS, SAP CONFIGURATION, Enqueue replication (nw1-ascs_NW1_00), Enqueue replication enabled
    # SUCCESS, SAP STATE, Enqueue replication state (nw1-ascs_NW1_00), Enqueue replication active
    
    nw1-cl-0:nw1adm 56> sapcontrol -nr 00 -function HACheckFailoverConfig
    
    # 15.08.2018 14:04:08
    # HACheckFailoverConfig
    # OK
    # state, category, description, comment
    # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
    
  2. Het ASCS-exemplaar handmatig migreren

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    

    Voer de volgende opdrachten uit als root om het ASCS-exemplaar te migreren.

    nw1-cl-0:~ # crm resource migrate rsc_sap_NW1_ASCS00 force
    # INFO: Move constraint created for rsc_sap_NW1_ASCS00
    
    nw1-cl-0:~ # crm resource unmigrate rsc_sap_NW1_ASCS00
    # INFO: Removed migration constraints for rsc_sap_NW1_ASCS00
    
    # Remove failed actions for the ERS that occurred as part of the migration
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Resourcestatus na de test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  3. HaFailoverToNode testen

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Voer de volgende opdrachten uit als <sapsid>adm om het ASCS-exemplaar te migreren.

    nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -host nw1-ascs -user nw1adm <password> -function HAFailoverToNode ""
    
    # run as root
    # Remove failed actions for the ERS that occurred as part of the migration
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    # Remove migration constraints
    nw1-cl-0:~ # crm resource clear rsc_sap_NW1_ASCS00
    #INFO: Removed migration constraints for rsc_sap_NW1_ASCS00
    

    Resourcestatus na de test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    
  4. Crash van knooppunt simuleren

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-0
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    

    Voer de volgende opdracht uit als root op het knooppunt waarop het ASCS-exemplaar wordt uitgevoerd

    nw1-cl-0:~ # echo b > /proc/sysrq-trigger
    

    Als u SBD gebruikt, moet Pacemaker niet automatisch beginnen op het vermoorde knooppunt. De status nadat het knooppunt opnieuw is gestart, moet er als volgt uitzien.

    Online: [ nw1-cl-1 ]
    OFFLINE: [ nw1-cl-0 ]
    
    Full list of resources:
    
    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    
    Failed Actions:
    * rsc_sap_NW1_ERS02_monitor_11000 on nw1-cl-1 'not running' (7): call=219, status=complete, exitreason='none',
        last-rc-change='Wed Aug 15 14:38:38 2018', queued=0ms, exec=0ms
    

    Gebruik de volgende opdrachten om Pacemaker op het vermoorde knooppunt te starten, de SBD-berichten op te schonen en de mislukte resources op te schonen.

    # run as root
    # list the SBD device(s)
    nw1-cl-0:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE=
    # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3"
    
    nw1-cl-0:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message nw1-cl-0 clear
    
    nw1-cl-0:~ # systemctl start pacemaker
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Resourcestatus na de test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  5. Netwerkcommunicatie blokkeren

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Voer een firewallregel uit om de communicatie op een van de knooppunten te blokkeren.

    # Execute iptable rule on nw1-cl-0 (10.0.0.5) to block the incoming and outgoing traffic to nw1-cl-1 (10.0.0.6)
    iptables -A INPUT -s 10.0.0.6 -j DROP; iptables -A OUTPUT -d 10.0.0.6 -j DROP
    

    Wanneer clusterknooppunten niet met elkaar kunnen communiceren, bestaat er een risico op een split-brain-scenario. In dergelijke situaties proberen clusterknooppunten elkaar tegelijkertijd te omheinen, wat resulteert in heksenrace.

    Wanneer u een fencing-apparaat configureert, is het raadzaam om de eigenschap te configureren pcmk_delay_max . In het geval van split-brain scenario introduceert het cluster dus een willekeurige vertraging tot aan de pcmk_delay_max waarde, aan de afschermingsactie op elk knooppunt. Het knooppunt met de kortste vertraging wordt geselecteerd voor fencing.

    Daarnaast wordt het aanbevolen om in de ENSA 2-configuratie prioriteit te geven aan het knooppunt dat als host fungeert voor de ASCS-resource voor het andere knooppunt tijdens een split brain-scenario. Het wordt aanbevolen om de eigenschap in het cluster te configureren priority-fencing-delay . Door de eigenschap priority-fencing-delay in te schakelen, kan het cluster een extra vertraging in de afschermingsactie introduceren, specifiek op het knooppunt dat als host fungeert voor de ASCS-resource, zodat het ASCS-knooppunt de heksrace kan winnen.

    Voer de onderstaande opdracht uit om de firewallregel te verwijderen.

    # If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command.
    iptables -D INPUT -s 10.0.0.6 -j DROP; iptables -D OUTPUT -d 10.0.0.6 -j DROP
    
  6. Handmatig opnieuw opstarten van ASCS-exemplaar testen

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Maak een wachtrijvergrendeling door bijvoorbeeld een gebruiker in transactie su01 te bewerken. Voer de volgende opdrachten uit als <sapsid>adm op het knooppunt waarop het ASCS-exemplaar wordt uitgevoerd. Met de opdrachten wordt het ASCS-exemplaar gestopt en opnieuw gestart. Als u de architectuur enqueue server 1 gebruikt, gaat de vergrendeling in de wachtrij naar verwachting verloren in deze test. Als u de server 2-architectuur in de wachtrij gebruikt, blijft de wachtrij behouden.

    nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StopWait 600 2
    

    Het ASCS-exemplaar moet nu worden uitgeschakeld in Pacemaker

    rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Stopped (disabled)
    

    Start het ASCS-exemplaar opnieuw op hetzelfde knooppunt.

    nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StartWait 600 2
    

    De vergrendeling van transactie su01 moet verloren gaan en de back-end moet opnieuw zijn ingesteld. Resourcestatus na de test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  7. Berichtserverproces beëindigen

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Voer de volgende opdrachten uit als root om het proces van de berichtserver te identificeren en te beëindigen.

    nw1-cl-1:~ # pgrep -f ms.sapNW1 | xargs kill -9
    

    Als u de berichtserver slechts eenmaal beëindigt, wordt deze opnieuw opgestart door sapstart. Als u het vaak genoeg beëindigt, verplaatst Pacemaker het ASCS-exemplaar uiteindelijk naar het andere knooppunt, in het geval van ENSA1. Voer de volgende opdrachten uit als root om de resourcestatus van de ASCS- en ERS-instantie na de test op te schonen.

    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Resourcestatus na de test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    
  8. Serverproces in wachtrij verwijderen

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
    

    Voer de volgende opdrachten uit als root op het knooppunt waarop het ASCS-exemplaar wordt uitgevoerd om de server in de wachtrij te beëindigen.

    nw1-cl-0:~ # 
    #If using ENSA1
    pgrep -f en.sapNW1 | xargs kill -9
    #If using ENSA2
    pgrep -f enq.sapNW1 | xargs kill -9
    

    De ASCS-instantie moet onmiddellijk een failover naar het andere knooppunt uitvoeren, in het geval van ENSA1. De ERS-instantie moet ook een failover uitvoeren nadat het ASCS-exemplaar is gestart. Voer de volgende opdrachten uit als root om de resourcestatus van de ASCS- en ERS-instantie na de test op te schonen.

    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00
    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Resourcestatus na de test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  9. Replicatieserverproces beëindigen

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Voer de volgende opdracht uit als root op het knooppunt waarop het ERS-exemplaar wordt uitgevoerd om het replicatieserverproces in de wachtrij te beëindigen.

    nw1-cl-0:~ # pgrep -f er.sapNW1 | xargs kill -9
    

    Als u de opdracht slechts eenmaal uitvoert, start sapstart het proces opnieuw op. Als u het vaak genoeg uitvoert, start sapstart het proces niet opnieuw op en heeft de resource de status Gestopt. Voer de volgende opdrachten uit als root om de resourcestatus van het ERS-exemplaar na de test op te schonen.

    nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02
    

    Resourcestatus na de test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    
  10. Sapstartsrv-proces beëindigen

    Resourcestatus voordat u de test start:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

    Voer de volgende opdrachten uit als root op het knooppunt waarop de ASCS wordt uitgevoerd.

    nw1-cl-1:~ # pgrep -fl ASCS00.*sapstartsrv
    # 59545 sapstartsrv
    
    nw1-cl-1:~ # kill -9 59545
    

    Het sapstartsrv-proces moet altijd opnieuw worden gestart door de Pacemaker-resourceagent. Resourcestatus na de test:

    stonith-sbd     (stonith:external/sbd): Started nw1-cl-1
     Resource Group: g-NW1_ASCS
         fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started nw1-cl-1
         nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started nw1-cl-1
         vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started nw1-cl-1
         rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started nw1-cl-1
     Resource Group: g-NW1_ERS
         fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started nw1-cl-0
         nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started nw1-cl-0
         vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started nw1-cl-0
         rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started nw1-cl-0
    

Volgende stappen