Sdílet prostřednictvím


Vysoká dostupnost pro systém škálování na více instancí SAP HANA s HSR v systému SUSE Linux Enterprise Server

Tento článek popisuje, jak nasadit vysoce dostupný systém SAP HANA v konfiguraci škálování na více systémů pomocí replikace systému HANA (HSR) a Pacemakeru na virtuálních počítačích Azure SUSE Linux Enterprise Server. Sdílené systémy souborů v prezentované architektuře jsou připojené k systému souborů NFS a jsou poskytovány službou Azure NetApp Files nebo sdílenou složkou NFS ve službě Azure Files.

V ukázkových konfiguracích, příkazech instalace atd. je instance HANA 03 a ID systému HANA je HN1.

Než začnete, projděte si následující poznámky a dokumenty SAP:

Přehled

Jednou z metod, jak dosáhnout vysoké dostupnosti HANA pro instalace s horizontálním navýšením kapacity HANA, je nakonfigurovat replikaci systému HANA a chránit řešení pomocí clusteru Pacemaker tak, aby umožňovalo automatické převzetí služeb při selhání. Když dojde k selhání aktivního uzlu, cluster převezme služby prostředků HANA na jinou lokalitu.
Prezentovaná konfigurace ukazuje tři uzly HANA na každé lokalitě a uzel tvůrce většiny, aby se zabránilo rozděleným scénářům mozku. Pokyny je možné přizpůsobit tak, aby zahrnovaly více virtuálních počítačů jako uzly DATABÁZE HANA.

Sdílený systém /hana/shared souborů HANA v prezentované architektuře může poskytovat služba Azure NetApp Files nebo sdílená složka NFS ve službě Azure Files. Sdílený systém souborů HANA je systém souborů NFS připojený ke každému uzlu HANA ve stejné lokalitě replikace systému HANA. /hana/data Systémy souborů a /hana/log místní systémy souborů a nesdílejí se mezi uzly databáze HANA. SAP HANA se nainstaluje v nesdílném režimu.

Doporučené konfigurace úložiště SAP HANA najdete v tématu Konfigurace úložiště virtuálních počítačů Azure SAP HANA.

Důležité

Pokud nasazujete všechny systémy souborů HANA v Azure NetApp Files, pro produkční systémy, kde je výkon klíčem, doporučujeme vyhodnotit a zvážit použití skupiny svazků aplikací Azure NetApp Files pro SAP HANA.

Upozorňující

Nasazení a /hana/log v /hana/data systému souborů NFS ve službě Azure Files se nepodporuje.

Škálování SAP HANA na více instancí s využitím HSR a clusteru Pacemaker na SLES

V předchozím diagramu jsou tři podsítě reprezentovány v rámci jedné virtuální sítě Azure, a to podle doporučení sítě SAP HANA:

  • pro komunikaci klienta – client 10.23.0.0/24
  • pro interní komunikaci mezi uzly HANA – inter 10.23.1.128/26
  • Pro replikaci systému HANA – hsr 10.23.1.192/26

Vzhledem k /hana/data tomu, že jsou /hana/log nasazené na místních discích, není nutné nasazovat samostatné podsítě a samostatné virtuální síťové karty pro komunikaci s úložištěm.

Pokud používáte Azure NetApp Files, nasadí se svazky NFS pro /hana/sharedsamostatnou podsíť delegovanou do služby Azure NetApp Files: anf 10.23.1.0/26.

Příprava infrastruktury

V následujících pokynech předpokládáme, že jste již vytvořili skupinu prostředků, virtuální síť Azure se třemi podsítěmi sítě Azure: clientinter a hsr.

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

  1. Nasaďte virtuální počítače Azure.

    Pro konfiguraci prezentovanou v tomto dokumentu nasaďte sedm virtuálních počítačů:

    • tři virtuální počítače, které budou sloužit jako uzly DATABÁZE HANA pro lokalitu replikace HANA 1: hana-s1-db1, hana-s1-db2 a hana-s1-db3
    • tři virtuální počítače, které budou sloužit jako uzly DATABÁZE HANA pro lokalitu replikace HANA 2: hana-s2-db1, hana-s2-db2 a hana-s2-db3
    • malý virtuální počítač, který bude sloužit jako tvůrce většiny: hana-s-mm

    Virtuální počítače nasazené jako uzly SAP DB HANA by měl certifikovat SAP for HANA, jak je publikuje v adresáři hardwaru SAP HANA. Při nasazování uzlů databáze HANA se ujistěte, že je vybraná akcelerovaná síť .

    U uzlu tvůrce většiny můžete nasadit malý virtuální počítač, protože tento virtuální počítač nespouští žádné prostředky SAP HANA. Virtuální počítač tvůrce většiny se používá v konfiguraci clusteru k dosažení lichého počtu uzlů clusteru ve scénáři rozděleného mozku. Virtuální počítač tvůrce většiny potřebuje pouze jedno virtuální síťové rozhraní v client podsíti v tomto příkladu.

    Nasaďte místní spravované disky pro /hana/data a /hana/log. Minimální doporučená konfigurace /hana/data úložiště pro a /hana/log je popsaná v konfiguracích úložiště virtuálních počítačů Azure SAP HANA.

    Nasaďte primární síťové rozhraní pro každý virtuální počítač v client podsíti virtuální sítě.
    Po nasazení virtuálního počítače přes Azure Portal se automaticky vygeneruje název síťového rozhraní. V těchto pokynech pro zjednodušení se podíváme na automaticky generovaná primární síťová rozhraní, která jsou připojená k client podsíti virtuální sítě Azure jako hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client atd.

    Důležité

    • Ujistěte se, že vybraný operační systém má certifikaci SAP pro SAP HANA na konkrétních typech virtuálních počítačů, které používáte. Seznam typů certifikovaných virtuálních počítačů a verzí operačního systému SAP HANA pro tyto typy najdete na webu platforem IaaS pro SAP HANA. Kliknutím na podrobnosti o uvedeném typu virtuálního počítače získáte úplný seznam vydaných verzí operačního systému s podporou SAP HANA pro tento typ.
    • Pokud se rozhodnete nasadit /hana/shared do systému souborů NFS ve službě Azure Files, doporučujeme nasazení na SLES 15 SP2 a vyšší.
  2. inter V podsíti virtuální sítě (v tomto příkladu hana-s1-db1-inter, hana-s1-db2-inter, hana-s1-db2-inter, hana-s1-db3-inter, hana-s2-db1-inter, hana-s2-db2-inter a hana-s2-db3-inter).

  3. Vytvořte šest síťových rozhraní, jedno pro každý virtuální počítač HANA DB v podsíti virtuální sítě (v tomto příkladu hana-s1-db1-hsr, hana-s1-db2-hsr, hana-s1-db3-hsr, hana-s2-db1-hsr, hana-s2-db2-hsr a hana-s2-db3-hsr). hsr

  4. Připojte nově vytvořená virtuální síťová rozhraní k odpovídajícím virtuálním počítačům:

    1. Na webu Azure Portal přejděte na virtuální počítač.
    2. V levém podokně vyberte Virtuální počítače. Vyfiltrujte název virtuálního počítače (například hana-s1-db1) a pak vyberte virtuální počítač.
    3. V podokně Přehled vyberte Zastavit a uvolněte virtuální počítač.
    4. Vyberte Sítě a pak připojte síťové rozhraní. V rozevíracím seznamu Připojit síťové rozhraní vyberte již vytvořená síťová rozhraní pro podsítě inter a hsr podsítě.
    5. Zvolte Uložit.
    6. Opakujte kroky b až e pro zbývající virtuální počítače (v našem příkladu hana-s1-db2, hana-s1-db3, hana-s2-db1, hana-s2-db2 a hana-s2-db3).
    7. Prozatím nechte virtuální počítače v zastaveném stavu. Dále povolíme akcelerované síťové služby pro všechna nově připojená síťová rozhraní.
  5. Pomocí následujících kroků povolte akcelerované síťové rozhraní pro další síťová rozhraní a inter hsr podsítě:

    1. Otevřete Azure Cloud Shell na webu Azure Portal.

    2. Spuštěním následujících příkazů povolte akcelerované síťové služby pro další síťová rozhraní, která jsou připojená k podsítím inter a hsr podsítím.

      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-inter --accelerated-networking true
      
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-hsr --accelerated-networking true
      
  6. Spuštění virtuálních počítačů HANA DB

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ě. Pokud chcete nastavit standardní nástroj pro vyrovnávání zatížení pro nastavení databáze HANA s vysokou dostupností, postupujte podle následujících kroků.

Poznámka:

  • Pokud chcete provést horizontální navýšení kapacity HANA, při přidávání virtuálních počítačů do back-endového fondu vyberte síťovou kartu pro client podsíť.
  • Úplná sada příkazů v Azure CLI a PowerShellu přidá virtuální počítače s primárním síťovým rozhraním v back-endovém fondu.

Postupujte podle kroků v tématu Vytvoření 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 front-endovou IP adresu. Vyberte stejnou virtuální síť a název podsítě jako vaše databázové virtuální počítače.
  2. Back-endový fond: Vytvořte back-endový fond a přidejte databázové virtuální počítače.
  3. Příchozí pravidla: Vytvořte pravidlo vyrovnávání zatížení. U obou pravidel vyrovnávání zatížení postupujte stejně.
    • IP adresa front-endu: Vyberte front-endovou IP adresu.
    • Back-endový fond: Vyberte back-endový fond.
    • Porty s vysokou dostupností: Tuto možnost vyberte.
    • Protokol: Vyberte TCP.
    • Sonda stavu: Vytvořte sondu stavu s následujícími podrobnostmi:
      • Protokol: Vyberte TCP.
      • Port: Například 625<instance-no.>.
      • Interval: Zadejte 5.
      • Prahová hodnota sondy: Zadejte 2.
    • Časový limit nečinnosti (minuty):Zadejte 30.
    • Povolit plovoucí IP adresu: Vyberte tuto možnost.

Poznámka:

Vlastnost numberOfProbeskonfigurace sondy stavu , jinak označovaná jako prahová hodnota není v pořádku na portálu, se nerespektuje. Chcete-li řídit počet úspěšných nebo neúspěšných po sobě jdoucích sond, nastavte vlastnost probeThreshold na 2hodnotu . V současné době není možné tuto vlastnost nastavit pomocí webu Azure Portal, takže použijte buď Azure CLI, nebo příkaz PowerShellu.

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 časové razítka PROTOKOLU TCP na virtuálních počítačích Azure umístěných za Azure Load Balancerem. Povolení časových razítek PROTOKOLU TCP způsobí selhání sond stavu. Nastavte parametr net.ipv4.tcp_timestamps na 0. Podrobnosti najdete v sondách stavu Load Balanceru a 2382421 SAP.
  • Chcete-li zabránit saptune změnit ručně nastavenou net.ipv4.tcp_timestamps hodnotu zpět 0 na 1, aktualizujte saptune verze na 3.1.1 nebo vyšší. Další podrobnosti najdete v tématu saptune 3.1.1 – Musím aktualizovat?.

Nasazení systému souborů NFS

Existují dvě možnosti nasazení nativního systému souborů NFS v Azure pro /hana/shared. Svazek NFS můžete nasadit ve sdílené složce Azure NetApp Files nebo NFS ve službě Azure Files. Soubory Azure podporují protokol NFSv4.1, systém souborů NFS v Azure NetApp files podporuje NFSv4.1 i NFSv3.

Následující části popisují postup nasazení systému souborů NFS – budete muset vybrat jenom jednu z možností.

Nasazení infrastruktury Služby Azure NetApp Files

Nasaďte svazky Azure NetApp Files pro /hana/shared systém souborů. Pro každou lokalitu replikace systému HANA budete potřebovat samostatný /hana/shared svazek. Další informace najdete v tématu Nastavení infrastruktury Azure NetApp Files.

V tomto příkladu se použily následující svazky Azure NetApp Files:

  • volume HN1-shared-s1 (nfs://10.23.1.7/ HN1-shared-s1)
  • volume HN1-shared-s2 (nfs://10.23.1.7/ HN1-shared-s2)

Nasazení systému souborů NFS v infrastruktuře služby Azure Files

Nasaďte sdílené složky NFS služby Azure Files pro /hana/shared systém souborů. Pro každou lokalitu replikace systému HANA budete potřebovat samostatnou /hana/shared sdílenou složku SOUBORŮ NFS služby Azure Files. Další informace naleznete v tématu Vytvoření sdílené složky NFS.

V tomto příkladu se použily následující sdílené složky NFS služby Azure Files:

  • share hn1-shared-s1 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1)
  • share hn1-shared-s2 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2)

Konfigurace a příprava operačního systému

Pokyny v dalších částech jsou předpony jedné z následujících zkratek:

  • [A]: Platí pro všechny uzly, včetně tvůrce většiny.
  • [AH]: Platí pro všechny uzly DATABÁZE HANA.
  • [M]: Platí pouze pro uzel tvůrce většiny.
  • [AH1]: Platí pro všechny uzly DATABÁZE HANA na webu SITE 1.
  • [AH2]: Platí pro všechny uzly DATABÁZE HANA na webu SITE 2.
  • [1]: Platí pouze pro uzel DATABÁZE HANA 1, SITE 1
  • [2]: Platí jenom pro uzel DATABÁZE HANA 1, SITE 2

Nakonfigurujte a připravte operační systém pomocí následujících kroků:

  1. [A] Udržujte soubory hostitele na virtuálních počítačích. Zahrňte položky pro všechny podsítě. Do tohoto příkladu byly přidány /etc/hosts následující položky.

    # Client subnet
    10.23.0.19      hana-s1-db1
    10.23.0.20      hana-s1-db2
    10.23.0.21      hana-s1-db3
    10.23.0.22      hana-s2-db1
    10.23.0.23      hana-s2-db2
    10.23.0.24      hana-s2-db3
    10.23.0.25      hana-s-mm    
    
    # Internode subnet
    10.23.1.132     hana-s1-db1-inter
    10.23.1.133     hana-s1-db2-inter
    10.23.1.134     hana-s1-db3-inter
    10.23.1.135     hana-s2-db1-inter
    10.23.1.136     hana-s2-db2-inter
    10.23.1.137     hana-s2-db3-inter
    
    # HSR subnet
    10.23.1.196     hana-s1-db1-hsr
    10.23.1.197     hana-s1-db2-hsr
    10.23.1.198     hana-s1-db3-hsr
    10.23.1.199     hana-s2-db1-hsr
    10.23.1.200     hana-s2-db2-hsr
    10.23.1.201     hana-s2-db3-hsr
    
  2. [A] Vytvořte konfigurační soubor /etc/sysctl.d/ms-az.conf s Microsoftem pro nastavení konfigurace Azure.

    vi /etc/sysctl.d/ms-az.conf
    
    # Add the following entries in the configuration file
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv4.tcp_max_syn_backlog = 16348
    net.ipv4.conf.all.rp_filter = 0
    sunrpc.tcp_slot_table_entries = 128
    vm.swappiness=10
    

    Tip

    Vyhněte se nastavení net.ipv4.ip_local_port_range a net.ipv4.ip_local_reserved_ports explicitně v konfiguračních souborech sysctl, aby agent hostitele SAP mohl spravovat rozsahy portů. Další informace najdete v poznámkách SAP 2382421.

  3. [A] SUSE poskytuje speciální agenty prostředků pro SAP HANA a ve výchozím nastavení se nainstalují agenti pro vertikální navýšení kapacity SAP HANA. Odinstalujte balíčky pro vertikální navýšení kapacity, pokud jsou nainstalované a nainstalují balíčky pro scénář horizontálního navýšení kapacity SAP HANA. Tento krok je potřeba provést na všech virtuálních počítačích clusteru, včetně tvůrce většiny.

    Poznámka:

    Musí se nainstalovat SAPHanaSR-ScaleOut verze 0.181 nebo vyšší.

    # Uninstall scale-up packages and patterns
    sudo zypper remove patterns-sap-hana
    sudo zypper remove SAPHanaSR SAPHanaSR-doc yast2-sap-ha
    
    # Install the scale-out packages and patterns
    sudo zypper in SAPHanaSR-ScaleOut SAPHanaSR-ScaleOut-doc 
    sudo zypper in -t pattern ha_sles
    
  4. [AH] Připravte virtuální počítače – použijte doporučená nastavení na poznámku SAP 2205917 pro SUSE Linux Enterprise Server pro aplikace SAP.

Příprava systémů souborů

Rozhodli jste se nasadit sdílené adresáře SAP ve sdílené složce NFS ve službě Azure Files nebo na svazku NFS ve službě Azure NetApp Files.

Připojení sdílených systémů souborů (Azure NetApp Files NFS)

V tomto příkladu jsou sdílené systémy souborů HANA nasazené v Azure NetApp Files a připojené přes NFSv4.1. Postupujte podle kroků v této části jenom v případě, že používáte systém souborů NFS ve službě Azure NetApp Files.

  1. [AH] Připravte operační systém pro spuštění SAP HANA v netApp Systems se systémem souborů NFS, jak je popsáno v poznámce SAP 3024346 – Nastavení jádra Linuxu pro NetApp NFS. Vytvořte konfigurační soubor /etc/sysctl.d/91-NetApp-HANA.conf pro nastavení konfigurace NetApp.

    vi /etc/sysctl.d/91-NetApp-HANA.conf
    
    # Add the following entries in the configuration file
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 131072 16777216
    net.ipv4.tcp_wmem = 4096 16384 16777216
    net.core.netdev_max_backlog = 300000
    net.ipv4.tcp_slow_start_after_idle=0
    net.ipv4.tcp_no_metrics_save = 1
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_sack = 1
    
  2. [AH] Upravte nastavení sunrpc podle doporučení v poznámkách SAP 3024346 – Nastavení jádra Linuxu pro NetApp NFS.

    vi /etc/modprobe.d/sunrpc.conf
    
    # Insert the following line
    options sunrpc tcp_max_slot_table_entries=128
    
  3. [AH] Vytvořte přípojné body pro svazky databáze HANA.

    mkdir -p /hana/shared
    
  4. [AH] Ověřte nastavení domény NFS. Ujistěte se, že je doména nakonfigurovaná jako výchozí doména Azure NetApp Files, tzn defaultv4iddomain.com . že mapování je nastavené na nikoho.
    Tento krok je potřeba jenom v případě, že používáte Azure NetAppFiles NFSv4.1.

    Důležité

    Nezapomeňte na virtuálním počítači nastavit doménu /etc/idmapd.conf NFS tak, aby odpovídala výchozí konfiguraci domény ve službě Azure NetApp Files: defaultv4iddomain.com Pokud dojde k neshodě mezi konfigurací domény v klientovi NFS (tj. virtuálním počítači) a serverem NFS, tj. konfigurací Azure NetApp, zobrazí se oprávnění pro soubory na svazcích Azure NetApp připojených k virtuálním počítačům jako nobody.

    sudo cat /etc/idmapd.conf
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  5. [AH] Ověřit nfs4_disable_idmapping. Měla by být nastavená na Y. Pokud chcete vytvořit adresářovou strukturu, ve které nfs4_disable_idmapping se nachází, spusťte příkaz mount. Adresář v adresáři /sys/modules nebudete moct vytvořit ručně, protože přístup je vyhrazený pro jádro nebo ovladače.
    Tento krok je potřeba jenom v případě, že používáte Azure NetAppFiles NFSv4.1.

    # Check nfs4_disable_idmapping 
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount 10.23.1.7:/HN1-share-s1 /mnt/tmp
    umount  /mnt/tmp
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    
  6. [AH1] Připojte sdílené svazky Azure NetApp Files na virtuálních počítačích DATABÁZE SITE1 HANA.

    sudo vi /etc/fstab
    # Add the following entry
    10.23.1.7:/HN1-shared-s1 /hana/shared nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    # Mount all volumes
    sudo mount -a 
    
  7. [AH2] Připojte sdílené svazky Azure NetApp Files na virtuálních počítačích DATABÁZE SITE2 HANA.

    sudo vi /etc/fstab
    # Add the following entry
    10.23.1.7:/HN1-shared-s2 /hana/shared nfs rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    # Mount the volume
    sudo mount -a 
    
  8. [AH] Ověřte, že jsou odpovídající /hana/shared/ systémy souborů připojené ke všem virtuálním počítačům HANA DB s protokolem NFS verze NFSv4.1.

    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from SITE 1, hana-s1-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.1.7
    # Example from SITE 2, hana-s2-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s2
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.1.7
    

Připojení sdílených systémů souborů (Azure Files NFS)

V tomto příkladu se sdílené systémy souborů HANA nasadí do systému souborů NFS ve službě Azure Files. Postupujte podle kroků v této části jenom v případě, že používáte systém souborů NFS ve službě Azure Files.

  1. [AH] Vytvořte přípojné body pro svazky databáze HANA.

    mkdir -p /hana/shared
    
  2. [AH1] Připojte sdílené svazky Azure NetApp Files na virtuálních počítačích DATABÁZE SITE1 HANA.

    sudo vi /etc/fstab
    # Add the following entry
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 /hana/shared  nfs nfsvers=4.1,sec=sys  0  0
    # Mount all volumes
    sudo mount -a 
    
  3. [AH2] Připojte sdílené svazky Azure NetApp Files na virtuálních počítačích DATABÁZE SITE2 HANA.

    sudo vi /etc/fstab
    # Add the following entries
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 /hana/shared  nfs nfsvers=4.1,sec=sys  0  0
    # Mount the volume
    sudo mount -a 
    
  4. [AH] Ověřte, že jsou odpovídající /hana/shared/ systémy souborů připojené ke všem virtuálním počítačům HANA DB s protokolem NFS verze NFSv4.1.

    sudo nfsstat -m
    # Example from SITE 1, hana-s1-db1
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1
     Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35
    # Example from SITE 2, hana-s2-db1
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2
     Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
    

Příprava místních systémů souborů a dat protokolu

V prezentované konfiguraci jsou systémy /hana/data souborů a /hana/log nasazené na spravovaný disk a jsou místně připojené ke každému virtuálnímu počítači DATABÁZE HANA. Budete muset provést kroky pro vytvoření místních dat a svazků protokolů na každém virtuálním počítači HANA DB.

Nastavte rozložení disku pomocí Správce logických svazků (LVM). Následující příklad předpokládá, že každý virtuální počítač HANA má připojené tři datové disky, které se používají k vytvoření dvou svazků.

  1. [AH] Seznam všech dostupných disků:

    ls /dev/disk/azure/scsi1/lun*
    

    Příklad výstupu:

    /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2 
    
  2. [AH] Vytvořte fyzické svazky pro všechny disky, které chcete použít:

    sudo pvcreate /dev/disk/azure/scsi1/lun0
    sudo pvcreate /dev/disk/azure/scsi1/lun1
    sudo pvcreate /dev/disk/azure/scsi1/lun2
    
  3. [AH] Vytvořte skupinu svazků pro datové soubory. Pro soubory protokolu použijte jednu skupinu svazků a jednu pro sdílený adresář SAP HANA:\

    sudo vgcreate vg_hana_data_HN1 /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1
    sudo vgcreate vg_hana_log_HN1 /dev/disk/azure/scsi1/lun2
    
  4. [AH] Vytvořte logické svazky.

    Lineární svazek se vytvoří, když použijete lvcreate bez -i přepínače. Doporučujeme vytvořit prokládání svazku pro lepší výkon vstupně-výstupních operací a zarovnat velikosti pruhů k hodnotám zdokumentovaným v konfiguracích úložiště virtuálních počítačů SAP HANA. Argumentem -i by měl být počet základních fyzických svazků a -I argumentem je velikost pruhu. V tomto dokumentu se pro datový svazek používají dva fyzické svazky, takže -i je argument přepínače nastavený na hodnotu 2. Velikost pruhu pro datový svazek je 256 KiB. Jeden fyzický svazek se používá pro svazek protokolu, takže pro příkazy svazku protokolu se explicitně nepoužívají žádné -i nebo -I přepínače.

    Důležité

    -i Přepínač použijte a nastavte ho na počet podkladových fyzických svazků, pokud pro každou data nebo svazky protokolu použijete více než jeden fyzický svazek. -I Pomocí přepínače určete velikost pruhu při vytváření prokládání svazku.
    Doporučené konfigurace úložiště, včetně velikostí prokládání a počtu disků, najdete v tématu Konfigurace úložiště virtuálního počítače SAP HANA.

    sudo lvcreate -i 2 -I 256 -l 100%FREE -n hana_data vg_hana_data_HN1
    sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_HN1
    sudo mkfs.xfs /dev/vg_hana_data_HN1/hana_data
    sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log
    
  5. [AH] Vytvořte adresáře připojení a zkopírujte UUID všech logických svazků:

    sudo mkdir -p /hana/data/HN1
    sudo mkdir -p /hana/log/HN1
    # Write down the ID of /dev/vg_hana_data_HN1/hana_data and /dev/vg_hana_log_HN1/hana_log
    sudo blkid
    
  6. [AH] Vytvořte fstab položky pro logické svazky a připojte:

    sudo vi /etc/fstab
    

    Do souboru vložte následující řádek /etc/fstab :

    /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_data_HN1-hana_data /hana/data/HN1 xfs  defaults,nofail  0  2
    /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_log_HN1-hana_log /hana/log/HN1 xfs  defaults,nofail  0  2
    

    Připojte nové svazky:

    sudo mount -a
    

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 server HANA. Zahrnout všechny virtuální počítače, včetně tvůrce většiny v clusteru.

Důležité

Nenastavujte quorum expected-votes hodnotu 2, protože se nejedná o cluster se dvěma uzly.
Ujistěte se, že je povolená vlastnost concurrent-fencing clusteru, aby bylo ohraničení uzlu deserializováno.

Instalace

V tomto příkladu pro nasazení SAP HANA v konfiguraci horizontálního navýšení kapacity pomocí HSR na virtuálních počítačích Azure jsme použili HANA 2.0 SP5.

Příprava na instalaci HANA

  1. [AH] Před instalací HANA nastavte kořenové heslo. Po dokončení instalace můžete kořenové heslo zakázat. Spustit jako root příkaz passwd.

  2. [1,2] Změna oprávnění /hana/shared

    chmod 775 /hana/shared
    
  3. [1] Ověřte, že se můžete přihlásit přes SSH k virtuálním počítačům HANA DB na tomto webu hana-s1-db2 a hana-s1-db3 bez výzvy k zadání hesla. Pokud tomu tak není, vyměňte klíče SSH, jak je popsáno v části Povolení přístupu SSH přes veřejný klíč.

    ssh root@hana-s1-db2
    ssh root@hana-s1-db3
    
  4. [2] Ověřte, že se můžete přihlásit přes SSH k virtuálním počítačům HANA DB v této lokalitě hana-s2-db2 a hana-s2-db3 bez výzvy k zadání hesla.
    Pokud tomu tak není, vyměňte klíče SSH.

    ssh root@hana-s2-db2
    ssh root@hana-s2-db3
    
  5. [AH] Nainstalujte další balíčky, které jsou vyžadovány pro HANA 2.0 SP4 a vyšší. Další informace najdete v tématu SAP Note 2593824 pro vaši verzi SLES.

    # In this example, using SLES12 SP5
    sudo zypper install libgcc_s1 libstdc++6 libatomic1
    

Instalace HANA na prvním uzlu v každé lokalitě

  1. [1] Nainstalujte SAP HANA podle pokynů v průvodci instalací a aktualizací SAP HANA 2.0. V následujících pokynech zobrazíme instalaci SAP HANA na prvním uzlu na webu SITE 1.

    a. Spusťte program hdblcm jako root z instalačního softwarového adresáře HANA. internal_network Použijte parametr a předejte adresní prostor pro podsíť, který se používá pro interní komunikaci mezi uzly HANA.

    ./hdblcm --internal_network=10.23.1.128/26
    

    b. Na příkazovém řádku zadejte následující hodnoty:

    • Pro volbu akce: zadejte 1 (pro instalaci)
    • Pro další součásti pro instalaci: zadejte 2, 3
    • Instalační cesta: Stiskněte Enter (výchozí nastavení /hana/shared)
    • Pro místní název hostitele: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Chcete do systému přidat hostitele?: Zadejte n
    • Pro ID systému SAP HANA: zadejte HN1.
    • Jako číslo instance [00]: zadejte 03.
    • Pro místní skupinu pracovních procesů hostitele [výchozí]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro výběr využití systému / Zadejte index [4]: zadejte 4 (pro vlastní)
    • Pro umístění datových svazků [/hana/data/HN1]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro umístění svazků protokolů [/hana/log/HN1]: Stisknutím klávesy Enter přijměte výchozí nastavení.
    • Chcete-li omezit maximální přidělení paměti? [n]: zadejte n
    • Pro název hostitele certifikátu pro hostitele hana-s1-db1 [hana-s1-db1]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Heslo pro uživatele agenta hostitele SAP (sapadm): Zadejte heslo.
    • Pro potvrzení hesla uživatele agenta hostitele SAP (sapadm) zadejte heslo.
    • Heslo správce systému (hn1adm): Zadejte heslo.
    • V případě domovského adresáře správce systému [/usr/sap/HN1/home]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro přihlašovací prostředí správce systému [/bin/sh]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro ID uživatele správce systému [1001]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro Zadání ID skupiny uživatelů (sapsys) [79]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro uživatele systémové databáze (systém) Heslo: zadejte heslo systému.
    • Pro potvrzení hesla uživatele systémové databáze (systém): zadejte heslo systému.
    • Chcete-li po restartování počítače restartovat systém? [n]: zadejte n
    • Do you want to continue (y/n): Validate the summary and if everything looks good, enter y
  2. [2] Opakováním předchozího kroku nainstalujte SAP HANA na první uzel v lokalitě SITE 2.

  3. [1,2] Ověření global.ini

    Zobrazte global.ini a ujistěte se, že je zavedená konfigurace interní komunikace mezi uzly SAP HANA. Ověřte část komunikace. Měl by mít adresní prostor pro inter podsíť a listeninterface měl by být nastavený na .internalhodnotu . Ověřte oddíl internal_hostname_resolution. Měl by mít IP adresy pro virtuální počítače HANA, které patří do inter podsítě.

      sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      # Example from SITE1 
      [communication]
      internal_network = 10.23.1.128/26
      listeninterface = .internal
      [internal_hostname_resolution]
      10.23.1.132 = hana-s1-db1
      10.23.1.133 = hana-s1-db2
      10.23.1.134 = hana-s1-db3
    
  4. [1,2] Připravte se global.ini na instalaci v nesdílených prostředích, jak je popsáno v poznámce SAP 2080991.

     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     [persistence]
     basepath_shared = no
    
  5. [1,2] Restartujte SAP HANA a aktivujte změny.

     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem
    
  6. [1,2] Ověřte, že klientské rozhraní bude používat IP adresy z client podsítě pro komunikaci.

    # Execute as hn1adm
    /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname
    # Expected result - example from SITE 2
    "hana-s2-db1","net_publicname","10.23.0.22"
    

    Informace o tom, jak ověřit konfiguraci, najdete v tématu SAP Note 2183363 – Konfigurace interní sítě SAP HANA.

  7. [AH] Změňte oprávnění k datům a adresářům protokolů, abyste se vyhnuli chybě instalace HANA.

     sudo chmod o+w -R /hana/data /hana/log
    
  8. [1] Nainstalujte sekundární uzly HANA. Ukázkové pokyny v tomto kroku jsou určené pro WEB 1.

    a. Spusťte rezidentní hdblcm program jako root.

     cd /hana/shared/HN1/hdblcm
     ./hdblcm 
    

    b. Na příkazovém řádku zadejte následující hodnoty:

    • Pro volbu akce: zadejte 2 (pro přidání hostitelů)
    • Pro zadání názvů hostitelů oddělených čárkami přidejte: hana-s1-db2, hana-s1-db3
    • Pro další součásti pro instalaci: zadejte 2, 3
    • Pro zadání kořenového uživatelského jména [root]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro výběr rolí pro hostitele hana-s1-db2 [1]: 1 (pro pracovní proces)
    • Pro enter Host Failover Group for host 'hana-s1-db2' [default]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro zadání čísla oddílu úložiště pro hostitele hana-s1-db2 [<<přiřadit automaticky>>]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro enter Worker Group for host 'hana-s1-db2' [default]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro výběr rolí pro hostitele hana-s1-db3 [1]: 1 (pro pracovní proces)
    • Pro enter Host Failover Group for host 'hana-s1-db3' [default]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro zadání čísla oddílu úložiště pro hostitele hana-s1-db3 [<<přiřadit automaticky>>]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro enter Worker Group for host 'hana-s1-db3' [default]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Heslo správce systému (hn1adm): Zadejte heslo.
    • Zadejte heslo uživatele (sapadm) pro zadání uživatele hostitelského agenta SAP: zadejte heslo.
    • Pro potvrzení hesla uživatele agenta hostitele SAP (sapadm) zadejte heslo.
    • Pro název hostitele certifikátu pro hostitele hana-s1-db2 [hana-s1-db2]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Pro název hostitele certifikátu pro hostitele hana-s1-db3 [hana-s1-db3]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
    • Do you want to continue (y/n): Validate the summary and if everything looks good, enter y
  9. [2] Opakováním předchozího kroku nainstalujte sekundární uzly SAP HANA na SITE 2.

Konfigurace systémové replikace SAP HANA 2.0

  1. [1] Konfigurace replikace systému v lokalitě 1:

    Zálohujte databáze jako adm hn1:

    hdbsql -d SYSTEMDB -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupSYS')"
    hdbsql -d HN1 -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupHN1')"
    

    Zkopírujte systémové soubory PKI do sekundární lokality:

    scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/
    scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY  hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
    

    Vytvořte primární lokalitu:

    hdbnsutil -sr_enable --name=HANA_S1
    
  2. [2] Konfigurace replikace systému v lokalitě 2:

    Zaregistrujte druhou lokalitu, aby se spustila replikace systému. Spusťte následující příkaz jako <hanasid>adm:

    sapcontrol -nr 03 -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2
    sapcontrol -nr 03 -function StartSystem
    
  3. [1] Kontrola stavu replikace

    Zkontrolujte stav replikace a počkejte na synchronizaci všech databází.

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
    # | Database | Host          | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary     | Secondary | Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
    # |          |               |       |              |           |         |           | Host          | Port      | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
    # | -------- | ------------- | ----- | ------------ | --------- | ------- | --------- | ------------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
    # | HN1      | hana-s1-db3   | 30303 | indexserver  |         5 |       1 | HANA_S1   | hana-s2-db3   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | SYSTEMDB | hana-s1-db1   | 30301 | nameserver   |         1 |       1 | HANA_S1   | hana-s2-db1   |     30301 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db1   | 30307 | xsengine     |         2 |       1 | HANA_S1   | hana-s2-db1   |     30307 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db1   | 30303 | indexserver  |         3 |       1 | HANA_S1   | hana-s2-db1   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db2   | 30303 | indexserver  |         4 |       1 | HANA_S1   | hana-s2-db2   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    #
    # status system replication site "2": ACTIVE
    # overall system replication status: ACTIVE
    #
    # Local System Replication State
    #
    # mode: PRIMARY
    # site id: 1
    # site name: HANA_S1
    
  4. [1,2] Změňte konfiguraci HANA tak, aby komunikace pro replikaci systému HANA byla směrována prostřednictvím virtuálních síťových rozhraní replikace systému HANA.

    • Zastavení HANA na obou webech

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
      
    • Upravte global.ini a přidejte mapování hostitelů pro replikaci systému HANA: použijte IP adresy z hsr podsítě.

      sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      #Add the section
      [system_replication_hostname_resolution]
      10.23.1.196 = hana-s1-db1
      10.23.1.197 = hana-s1-db2
      10.23.1.198 = hana-s1-db3
      10.23.1.199 = hana-s2-db1
      10.23.1.200 = hana-s2-db2
      10.23.1.201 = hana-s2-db3
      
    • Spuštění HANA na obou webech

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
      

    Další informace naleznete v tématu Překlad názvů hostitelů pro replikaci systému.

Vytvoření prostředků systému souborů

Vytvořte fiktivní prostředek clusteru systému souborů, který bude monitorovat a hlásit selhání v případě, že dojde k potížím při přístupu k systému /hana/sharedsouborů připojeným systémem souborů NFS . To umožňuje clusteru aktivovat převzetí služeb při selhání v případě, že dojde k problému s přístupem /hana/shared. Další informace najdete v tématu Zpracování neúspěšné sdílené složky NFS v clusteru SUSE HA pro replikaci systému HANA.

  1. [1] Při přípravě na vytváření prostředků clusteru HANA umístěte pacemaker do režimu údržby.

    crm configure property maintenance-mode=true
    
  2. [1,2] Vytvořte adresář v připojeném systému souborů NFS /hana/shared, který se použije ve speciálním monitorovacím prostředku systému souborů. Adresáře je potřeba vytvořit na obou webech.

    mkdir -p /hana/shared/HN1/check
    
  3. [AH] Vytvořte adresář, který se použije k připojení speciálního prostředku monitorování systému souborů. Adresář je potřeba vytvořit na všech uzlech clusteru HANA.

    mkdir -p /hana/check
    
  4. [1] Vytvořte prostředky clusteru systému souborů.

    crm configure primitive fs_HN1_HDB03_fscheck Filesystem \
      params device="/hana/shared/HN1/check" \
      directory="/hana/check" fstype=nfs4 \
      options="bind,defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock" \
      op monitor interval=120 timeout=120 on-fail=fence \
      op_params OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
    
    crm configure clone cln_fs_HN1_HDB03_fscheck fs_HN1_HDB03_fscheck \
      meta clone-node-max=1 interleave=true
    
    crm configure location loc_cln_fs_HN1_HDB03_fscheck_not_on_mm \
      cln_fs_HN1_HDB03_fscheck -inf: hana-s-mm    
    

    OCF_CHECK_LEVEL=20 atribut je přidán do operace monitorování, aby operace monitorování prováděly test čtení a zápisu v systému souborů. Bez tohoto atributu operace monitorování ověřuje pouze připojení systému souborů. Může to být problém, protože když dojde ke ztrátě připojení, systém souborů může zůstat připojený, i když je nepřístupný.

    on-fail=fence atribut je také přidán do operace monitorování. Pokud při této možnosti selže operace monitorování na uzlu, je tento uzel okamžitě ohraničen.

Implementace háků HANA HA SAPHanaSrMultiTarget a susChkSrv

Tento důležitý krok spočívá v optimalizaci integrace s clusterem a zjišťování, kdy je možné převzetí služeb při selhání clusteru. Důrazně doporučujeme nakonfigurovat háček Pythonu SAPHanaSrMultiTarget. Pro HANA 2.0 SP5 a vyšší se doporučuje implementace sapHanaSrMultiTarget i susChkSrv hooks.

Poznámka:

Poskytovatel HA SAPHanaSrMultiTarget nahrazuje SAPHanaSR pro horizontální navýšení kapacity HANA. SAPHanaSR byl popsán v dřívější verzi tohoto dokumentu.
Podívejte se na blog s SUSE blogovým příspěvkem o změnách pomocí nového háku HANA HA.

Poskytnuté kroky pro sapHanaSrMultiTarget hook jsou určené pro novou instalaci. Upgrade existujícího prostředí ze SAPHanaSR na poskytovatele SAPHanaSrMultiTarget vyžaduje několik změn a nejsou popsány v tomto dokumentu. Pokud stávající prostředí pro zotavení po havárii nepoužívá žádnou třetí lokalitu a nepoužívá se replikace systému s více cíli HANA, poskytovatel vysoké dostupnosti SAPHanaSR může zůstat používán.

SusChkSrv rozšiřuje funkčnost hlavního poskytovatele SAPHanaSrMultiTarget HA. Funguje v situaci, kdy dojde k chybovému ukončení serveru HDbindex serveru HANA. Pokud dojde k chybovému ukončení jednoho procesu, hana se obvykle pokusí restartovat. Restartování procesu indexserveru může trvat dlouhou dobu, během které databáze HANA nereaguje. Při implementaci susChkSrv se spustí okamžitá a konfigurovatelná akce místo čekání na proces serveru hdbindex, aby se restartoval na stejném uzlu. V řešení HANA susChkSrv funguje pro každý virtuální počítač HANA nezávisle na sobě. Nakonfigurovaná akce zabije HANA nebo ohradí ovlivněný virtuální počítač, který aktivuje převzetí služeb při selhání v nakonfigurovaném časovém limitu.

Pro provoz obou háků HANA HA se vyžaduje SUSE SLES 15 SP1 nebo vyšší. V následující tabulce jsou uvedeny další závislosti.

Háček SAP HANA HA Požadovaná verze HANA Vyžaduje se SAPHanaSR-ScaleOut
SAPHanaSrMultiTarget HANA 2.0 SPS4 nebo novější 0.180 nebo vyšší
susChkSrv HANA 2.0 SPS5 nebo novější 0.184.1 nebo vyšší

Postup implementace obou háků:

  1. [1,2] Zastavte HANA v obou lokalitách replikace systému. Spustit jako <sid>adm:

    sapcontrol -nr 03 -function StopSystem
    
  2. [1,2] Upravte global.ini každou lokalitu clusteru. Pokud nejsou splněné požadavky pro háček susChkSrv, neměl by být nakonfigurován celý blok [ha_dr_provider_suschksrv] .
    Chování susChkSrv můžete upravit pomocí parametru action_on_lost. Platné hodnoty jsou [ ignore | stop | kill | fence ].

    # add to global.ini on both sites. Do not copy global.ini between sites.
    [ha_dr_provider_saphanasrmultitarget]
    provider = SAPHanaSrMultiTarget
    path = /usr/share/SAPHanaSR-ScaleOut
    execution_order = 1
    
    [ha_dr_provider_suschksrv]
    provider = susChkSrv
    path = /usr/share/SAPHanaSR-ScaleOut
    execution_order = 3
    action_on_lost = kill
    
    [trace]
    ha_dr_saphanasrmultitarget = info
    

    Výchozí umístění háků ha, které poskytuje SUSE, je /usr/share/SAPHanaSR-ScaleOut. Použití standardního umístění přináší výhodu, že kód háku Pythonu se automaticky aktualizuje prostřednictvím aktualizací operačního systému nebo balíčku a použije ho HANA při příštím restartování. S volitelnou vlastní cestou, jako je /hana/shared/myHooks, můžete oddělit aktualizace operačního systému od používané verze hooku.

  3. [AH] Cluster vyžaduje konfiguraci sudoers na uzlech clusteru pro <sid>adm. V tomto příkladu toho dosáhnete vytvořením nového souboru. Spusťte příkazy tak, aby root se přizpůsobily hodnotám hn1 se správnými malými písmeny SID.

    cat << EOF > /etc/sudoers.d/20-saphana
    # SAPHanaSR-ScaleOut needs for HA/DR hook scripts
    so1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_hn1_site_srHook_*
    so1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_hn1_gsh *
    so1adm ALL=(ALL) NOPASSWD: /usr/sbin/SAPHanaSR-hookHelper --sid=hn1 *
    EOF
    
  4. [1,2] Spusťte SAP HANA v obou replikačních lokalitách. Spusťte jako <sid>adm.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [A] Ověřte, že je instalace háku aktivní na všech uzlech clusteru. Spusťte jako <sid>adm.

    cdtrace
    grep HADR.*load.*SAPHanaSrMultiTarget nameserver_*.trc | tail -3
    # Example output
    # nameserver_hana-s1-db1.31001.000.trc:[14162]{-1}[-1/-1] 2023-01-26 12:53:55.728027 i ha_dr_provider   HADRProviderManager.cpp(00083) : loading HA/DR Provider 'SAPHanaSrMultiTarget' from /usr/share/SAPHanaSR-ScaleOut/
    grep SAPHanaSr.*init nameserver_*.trc | tail -3
    # Example output
    # nameserver_hana-s1-db1.31001.000.trc:[17636]{-1}[-1/-1] 2023-01-26 16:30:19.256705 i ha_dr_SAPHanaSrM SAPHanaSrMultiTarget.py(00080) : SAPHanaSrMultiTarget.init() CALLING CRM: <sudo /usr/sbin/crm_attribute -n hana_hn1_gsh -v 2.2  -l reboot> rc=0
    # nameserver_hana-s1-db1.31001.000.trc:[17636]{-1}[-1/-1] 2023-01-26 16:30:19.256739 i ha_dr_SAPHanaSrM SAPHanaSrMultiTarget.py(00081) : SAPHanaSrMultiTarget.init() Running srHookGeneration 2.2, see attribute hana_hn1_gsh too
    

    Ověřte instalaci háku susChkSrv. Spusťte jako <sid>adm.

    cdtrace
    egrep '(LOST:|STOP:|START:|DOWN:|init|load|fail)' nameserver_suschksrv.trc
    # Example output
    # 2023-01-19 08:23:10.581529  [1674116590-10005] susChkSrv.init() version 0.7.7, parameter info: action_on_lost=fence stop_timeout=20 kill_signal=9
    # 2023-01-19 08:23:31.553566  [1674116611-14022] START: indexserver event looks like graceful tenant start
    # 2023-01-19 08:23:52.834813  [1674116632-15235] START: indexserver event looks like graceful tenant start (indexserver started)
    

Vytvoření prostředků clusteru SAP HANA

  1. [1] Vytvořte prostředky clusteru HANA. Spusťte následující příkazy jako root.

    1. Ujistěte se, že cluster už je v režimu údržby.

    2. Dále vytvořte prostředek topologie HANA.

      sudo crm configure primitive rsc_SAPHanaTopology_HN1_HDB03 ocf:suse:SAPHanaTopology \
        op monitor interval="10" timeout="600" \
        op start interval="0" timeout="600" \
        op stop interval="0" timeout="300" \
        params SID="HN1" InstanceNumber="03"
      
      sudo crm configure clone cln_SAPHanaTopology_HN1_HDB03 rsc_SAPHanaTopology_HN1_HDB03 \
       meta clone-node-max="1" target-role="Started" interleave="true"
      
    3. Dále vytvořte prostředek instance HANA.

      Poznámka:

      Tento článek obsahuje odkazy na termíny, které už Microsoft nepoužívá. Když se tyto podmínky odeberou ze softwaru, odebereme je z tohoto článku.

      sudo crm configure primitive rsc_SAPHana_HN1_HDB03 ocf:suse:SAPHanaController \
        op start interval="0" timeout="3600" \
        op stop interval="0" timeout="3600" \
        op promote interval="0" timeout="3600" \
        op monitor interval="60" role="Master" timeout="700" \
        op monitor interval="61" role="Slave" timeout="700" \
        params SID="HN1" InstanceNumber="03" PREFER_SITE_TAKEOVER="true" \
        DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false"
      
      sudo crm configure ms msl_SAPHana_HN1_HDB03 rsc_SAPHana_HN1_HDB03 \
        meta clone-node-max="1" master-max="1" interleave="true"
      

      Důležité

      Doporučujeme, abyste jako osvědčený postup nastavili pouze AUTOMATED_REGISTER na hodnotu ne, zatímco provádíte důkladné testy převzetí služeb při selhání, abyste zabránili selhání primární instance, aby se automaticky zaregistrovala jako sekundární. Po úspěšném dokončení testů převzetí služeb při selhání nastavte AUTOMATED_REGISTER na ano, aby se po převzetí systémové replikace mohlo automaticky obnovit.

    4. Vytvořte virtuální IP adresu a přidružené prostředky.

      sudo crm configure primitive rsc_ip_HN1_HDB03 ocf:heartbeat:IPaddr2 \
        op monitor interval="10s" timeout="20s" \
        params ip="10.23.0.27"
      
      sudo crm configure primitive rsc_nc_HN1_HDB03 azure-lb port=62503 \
        op monitor timeout=20s interval=10 \
        meta resource-stickiness=0
      
      sudo crm configure group g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 rsc_nc_HN1_HDB03
      
    5. Vytvoření omezení clusteru

      # Colocate the IP with HANA master
      sudo crm configure colocation col_saphana_ip_HN1_HDB03 4000: g_ip_HN1_HDB03:Started \
        msl_SAPHana_HN1_HDB03:Master  
      
      # Start HANA Topology before HANA  instance
      sudo crm configure order ord_SAPHana_HN1_HDB03 Optional: cln_SAPHanaTopology_HN1_HDB03 \
        msl_SAPHana_HN1_HDB03
      
      # HANA resources don't run on the majority maker node
      sudo crm configure location loc_SAPHanaCon_not_on_majority_maker msl_SAPHana_HN1_HDB03 -inf: hana-s-mm
      sudo crm configure location loc_SAPHanaTop_not_on_majority_maker cln_SAPHanaTopology_HN1_HDB03 -inf: hana-s-mm
      
  2. [1] Konfigurace dalších vlastností clusteru

    sudo crm configure rsc_defaults resource-stickiness=1000
    sudo crm configure rsc_defaults migration-threshold=50
    
  3. [1] Umístěte cluster mimo režim údržby. Ujistěte se, že je stav clusteru v pořádku a že jsou spuštěné všechny prostředky.

    # Cleanup any failed resources - the following command is example 
    crm resource cleanup rsc_SAPHana_HN1_HDB03
    
    # Place the cluster out of maintenance mode
    sudo crm configure property maintenance-mode=false
    
  4. [1] Ověřte komunikaci mezi hákem HANA HA a clusterem a zobrazte stav SOK pro SID a obě lokality replikace se stavem P(rimary) nebo S(econdary).

    sudo /usr/sbin/SAPHanaSR-showAttr
    # Expected result
    # Global cib-time                 maintenance prim  sec sync_state upd
    # ---------------------------------------------------------------------
    # HN1    Fri Jan 27 10:38:46 2023 false       HANA_S1 -   SOK        ok
    # 
    # Sites     lpt        lss mns        srHook srr
    # -----------------------------------------------
    # HANA_S1     1674815869 4   hana-s1-db1 PRIM   P
    # HANA_S2     30         4   hana-s2-db1 SWAIT  S
    

    Poznámka:

    Časové limity ve výše uvedené konfiguraci jsou pouze příklady a možná bude potřeba je přizpůsobit konkrétnímu nastavení HANA. Pokud například spuštění databáze SAP HANA trvá déle, může být potřeba zvýšit časový limit spuštění.

Testování převzetí služeb při selhání SAP HANA

Poznámka:

Tento článek obsahuje odkazy na termíny, které už Microsoft nepoužívá. Když se tyto podmínky odeberou ze softwaru, odebereme je z tohoto článku.

  1. Než začnete testovat, zkontrolujte stav replikace systému a clusteru SAP HANA.

    a. Ověřte, že neexistují žádné neúspěšné akce clusteru.

    #Verify that there are no failed cluster actions
    crm status
    # Example 
    #7 nodes configured
    #24 resource instances configured
    #
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #
    #Full list of resources:
    #
    # stonith-sbd    (stonith:external/sbd): Started hana-s-mm
    # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #     Stopped: [ hana-s-mm ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #     Stopped: [ hana-s-mm ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
    #     Masters: [ hana-s1-db1 ]
    #     Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #     Stopped: [ hana-s-mm ]
    # Resource Group: g_ip_HN1_HDB03
    #     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
    #     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hana-s1-db1
    

    b. Ověření synchronizace systémové replikace SAP HANA

    # Verify HANA HSR is in sync
    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    #| Database | Host         | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary    | Secondary | Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
    #|          |              |       |              |           |         |           | Host         | Port      | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
    #| -------- | ------------ | ----- | ------------ | --------- | ------- | --------- | ------------ | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
    #| SYSTEMDB | hana-s1-db1  | 30301 | nameserver   |         1 |       1 | HANA_S1   | hana-s2-db1  |     30301 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    #| HN1      | hana-s1-db1  | 30307 | xsengine     |         2 |       1 | HANA_S1   | hana-s2-db1  |     30307 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    #| HN1      | hana-s1-db1  | 30303 | indexserver  |         3 |       1 | HANA_S1   | hana-s2-db1  |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    #| HN1      | hana-s1-db3  | 30303 | indexserver  |         4 |       1 | HANA_S1   | hana-s2-db3  |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    #| HN1      | hana-s1-db2  | 30303 | indexserver  |         5 |       1 | HANA_S1   | hana-s2-db2  |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    #
    #status system replication site "1": ACTIVE
    #overall system replication status: ACTIVE
    #
    #Local System Replication State
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #
    #mode: PRIMARY
    #site id: 1
    #site name: HANA_S1
    
  2. Doporučujeme důkladně ověřit konfiguraci clusteru SAP HANA provedením testů zdokumentovaných v ha pro SAP HANA na virtuálních počítačích Azure na SLES a ve scénáři optimalizace výkonu replikace SLES se škálováním na více instancí.

  3. Ověřte konfiguraci clusteru pro scénář selhání, když uzel ztratí přístup ke sdílené složce NFS (/hana/shared).

    Agenti prostředků SAP HANA závisí na binárních souborech uložených /hana/shared při provádění operací během převzetí služeb při selhání. Systém /hana/shared souborů je připojený přes systém souborů NFS v zobrazené konfiguraci. Testem, který lze provést, je vytvoření dočasného pravidla brány firewall pro blokování přístupu k /hana/shared připojenému systému souborů NFS na jednom z virtuálních počítačů primární lokality. Tento přístup ověří, že cluster převezme služby při selhání, pokud dojde ke ztrátě přístupu v /hana/shared lokalitě aktivní replikace systému.

    Očekávaný výsledek: Když zablokujete přístup k připojenému /hana/shared systému souborů NFS na jednom z virtuálních počítačů primární lokality, operace monitorování, která provádí operaci čtení a zápisu v systému souborů, selže, protože nebude mít přístup k systému souborů a aktivuje převzetí služeb při selhání prostředků HANA. Stejný výsledek se očekává, když uzel HANA ztratí přístup ke sdílené složce NFS.

    Stav prostředků clusteru můžete zkontrolovat spuštěním crm_mon nebo crm status. Stav prostředku před zahájením testu:

    # Output of crm_mon
    #7 nodes configured
    #24 resource instances configured
    #
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #
    #Active resources:
    #
    #stonith-sbd     (stonith:external/sbd): Started hana-s-mm
    # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
    #     Masters: [ hana-s1-db1 ]
    #     Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Resource Group: g_ip_HN1_HDB03
    #     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hana-s2-db1
    #     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hana-s2-db1     
    

    Simulace selhání pro /hana/shared:

    • Pokud používáte systém souborů NFS v Azure NetApp Files, nejprve ověřte IP adresu svazku /hana/shared Azure NetApp Files na primární lokalitě. To můžete provést spuštěním df -kh|grep /hana/sharedpříkazu .
    • Pokud používáte systém souborů NFS ve službě Azure Files, nejprve určete IP adresu privátního koncového bodu vašeho účtu úložiště.

    Potom nastavte dočasné pravidlo brány firewall, které bude blokovat přístup k IP adrese /hana/shared systému souborů NFS spuštěním následujícího příkazu na jednom z primárních virtuálních počítačů lokality replikace systému HANA.

    V tomto příkladu se příkaz spustil na svazku hana-s1-db1 pro svazek /hana/sharedAzure NetApp Files .

    iptables -A INPUT -s 10.23.1.7 -j DROP; iptables -A OUTPUT -d 10.23.1.7 -j DROP
    

    Prostředky clusteru budou migrovány do jiné lokality replikace systému HANA.

    Pokud nastavíte AUTOMATED_REGISTER="false", budete muset nakonfigurovat replikaci systému SAP HANA v sekundární lokalitě. V takovém případě můžete tyto příkazy spustit a překonfigurovat SAP HANA jako sekundární.

    # Execute on the secondary 
    su - hn1adm
    # Make sure HANA is not running on the secondary site. If it is started, stop HANA
    sapcontrol -nr 03 -function StopWait 600 10
    # Register the HANA secondary site
    hdbnsutil -sr_register --name=HANA_S1 --remoteHost=hana-s2-db1 --remoteInstance=03 --replicationMode=sync
    # Switch back to root and cleanup failed resources
    crm resource cleanup SAPHana_HN1_HDB03
    

    Stav prostředků po testu:

    # Output of crm_mon
    #7 nodes configured
    #24 resource instances configured
    #
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #
    #Active resources:
    #
    #stonith-sbd     (stonith:external/sbd): Started hana-s-mm
    # Clone Set: cln_fs_HN1_HDB03_fscheck [fs_HN1_HDB03_fscheck]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
    #     Masters: [ hana-s2-db1 ]
    #     Slaves: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db2 hana-s2-db3 ]
    # Resource Group: g_ip_HN1_HDB03
    #     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hana-s2-db1
    #     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hana-s2-db1
    

Další kroky