Vysoká dostupnost SAP NetWeaver na virtuálních počítačích Azure v SUSE Linux Enterprise Serveru pro aplikace SAP

Tento článek popisuje, jak nasadit virtuální počítače, nakonfigurovat virtuální počítače, nainstalovat architekturu clusteru a nainstalovat vysoce dostupný systém založený na platformě SAP NetWeaver nebo SAP ABAP. V ukázkových konfiguracích se používá číslo instance ASCS 00, číslo instance ERS 02 a NW1 ID systému SAP.

Pro nové implementace v SLES pro SAP Applications 15 doporučujeme nasadit vysokou dostupnost pro SAP ASCS/ERS v jednoduché konfiguraci připojení. Klasická konfigurace Pacemakeru založená na systémech souborů řízených clusterem pro adresáře centrálních služeb SAP, která je popsaná v tomto článku, je stále podporovaná.

Nejprve si přečtěte následující poznámky a dokumenty SAP.

Přehled

K dosažení vysoké dostupnosti vyžaduje SAP NetWeaver server NFS. Server NFS je nakonfigurovaný v samostatném clusteru a může ho používat několik systémů SAP.

Přehled vysoké dostupnosti SAP NetWeaver

Server NFS, SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS a databáze SAP HANA používají virtuální název hostitele a virtuální IP adresy. V Azure se k použití virtuální IP adresy vyžaduje nástroj pro vyrovnávání zatížení. Doporučujeme používat load balancer úrovně Standard. Zobrazená konfigurace ukazuje nástroj pro vyrovnávání zatížení s:

  • IP adresa front-endu 10.0.0.7 pro ASCS
  • IP adresa front-endu 10.0.0.8 pro ERS
  • Port sondy 62000 pro ASCS
  • Port sondy 62101 pro ERS

Nastavení serveru NFS s vysokou dostupností

SAP NetWeaver vyžaduje sdílené úložiště pro adresář přenosu a profilu. Přečtěte si vysokou dostupnost systému souborů NFS na virtuálních počítačích Azure na SUSE Linux Enterprise Serveru a zjistěte, jak nastavit server NFS pro SAP NetWeaver.

Příprava infrastruktury

Agent prostředků pro instanci SAP je součástí SUSE Linux Enterprise Serveru pro aplikace SAP. Image pro SUSE Linux Enterprise Server pro SAP Applications 12 nebo 15 je k dispozici na Azure Marketplace. Image můžete použít k nasazení nových virtuálních počítačů.

Ruční nasazení virtuálních počítačů s Linuxem prostřednictvím webu Azure Portal

Tento dokument předpokládá, že jste už nasadili skupinu prostředků, virtuální síť Azure a podsíť.

Nasaďte virtuální počítače pomocí SLES pro image SAP Applications. Zvolte vhodnou verzi image SLES, která je podporovaná pro systém SAP. Virtuální počítač můžete nasadit v libovolné z možností dostupnosti – škálovací sada virtuálních počítačů, zóna dostupnosti nebo skupina dostupnosti.

Konfigurace nástroje pro vyrovnávání zatížení Azure

Během konfigurace virtuálního počítače máte možnost vytvořit nebo vybrat ukončení nástroje pro vyrovnávání zatížení v části Sítě. Podle následujících kroků nakonfigurujte standardní nástroj pro vyrovnávání zatížení pro nastavení systému SAP ASCS a SAP ERS s vysokou dostupností.

Postupujte podle průvodce vytvořením nástroje pro vyrovnávání zatížení a nastavte standardní nástroj pro vyrovnávání zatížení pro systém SAP s vysokou dostupností pomocí webu Azure Portal. Při nastavování nástroje pro vyrovnávání zatížení zvažte následující body.

  1. Konfigurace front-endové IP adresy: Vytvořte dvě front-endové IP adresy , jednu pro ASCS a druhou pro službu ERS. Vyberte stejnou virtuální síť a podsíť jako virtuální počítače ASCS/ERS.
  2. Back-endový fond: Vytvořte back-endový fond a přidejte virtuální počítače ASCS a ERS.
  3. Příchozí pravidla: Vytvořte dvě pravidlo vyrovnávání zatížení, jedno pro ASCS a druhé pro ERS. Pro obě pravidla vyrovnávání zatížení postupujte stejně.
    • IP adresa front-endu: Vyberte ip adresu front-endu.
    • Back-endový fond: Vyberte back-endový fond.
    • Zkontrolujte porty s vysokou dostupností.
    • Protokol: TCP
    • Sonda stavu: Vytvořte sondu stavu s následujícími podrobnostmi (platí pro ASCS nebo ERS).
      • Protokol: TCP
      • Port: [například: 620<Instance-no.> pro ASCS, 621<Instance-no.> pro ERS]
      • Interval: 5
      • Prahová hodnota sondy: 2
    • Časový limit nečinnosti (minuty): 30
    • Zaškrtněte políčko Povolit plovoucí IP adresu.

Poznámka:

Číslo vlastnosti konfigurace sondy stavuOfProbes, jinak označované jako "Prahová hodnota není v pořádku" na portálu, se nerespektuje. Chcete-li tedy řídit počet úspěšných nebo neúspěšných po sobě jdoucích sond, nastavte vlastnost probeThreshold na hodnotu 2. V současné době není možné tuto vlastnost nastavit pomocí webu Azure Portal, takže použijte příkaz Azure CLI nebo PowerShell .

Poznámka:

Pokud jsou virtuální počítače bez veřejných IP adres umístěny do back-endového fondu interního (bez veřejné IP adresy) služby Azure Load Balancer úrovně Standard, nebude k dispozici žádné odchozí připojení k internetu, pokud není provedena další konfigurace umožňující směrování do veřejných koncových bodů. Podrobnosti o tom, jak dosáhnout odchozího připojení, najdete v tématu Připojení k veřejnému koncovému bodu pro virtuální počítače pomocí Azure Standard Load Balanceru ve scénářích s vysokou dostupností SAP.

Důležité

  • Nepovolujte na virtuálních počítačích Azure umístěných za Azure Load Balancerem časové razítko TCP. Povolení časových razítek PROTOKOLU TCP způsobí selhání sond stavu. Nastavte parametr na net.ipv4.tcp_timestamps 0. Podrobnosti najdete v sondách stavu Load Balanceru.
  • Pokud chcete zabránit tomu, aby saptune měnil hodnotu ručně nastavenou net.ipv4.tcp_timestamps zpět 0 na 1, měli byste aktualizovat verzi saptune na verzi 3.1.1 nebo vyšší. Další podrobnosti najdete v tématu saptune 3.1.1 – Musím aktualizovat?.

Nastavení (A)SCS

Dále připravíte a nainstalujete instance SAP ASCS a ERS.

Vytvoření clusteru Pacemaker

Postupujte podle kroků v nastavení Pacemakeru na SUSE Linux Enterprise Serveru v Azure a vytvořte základní cluster Pacemaker pro tento (A)SCS server.

Instalace

Následující položky mají předponu [A] – platí pro všechny uzly, [1] – platí pouze pro uzel 1 nebo [2] – platí pouze pro uzel 2.

  1. [A] Instalace konektoru SUSE

    sudo zypper install sap-suse-cluster-connector
    

    Poznámka:

    Známý problém s používáním pomlčky v názvech hostitelů je opravený ve verzi 3.1.1 balíčku sap-suse-cluster-connector. Ujistěte se, že používáte alespoň verzi 3.1.1 konektoru sap-suse-cluster-connector, pokud používáte uzly clusteru s pomlčkou v názvu hostitele. Jinak cluster nebude fungovat.

    Ujistěte se, že jste nainstalovali novou verzi konektoru clusteru SAP SUSE. Starý se nazývá sap_suse_cluster_connector a nový se nazývá 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] Aktualizace agentů prostředků SAP

    K použití nové konfigurace popsané v tomto článku se vyžaduje oprava balíčku agentů prostředků. Pomocí následujícího příkazu můžete zkontrolovat, jestli je oprava už nainstalovaná.

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

    Výstup by měl být podobný jako

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

    Pokud příkaz grep nenajde parametr IS_ERS, musíte nainstalovat opravu uvedenou na stránce pro stažení SUSE.

    # 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] Nastavení překladu názvů hostitelů

    Můžete použít server DNS nebo upravit /etc/hosts na všech uzlech. Tento příklad ukazuje, jak používat soubor /etc/hosts. V následujících příkazech nahraďte IP adresu a název hostitele.

    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
    

Příprava na instalaci SAP NetWeaveru

  1. [A] Vytvoření sdílených adresářů

    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] Konfigurace automatických souborů

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

    Vytvoření souboru pomocí

    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
    

    Restartujte automatické soubory pro připojení nových sdílených složek.

    sudo systemctl enable autofs
    sudo service autofs restart
    
  3. [A] Konfigurace souboru SWAP

    Vytvoření prohození souboru definovaného v části Vytvoření souboru SWAP pro virtuální počítač Azure s Linuxem

    #!/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
    

    Nastavte soubor jako spustitelný.

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

    Zastavte a spusťte virtuální počítač. Zastavení a spuštění virtuálního počítače je nezbytné jenom při prvním vytvoření souboru SWAP.

Instalace SAP NetWeaver ASCS/ERS

  1. [1] Vytvoření prostředku virtuální IP adresy a sondy stavu pro instanci ASCS

    Důležité

    Nedávné testování odhalilo situace, kdy netcat přestane reagovat na požadavky kvůli backlogu a jeho omezení zpracování pouze jednoho připojení. Prostředek netcat přestane naslouchat požadavkům azure Load Balanceru a plovoucí IP adresa přestane být k dispozici.
    Pro stávající clustery Pacemaker doporučujeme v minulosti nahradit netcat socat. V současné době doporučujeme používat agenta prostředků azure-lb, který je součástí agentů prostředků balíčku s následujícími požadavky na verzi balíčku:

    • Pro SLES 12 SP4/SP5 musí být verze alespoň resource-agents-4.3.018.a7fb5035-3.30.1.
    • Pro SLES 15/15 SP1 musí být verze alespoň resource-agents-4.3.0184.6ee15eb2-4.13.1.

    Upozorňujeme, že změna bude vyžadovat krátký výpadek.
    Pokud už konfigurace pro existující clustery Pacemaker změnila na použití socat, jak je popsáno v posílení zabezpečení detekce Nástroje pro vyrovnávání zatížení Azure, není nutné okamžitě přepnout na agenta prostředků azure-lb.

    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
    

    Ujistěte se, že je stav clusteru v pořádku a že jsou spuštěné všechny prostředky. Není důležité, na kterém uzlu jsou prostředky spuštěné.

    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] Instalace SAP NetWeaver ASCS

    Nainstalujte SAP NetWeaver ASCS jako kořen na první uzel pomocí názvu virtuálního hostitele, který se mapuje na IP adresu front-endu nástroje pro vyrovnávání zatížení pro službu ASCS, například nw1-ascs, 10.0.0.7 a číslo instance, které jste použili pro sondu nástroje pro vyrovnávání zatížení, například 00.

    Pomocí parametru sapinst SAPINST_REMOTE_ACCESS_USER můžete povolit, aby se uživatel, který není root, mohl připojit k sapinstu.

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

    Pokud se instalaci nepodaří vytvořit podsložku ve složce /usr/sap/NW1/ASCS00, zkuste nastavit vlastníka a skupinu složky ASCS00 a zkuste to znovu.

    chown nw1adm /usr/sap/NW1/ASCS00
    chgrp sapsys /usr/sap/NW1/ASCS00
    
  3. [1] Vytvoření prostředku virtuální IP adresy a sondy stavu pro instanci ERS

    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
    

    Ujistěte se, že je stav clusteru v pořádku a že jsou spuštěné všechny prostředky. Není důležité, na kterém uzlu jsou prostředky spuštěné.

    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] Instalace SAP NetWeaver ERS

    Nainstalujte SAP NetWeaver ERS jako kořen na druhý uzel pomocí názvu virtuálního hostitele, který se mapuje na IP adresu front-endu nástroje pro vyrovnávání zatížení pro službu ERS, například nw1-aers, 10.0.0.8 a číslo instance, které jste použili pro sondu nástroje pro vyrovnávání zatížení, například 02.

    Pomocí parametru sapinst SAPINST_REMOTE_ACCESS_USER můžete povolit, aby se uživatel, který není root, mohl připojit k sapinstu.

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

    Poznámka:

    Použijte SWPM SP 20 PL 05 nebo vyšší. Nižší verze nenastavují správně oprávnění a instalace selže.

    Pokud se instalaci nepodaří vytvořit podsložku ve složce /usr/sap/NW1/ERS02, zkuste nastavit vlastníka a skupinu složky ERS02 a zkuste to znovu.

    chown nw1adm /usr/sap/NW1/ERS02
    chgrp sapsys /usr/sap/NW1/ERS02
    
  5. [1] Přizpůsobení profilů instancí ASCS/SCS a ERS

    • Profil ASCS/SCS

      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
      

      V případě ENSA1 i ENSA2 se ujistěte, že keepalive jsou parametry operačního systému nastavené tak, jak je popsáno v poznámce SAP 1410736.

    • Profil ERS

      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] Konfigurace funkce Keep Alive

    Komunikace mezi aplikačním serverem SAP NetWeaver a ASCS/SCS se směruje přes nástroj pro vyrovnávání zatížení softwaru. Nástroj pro vyrovnávání zatížení po konfigurovatelném vypršení časového limitu odpojí neaktivní připojení. Abyste tomu zabránili, musíte nastavit parametr v profilu SAP NetWeaver ASCS/SCS, pokud používáte ENSA1, a změnit nastavení systému keepalive Linux na všech serverech SAP pro ENSA1/ENSA2. Další informace najdete v 1410736 SAP Note.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  7. [A] Konfigurace uživatelů SAP po instalaci

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw1adm
    
  8. [1] Přidání služeb ASCS a ERS SAP do souboru sapservice

    Přidejte položku služby ASCS do druhého uzlu a zkopírujte položku služby ERS do prvního uzlu.

    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. [A] Zakázání systemd služeb instance ASCS a ERS SAP. Tento krok je použitelný pouze v případě, že je spouštěcí architektura SAP spravovaná systémem podle 3115048 SAP Note .

    Poznámka:

    Při správě instancí SAP, jako jsou SAP ASCS a SAP ERS pomocí konfigurace clusteru SLES, byste museli provést další úpravy integrace clusteru s nativní systémovou architekturou sap start. Tím zajistíte, že postupy údržby neohrožují stabilitu clusteru. Po instalaci nebo přepnutí spouštěcí architektury SAP na systemd-enabled setup podle SAP Note 3115048 byste měli zakázat systemd služby pro instance ASCS a ERS SAP.

    # Stop ASCS and ERS instances using <sid>adm
    sapcontrol -nr 00 -function Stop
    sapcontrol -nr 00 -function StopService
    
    sapcontrol -nr 01 -function Stop
    sapcontrol -nr 01 -function StopService
    
    # Execute below command on VM where you have performed ASCS instance installation (e.g. nw1-cl-0)
    sudo systemctl disable SAPNW1_00
    # Execute below command on VM where you have performed ERS instance installation (e.g. nw1-cl-1)
    sudo systemctl disable SAPNW1_01
    
  10. [1] Vytvoření prostředků clusteru SAP

    V závislosti na tom, jestli používáte systém ENSA1 nebo ENSA2, vyberte příslušnou kartu pro definování prostředků. SAP zavedl podporu pro ENSA2, včetně replikace, v SAP NetWeaver 7.52. Od verze ABAP Platform 1809 se ensa2 instaluje ve výchozím nastavení. Informace o podpoře ENSA2 najdete v tématu SAP Note 2630416.

    sudo crm configure property maintenance-mode="true"
    
    sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \
      operations \$id=rsc_sap_NW1_ASCS00-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW1_ASCS00_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"
    

Pokud upgradujete ze starší verze a přecházíte na enqueue server 2, prohlédněte si poznámku SAP 2641019.

Ujistěte se, že je stav clusteru v pořádku a že jsou spuštěné všechny prostředky. Není důležité, na kterém uzlu jsou prostředky spuštěné.

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

Příprava aplikačního serveru SAP NetWeaver

Některé databáze vyžadují, aby se instalace instance databáze spustila na aplikačním serveru. Připravte virtuální počítače aplikačního serveru, aby je v těchto případech mohly používat.

Kroky uvedené níže předpokládají, že nainstalujete aplikační server na server, který se liší od serverů ASCS/SCS a HANA. V opačném případě nejsou potřeba některé z následujících kroků (například konfigurace překladu názvů hostitelů).

  1. Konfigurace operačního systému

    Zmenšete velikost zašpiněné mezipaměti. Další informace najdete v tématu Nízký výkon zápisu na serverech SLES 11/12 s velkou pamětí RAM.

    sudo vi /etc/sysctl.conf
    
    # Change/set the following settings
    vm.dirty_bytes = 629145600
    vm.dirty_background_bytes = 314572800
    
  2. Nastavení překladu názvů hostitelů

    Můžete použít server DNS nebo upravit /etc/hosts na všech uzlech. Tento příklad ukazuje, jak používat soubor /etc/hosts. Nahraďte IP adresu a název hostitele v následujících příkazech.

    sudo vi /etc/hosts
    

    Do /etc/hosts vložte následující řádky. Změňte IP adresu a název hostitele tak, aby odpovídaly vašemu prostředí.

    # 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. Vytvoření adresáře sapmnt

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  4. Konfigurace automatických souborů

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

    Vytvoření nového souboru pomocí

    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
    

    Restartujte automatické soubory pro připojení nových sdílených složek.

    sudo systemctl enable autofs
    sudo service autofs restart
    
  5. Konfigurace souboru SWAP

    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
    

    Restartujte agenta a aktivujte změnu.

    sudo service waagent restart
    

Instalace databáze

V tomto příkladu se SAP NetWeaver nainstaluje do SAP HANA. Pro tuto instalaci můžete použít každou podporovanou databázi. Další informace o instalaci SAP HANA v Azure najdete v tématu Vysoká dostupnost SAP HANA na virtuálních počítačích Azure. Seznam podporovaných databází najdete v 1928533 SAP Note.

  1. Spuštění instalace instance databáze SAP

    Nainstalujte instanci databáze SAP NetWeaver jako kořen pomocí názvu virtuálního hostitele, který se mapuje na IP adresu front-endu nástroje pro vyrovnávání zatížení pro databázi, například nw1-db a 10.0.0.13.

    Pomocí parametru sapinst SAPINST_REMOTE_ACCESS_USER můžete povolit, aby se uživatel, který není root, mohl připojit k sapinstu.

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

Instalace aplikačního serveru SAP NetWeaver

Pokud chcete nainstalovat aplikační server SAP, postupujte podle těchto kroků.

  1. Příprava aplikačního serveru

    Postupujte podle kroků v kapitole Příprava aplikačního serveru SAP NetWeaver výše a připravte aplikační server.

  2. Instalace aplikačního serveru SAP NetWeaver

    Nainstalujte primární nebo další server aplikací SAP NetWeaver.

    Pomocí parametru sapinst SAPINST_REMOTE_ACCESS_USER můžete povolit, aby se uživatel, který není root, mohl připojit k sapinstu.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    
  3. Aktualizace zabezpečeného úložiště SAP HANA

    Aktualizujte zabezpečené úložiště SAP HANA tak, aby odkazovat na virtuální název instalace systémové replikace SAP HANA.

    Spuštěním následujícího příkazu zobrazte seznam položek.

    hdbuserstore List
    

    Měl by se zobrazit seznam všech položek a měl by vypadat nějak takto:

    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
    

    Výstup ukazuje, že IP adresa výchozí položky ukazuje na virtuální počítač, a ne na IP adresu nástroje pro vyrovnávání zatížení. Tuto položku je potřeba změnit tak, aby odkazovat na název virtuálního hostitele nástroje pro vyrovnávání zatížení. Ujistěte se, že používáte stejný port (30313 ve výstupu výše) a název databáze (HN1 ve výstupu výše)!

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

Otestování nastavení clusteru

Následující testy představují kopii testovacích případů v průvodcích osvědčenými postupy pro SUSE. Zkopírují se pro vaše pohodlí. Vždy si také přečtěte příručky s osvědčenými postupy a proveďte všechny další testy, které by mohly být přidány.

  1. Test HAGetFailoverConfig, HACheckConfig a HACheckFailoverConfig

    Na uzlu, na kterém je aktuálně spuštěná instance ASCS, spusťte následující příkazy jako <sapsid>adm. Pokud příkazy selžou s chybou FAIL: Nedostatek paměti, může to být způsobeno pomlčkami v názvu hostitele. Jedná se o známý problém, který opraví SUSE v balíčku 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. Ruční migrace instance ASCS

    Stav prostředku před zahájením testu:

    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
    

    Spuštěním následujících příkazů jako kořenového adresáře migrujte instanci SLUŽBY ASCS.

    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
    

    Stav prostředku po testu:

    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. Test HAFailoverToNode

    Stav prostředku před zahájením testu:

    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
    

    Pokud chcete migrovat instanci ASCS, spusťte následující příkazy jako <sapsid>adm.

    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
    

    Stav prostředku po testu:

    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. Simulace chybového ukončení uzlu

    Stav prostředku před zahájením testu:

    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
    

    Na uzlu, na kterém je spuštěná instance ASCS, spusťte následující příkaz jako kořen.

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

    Pokud používáte SBD, pacemaker by se neměl automaticky spouštět na uzlu, který byl zabit. Stav po opětovném spuštění uzlu by měl vypadat takto.

    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
    

    Pomocí následujících příkazů spusťte Pacemaker na uzlech, vyčistíte zprávy SBD a vyčistíte neúspěšné prostředky.

    # 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
    

    Stav prostředku po testu:

    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. Blokování síťové komunikace

    Stav prostředku před zahájením testu:

    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
    

    Spuštěním pravidla brány firewall zablokujte komunikaci na jednom z uzlů.

    # 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
    

    Pokud uzly clusteru nemůžou vzájemně komunikovat, hrozí riziko rozděleného mozku. Vtakovýchch uzlech se v takových situacích pokusí o vzájemné ohraničení, což vede k rase plotu.

    Při konfiguraci zařízení pro ohraničení se doporučuje nakonfigurovat pcmk_delay_max vlastnost. V případě rozděleného mozku tedy cluster zavádí náhodné zpoždění až do pcmk_delay_max hodnoty, akci šermování na každém uzlu. Uzel s nejkratší prodlevou bude vybrán pro ohraničení.

    Kromě toho se v konfiguraci ENSA 2 doporučuje určit prioritu uzlu hostujícího prostředek ASCS přes druhý uzel během rozděleného scénáře mozku, doporučujeme nakonfigurovat priority-fencing-delay vlastnost v clusteru. Když povolíte vlastnost zpoždění ohraničení podle priority, clusteru umožníte, aby na uzlu, který je hostitelem prostředku ASCS, zavedl další zpoždění akce ohraničení, což umožňuje uzlu ASCS vyhrát závod plotu.

    Spuštěním následujícího příkazu odstraňte pravidlo brány firewall.

    # 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. Testování ručního restartování instance SLUŽBY ASCS

    Stav prostředku před zahájením testu:

    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
    

    Vytvořte zámek fronty, například upravte uživatele v transakci su01. Na uzlu, na kterém je spuštěná instance ASCS, spusťte následující příkazy jako <sapsid>adm. Příkazy zastaví instanci SLUŽBY ASCS a znovu ji spustí. Pokud používáte architekturu enqueue server 1, očekává se, že v tomto testu dojde ke ztrátě zámku enqueue. Pokud používáte architekturu enqueue server 2, zachovají se fronty.

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

    Instance ASCS by teď měla být v Pacemakeru zakázaná.

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

    Znovu spusťte instanci SLUŽBY ASCS na stejném uzlu.

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

    Zámek fronty transakce su01 by měl být ztracen a back-end by měl být resetován. Stav prostředku po testu:

    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. Proces ukončení serveru zpráv

    Stav prostředku před zahájením testu:

    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
    

    Spuštěním následujících příkazů jako kořen identifikujte proces serveru zpráv a ukončete ho.

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

    Pokud server zpráv zabijete jenom jednou, sapstart ho restartuje. Pokud ho zabijete dostatečně často, Pacemaker nakonec přesune instanci ASCS do druhého uzlu v případě ENSA1. Spuštěním následujících příkazů jako kořenového adresáře vyčistíte stav prostředků instance ASCS a ERS po testu.

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

    Stav prostředku po testu:

    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. Ukončení procesu fronty serveru

    Stav prostředku před zahájením testu:

    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
    

    Na uzlu, na kterém je spuštěná instance SLUŽBY ASCS, spusťte následující příkazy jako kořen, aby se zabil server fronty.

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

    Instance ASCS by měla okamžitě převzít služby při selhání na druhý uzel v případě ENSA1. Instance ERS by také měla převzít služby při selhání po spuštění instance SLUŽBY ASCS. Spuštěním následujících příkazů jako kořenového adresáře vyčistíte stav prostředků instance ASCS a ERS po testu.

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

    Stav prostředku po testu:

    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. Ukončete proces replikace serveru replikace fronty.

    Stav prostředku před zahájením testu:

    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
    

    Spuštěním následujícího příkazu jako kořenového adresáře na uzlu, na kterém je spuštěná instance ERS, ukončete proces serveru replikace fronty.

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

    Pokud příkaz spustíte jenom jednou, sapstart proces restartuje. Pokud ji spustíte dostatečně často, sapstart proces nerestartuje a prostředek bude v zastaveném stavu. Spuštěním následujících příkazů jako kořenového adresáře vyčistíte stav prostředku instance ERS po testu.

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

    Stav prostředku po testu:

    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. Ukončení procesu fronty sapstartsrv

    Stav prostředku před zahájením testu:

    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
    

    Na uzlu, na kterém je spuštěná služba ASCS, spusťte následující příkazy jako kořen.

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

    Proces sapstartsrv by měl vždy restartovat agent prostředků Pacemaker. Stav prostředku po testu:

    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
    

Další kroky