Vysoká dostupnost systému SAP HANA se škálováním na více systémů v Red Hat Enterprise Linuxu

Tento článek popisuje, jak nasadit vysoce dostupný systém SAP HANA v konfiguraci se škálováním na více systémů. Konfigurace konkrétně používá replikaci systému HANA (HSR) a Pacemaker na virtuálních počítačích Azure Red Hat Enterprise Linux. 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 příkladu konfigurace a instalačních příkazů je 03 instance HANA a ID systému HANA je HN1.

Požadavky

Někteří čtenáři budou mít před pokračováním v tématech v tomto článku výhody z celé řady poznámek a zdrojů SAP:

Přehled

Pokud chcete dosáhnout vysoké dostupnosti HANA pro instalace s horizontálním navýšením kapacity HANA, můžete nakonfigurovat replikaci systému HANA a chránit řešení pomocí clusteru Pacemaker, aby bylo možné 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.

V následujícím diagramu jsou na každé lokalitě tři uzly HANA a uzel tvůrce většiny, který brání scénáři "rozděleného 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.

Diagram of SAP HANA scale-out with HSR and Pacemaker cluster.

Předchozí diagram znázorňuje tři podsítě reprezentované v rámci jedné virtuální sítě Azure podle doporučení sítě SAP HANA:

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

Vzhledem k tomu, že /hana/data jsou /hana/log nasazené na místních discích, není nutné nasazovat samostatnou podsíť 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.

Nastavení 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 tuto konfiguraci 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ěly být certifikované systémem SAP for HANA, jak je publikováno v hardwarovém adresáři SAP HANA. Při nasazování uzlů databáze HANA nezapomeňte vybrat akcelerovanou 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í a 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 tomto článku se podíváme na automaticky generovaná primární síťová rozhraní jako hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client atd. Tato síťová rozhraní jsou připojená k client podsíti virtuální sítě Azure.

    Důležité

    Ujistěte se, že je vybraný operační systém certifikovaný 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čů SAP HANA a vydaných verzí operačního systému pro tyto typy najdete v tématu Platformy IaaS s certifikací SAP HANA. Přejděte k podrobnostem o uvedeném typu virtuálního počítače a získejte úplný seznam vydaných verzí operačního systému podporovaného sap HANA pro tento typ.

  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.
  5. Pokud chcete povolit akcelerované síťové rozhraní pro další síťová rozhraní a hsrinter podsítě, udělejte toto:

    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. Spusťte virtuální počítače 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.

Důležité

Plovoucí IP adresa není podporovaná v konfiguraci sekundární IP adresy síťové karty ve scénářích vyrovnávání zatížení. Podrobnosti najdete v tématu Omezení služby Azure Load Balancer. Pokud potřebujete další IP adresu pro virtuální počítač, nasaďte druhou síťovou kartu.

Poznámka:

Pokud používáte nástroj pro vyrovnávání zatížení úrovně Standard, měli byste vědět o následujících omezeních. Při umístění virtuálních počítačů bez veřejných IP adres do back-endového fondu interního nástroje pro vyrovnávání zatížení neexistuje žádné odchozí připojení k internetu. Pokud chcete povolit směrování na veřejné koncové body, musíte provést další konfiguraci. Další informace 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.

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 potřebujete samostatný /hana/shared svazek. Další informace najdete v tématu Nastavení infrastruktury Azure NetApp Files.

V tomto příkladu použijete 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.
  • [AH]: Platí pro všechny uzly DATABÁZE HANA.
  • [M]: Platí 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 následujícím způsobem:

  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 jsou přidány /etc/hosts následující položky.

    # Client subnet
    10.23.0.11 hana-s1-db1
    10.23.0.12 hana-s1-db1
    10.23.0.13 hana-s1-db2
    10.23.0.14 hana-s2-db1
    10.23.0.15 hana-s2-db2
    10.23.0.16 hana-s2-db3
    10.23.0.17 hana-s-mm
    # Internode subnet
    10.23.1.138 hana-s1-db1-inter
    10.23.1.139 hana-s1-db2-inter
    10.23.1.140 hana-s1-db3-inter
    10.23.1.141 hana-s2-db1-inter
    10.23.1.142 hana-s2-db2-inter
    10.23.1.143 hana-s2-db3-inter
    # HSR subnet
    10.23.1.202 hana-s1-db1-hsr
    10.23.1.203 hana-s1-db2-hsr
    10.23.1.204 hana-s1-db3-hsr
    10.23.1.205 hana-s2-db1-hsr
    10.23.1.206 hana-s2-db2-hsr
    10.23.1.207 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 sysctl souborech, aby agent hostitele SAP mohl spravovat rozsahy portů. Další podrobnosti najdete v 2382421 poznámky SAP.

  3. [A] Nainstalujte balíček klienta systému souborů NFS.

    yum install nfs-utils
    
  4. [AH] Konfigurace Red Hatu pro HANA

    Nakonfigurujte RHEL, jak je popsáno na zákaznickém portálu Red Hat a v následujících poznámkách SAP:

Příprava systémů souborů

Následující části obsahují kroky pro přípravu systémů souborů. Rozhodli jste se nasadit /hana/shared 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 – linuxové jádro Nastavení 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 – linuxové jádro Nastavení 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: defaultv4iddomain.com. Ujistěte se, že je mapování nastavené na nobodyhodnotu .
    (Tento krok je potřeba jenom v případě, že používáte Azure NetAppFiles NFS verze 4.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 a serverem NFS, zobrazí se oprávnění pro soubory ve 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ělo by být nastaveno na Yhodnotu . 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.9.0.4:/HN1-shared /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
    

    Další informace o tom, jak změnit nfs4_disable_idmapping parametr, najdete na zákaznickém portálu Red Hat.

  6. [AH1] Připojte sdílené svazky Azure NetApp Files na virtuálních počítačích DATABÁZE SITE1 HANA.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s1 /hana/shared
    
  7. [AH2] Připojte sdílené svazky Azure NetApp Files na virtuálních počítačích DATABÁZE SITE2 HANA.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s2 /hana/shared
    
  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.

    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.11,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.14,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 zobrazené konfiguraci nasadíte systémy /hana/data souborů a /hana/log na spravovaný disk a tyto systémy souborů připojíte místně ke každému virtuálnímu počítači DATABÁZE HANA. Spuštěním následujícího postupu vytvořte místní data a svazky 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 a že se tyto disky 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 pruhovaný svazek pro lepší výkon vstupně-výstupních operací. Zarovnejte velikosti pruhů s hodnotami zdokumentovanými 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 článku se pro datový svazek používají dva fyzické svazky, takže -i je argument přepínače nastavený na 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 nemusíte používat explicitní -i ani -I přepínače.

    Důležité

    -i Použijte přepínač a nastavte ho na počet podkladových fyzických svazků, pokud pro každou data nebo svazek 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
    

Instalace

V tomto příkladu pro nasazení SAP HANA v konfiguraci se škálováním na více instancí pomocí HSR na virtuálních počítačích Azure používáte HANA 2.0 SP4.

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. Spuštěním příkazu passwd Spustit jako root nastavíte heslo.

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

    chmod 775 /hana/shared
    
  3. [1] Ověřte, že se můžete přihlásit k hana-s1-db2 a hana-s1-db3 přes secure shell (SSH), aniž byste museli vyzváni k zadání hesla. Pokud tomu tak není, vyměňte ssh klíče, jak je uvedeno v tématu Použití ověřování založeného na klíči.

    ssh root@hana-s1-db2
    ssh root@hana-s1-db3
    
  4. [2] Ověřte, že se můžete přihlásit k hana-s2-db2 a hana-s2-db3 přes SSH bez výzvy k zadání hesla. Pokud tomu tak není, vyměňte ssh klíče, jak je uvedeno v tématu Použití ověřování založeného na klíči.

    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. Další informace najdete v tématu SAP Note 2593824 pro RHEL 7.

    # If using RHEL 7
    yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1
    # If using RHEL 8
    yum install libatomic libtool-ltdl.x86_64
    
  6. [A] Dočasně zakažte bránu firewall, aby nenarušovala instalaci HANA. Po dokončení instalace HANA ji můžete znovu povolit.

    # Execute as root
    systemctl stop firewalld
    systemctl disable firewalld
    

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. Následující pokyny ukazují instalaci SAP HANA na prvním uzlu na webu SITE 1.

    1. hdblcm Spusťte program 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
      
    2. 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.
      • Pro instalační cestu stiskněte Enter (výchozí hodnota je /hana/shared).
      • Pro místní název hostitele potvrďte stisknutím klávesy Enter výchozí hodnotu.
      • Do pole Chcete přidat hostitele do systému?, zadejte n.
      • Jako ID systému SAP HANA zadejte HN1.
      • Jako číslo instance [00] zadejte 03.
      • Pro místní skupinu pracovních procesů hostitele [výchozí] potvrďte výchozí stisknutím klávesy Enter.
      • 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] potvrďte výchozí stisknutím klávesy Enter.
      • Pro umístění svazků protokolů [/hana/log/HN1] potvrďte výchozí stisknutím klávesy Enter.
      • Chcete-li omezit maximální přidělení paměti? [n], zadejte n.
      • Jako název hostitele certifikátu pro hostitele hana-s1-db1 [hana-s1-db1] potvrďte výchozí stisknutím klávesy Enter.
      • Jako heslo uživatele (sapadm) agenta hostitele SAP zadejte heslo.
      • Pro potvrzení hesla uživatele (sapadm) agenta HOSTITELE SAP zadejte heslo.
      • Do pole System Správa istrator (hn1adm) Password (hn1adm) zadejte heslo.
      • V případě systému Správa istrator Home Directory [/usr/sap/HN1/home] potvrďte výchozí stisknutím klávesy Enter.
      • V případě systémového Správa istrator Login Shell [/bin/sh] přijměte výchozí nastavení stisknutím klávesy Enter.
      • V případě systémového Správa istratoru ID uživatele [1001] přijměte výchozí nastavení stisknutím klávesy Enter.
      • Pokud chcete zadat ID skupiny uživatelů (sapsys) [79], potvrďte výchozí stisknutím klávesy Enter.
      • Jako heslo uživatele systémové databáze (systém) zadejte heslo systému.
      • Pokud chcete potvrdit heslo 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.
      • Chcete-li pokračovat (y/n), ověřte souhrn a pokud vše vypadá dobře, zadejte y.
  2. [2] Opakováním předchozího kroku nainstalujte SAP HANA na první uzel v lokalitě SITE 2.

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

    Zobrazte global.ini a ujistěte se, že je zavedená konfigurace interní komunikace mezi uzlu SAP HANA. communication Ověřte oddíl. Měl by mít adresní prostor pro inter podsíť a listeninterface měl by být nastavený na .internalhodnotu . internal_hostname_resolution Ověřte oddíl. 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.138 = hana-s1-db1
      10.23.1.139 = hana-s1-db2
      10.23.1.140 = hana-s1-db3
    
  4. [1,2] Připravte global.ini pro 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í používá 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.14"
    

    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.

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

       cd /hana/shared/HN1/hdblcm
       ./hdblcm 
      
    2. Na příkazovém řádku zadejte následující hodnoty:

      • Pro volbu akce zadejte 2 (pro přidání hostitelů).
      • Do pole Zadejte názvy hostitelů oddělené čárkami, které chcete přidat, zadejte 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] stiskněte Enter a přijměte výchozí nastavení.
      • V části Vybrat role pro hostitele hana-s1-db2 [1] vyberte 1 (pro pracovní proces).
      • Pokud chcete zadat skupinu převzetí služeb při selhání hostitele pro hostitele hana-s1-db2 [výchozí], potvrďte výchozí stisknutím klávesy Enter.
      • Pokud chcete zadat číslo oddílu úložiště pro hostitele hana-s1-db2 [<<přiřadit automaticky>>], přijměte výchozí nastavení stisknutím klávesy Enter.
      • 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] vyberte 1 (pro pracovní proces).
      • Pokud chcete zadat skupinu převzetí služeb při selhání hostitele pro hostitele hana-s1-db3 [výchozí], přijměte výchozí nastavení stisknutím klávesy Enter.
      • Pokud chcete zadat číslo oddílu úložiště pro hostitele hana-s1-db3 [<<přiřadit automaticky>>], přijměte výchozí nastavení stisknutím klávesy Enter.
      • Pro enter Worker Group for host 'hana-s1-db3' [default], stisknutím klávesy Enter přijměte výchozí hodnotu.
      • Do pole System Správa istrator (hn1adm) Password (hn1adm) zadejte heslo.
      • Pro zadání hesla uživatele (sapadm) agenta SAP zadejte heslo.
      • Pro potvrzení hesla uživatele (sapadm) agenta HOSTITELE SAP zadejte heslo.
      • Jako název hostitele certifikátu pro hostitele hana-s1-db2 [hana-s1-db2] potvrďte výchozí stisknutím klávesy Enter.
      • Jako název hostitele certifikátu pro hostitele hana-s1-db3 [hana-s1-db3] potvrďte výchozí stisknutím klávesy Enter.
      • Chcete-li pokračovat (y/n), ověřte souhrn a pokud vše vypadá dobře, zadejte 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

Následující kroky vám pomůžou nastavit replikaci systému:

  1. [1] Konfigurace replikace systému v lokalitě SITE 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ě SITE 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] 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 přes síťová rozhraní replikace systému HANA.

    1. Zastavte HANA na obou webech.

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
      
    2. 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.202 = hana-s1-db1
      10.23.1.203 = hana-s1-db2
      10.23.1.204 = hana-s1-db3
      10.23.1.205 = hana-s2-db1
      10.23.1.206 = hana-s2-db2
      10.23.1.207 = hana-s2-db3
      
    3. Spusťte 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.

  5. [AH] Znovu povolte bránu firewall a otevřete potřebné porty.

    1. Znovu povolte bránu firewall.

      # Execute as root
      systemctl start firewalld
      systemctl enable firewalld
      
    2. Otevřete potřebné porty brány firewall. Budete muset upravit porty pro číslo instance HANA.

      Důležité

      Vytvořte pravidla brány firewall, která povolí komunikaci mezi uzlu HANA a klientský provoz. Požadované porty jsou uvedené na portech TCP/IP všech produktů SAP. Následující příkazy jsou jen příkladem. V tomto scénáři použijete systémové číslo 03.

       # Execute as root
       sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp --permanent
       sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp
      

Vytvoření clusteru Pacemaker

Pokud chcete vytvořit základní cluster Pacemaker, postupujte podle kroků v nastavení Pacemakeru v Red Hat Enterprise Linuxu v Azure. 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. Nejedná se o cluster se dvěma uzly. Ujistěte se, že je povolená vlastnost concurrent-fencing clusteru, aby bylo ohraničení uzlu deserializováno.

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

Pro další část tohoto procesu musíte vytvořit prostředky systému souborů. Postupujte následovně:

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

    sapcontrol -nr 03 -function StopSystem
    
  2. [AH] Odpojte systém /hana/sharedsouborů, který byl dočasně připojen pro instalaci na všech virtuálních počítačích DATABÁZE HANA. Než ho budete moct odpojit, musíte zastavit všechny procesy a relace, které používají systém souborů.

    umount /hana/shared 
    
  3. [1] Vytvořte prostředky clusteru systému souborů v /hana/shared zakázaném stavu. Používáte --disabled , protože před povolením připojení musíte definovat omezení umístění.
    Rozhodli jste se nasadit /hana/shared ve sdílené složce NFS ve službě Azure Files nebo na svazku NFS ve službě Azure NetApp Files.

    • V tomto příkladu je systém souborů /hana/shared 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.

      # /hana/shared file system for site 1
      pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1  directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # /hana/shared file system for site 2
      pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1 directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # clone the /hana/shared file system resources for both site1 and site2
      pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true
      pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
      
      

    Navrhované hodnoty časového limitu umožňují prostředkům clusteru odolat pozastavení specifickému pro protokol, které se týkají obnovení zapůjčení NFSv4.1 ve službě Azure NetApp Files. Další informace naleznete v tématu Nfs v osvědčených postupech NetApp.

    • V tomto příkladu je systém souborů /hana/shared nasazený v 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.

      # /hana/shared file system for site 1
      pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1  directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # /hana/shared file system for site 2
      pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # clone the /hana/shared file system resources for both site1 and site2
      pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true
      pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
      

      Atribut OCF_CHECK_LEVEL=20 se přidá 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ý.

      Atribut on-fail=fence 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. Bez této možnosti je výchozím chováním zastavit všechny prostředky, které závisí na neúspěšném prostředku, poté restartovat prostředek, který selhal, a pak spustit všechny prostředky, které závisí na prostředku, který selhal. Toto chování může trvat nejen dlouho, když prostředek SAP HANA závisí na neúspěšném prostředku, ale může také úplně selhat. Prostředek SAP HANA se nemůže úspěšně zastavit, pokud je sdílená složka NFS s binárními soubory HANA nepřístupná.

      Vypršení časových limitů ve výše uvedených konfiguracích může být potřeba přizpůsobit konkrétnímu nastavení SAP.

  4. [1] Nakonfigurujte a ověřte atributy uzlu. Všechny uzly DATABÁZE SAP HANA v lokalitě replikace 1 mají přiřazený atribut S1a všechny uzly DATABÁZE SAP HANA v lokalitě replikace 2 jsou přiřazené atributem S2.

    # HANA replication site 1
    pcs node attribute hana-s1-db1 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db2 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db3 NFS_SID_SITE=S1
    # HANA replication site 2
    pcs node attribute hana-s2-db1 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db2 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db3 NFS_SID_SITE=S2
    # To verify the attribute assignment to nodes execute
    pcs node attribute
    
  5. [1] Nakonfigurujte omezení, která určují, kde budou připojené systémy souborů NFS, a povolte prostředky systému souborů.

    # Configure the constraints
    pcs constraint location fs_hana_shared_s1-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S1
    pcs constraint location fs_hana_shared_s2-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S2
    # Enable the file system resources
    pcs resource enable fs_hana_shared_s1
    pcs resource enable fs_hana_shared_s2
    

    Když povolíte prostředky systému souborů, cluster připojí /hana/shared systémy souborů.

  6. [AH] Ověřte, že jsou svazky Azure NetApp Files připojené pod /hana/shared, na všech virtuálních počítačích DATABÁZE HANA na obou lokalitách.

    • Pokud například používáte Azure NetApp Files:

      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.11,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.14,local_lock=none,addr=10.23.1.7
      
    • Pokud například používáte službu Azure Files NFS:

      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
      
  7. [1] Nakonfigurujte a naklonujte prostředky atributů a nakonfigurujte omezení následujícím způsobem:

    # Configure the attribute resources
    pcs resource create hana_nfs_s1_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s1_active
    pcs resource create hana_nfs_s2_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s2_active
    # Clone the attribute resources
    pcs resource clone hana_nfs_s1_active meta clone-node-max=1 interleave=true
    pcs resource clone hana_nfs_s2_active meta clone-node-max=1 interleave=true
    # Configure the constraints, which will set the attribute values
    pcs constraint order fs_hana_shared_s1-clone then hana_nfs_s1_active-clone
    pcs constraint order fs_hana_shared_s2-clone then hana_nfs_s2_active-clone
    

    Tip

    Pokud vaše konfigurace zahrnuje jiné systémy souborů než /hana/shared, a tyto systémy souborů jsou připojené k systému souborů NFS, uveďte možnost sequential=false . Tato možnost zajišťuje, že mezi systémy souborů nejsou žádné závislosti řazení. Všechny připojené systémy souborů NFS se musí spouštět před odpovídajícím prostředkem atributu, ale nemusí se spouštět v žádném pořadí vzhledem k sobě. Další informace najdete v tématu Návody konfigurace modulu HSR se škálováním na více systémů SAP HANA v clusteru Pacemaker, když jsou sdílené složky NFS.

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

    pcs property set maintenance-mode=true
    

Vytvoření prostředků clusteru SAP HANA

Teď jste připraveni vytvořit prostředky clusteru:

  1. [A] Nainstalujte agenta prostředků HANA se škálováním na více instancí na všechny uzly clusteru, včetně tvůrce většiny.

    yum install -y resource-agents-sap-hana-scaleout 
    

    Poznámka:

    Minimální podporovanou verzi balíčku resource-agents-sap-hana-scaleout pro vaši verzi operačního systému najdete v tématu Zásady podpory pro clustery RHEL HA – Správa SAP HANA v clusteru .

  2. [1,2] Nainstalujte systémovou replikaci HANA na jeden uzel DATABÁZE HANA v každé lokalitě replikace systému. SAP HANA by stále měla být dole.

    1. Připravte háček jako root.

      mkdir -p /hana/shared/myHooks
      cp /usr/share/SAPHanaSR-ScaleOut/SAPHanaSR.py /hana/shared/myHooks
      chown -R hn1adm:sapsys /hana/shared/myHooks
      
    2. upravte global.ini.

      # add to global.ini
      [ha_dr_provider_SAPHanaSR]
      provider = SAPHanaSR
      path = /hana/shared/myHooks
      execution_order = 1
      
      [trace]
      ha_dr_saphanasr = info
      
  3. [AH] Cluster vyžaduje konfiguraci sudoers na uzlu clusteru pro <sid>adm. V tomto příkladu toho dosáhnete vytvořením nového souboru. Spusťte příkazy jako root.

    sudo visudo -f /etc/sudoers.d/20-saphana
    # Insert the following lines and then save
    Cmnd_Alias SOK = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SFAIL = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SFAIL -t crm_config -s SAPHanaSR
    hn1adm ALL=(ALL) NOPASSWD: SOK, SFAIL
    Defaults!SOK, SFAIL !requiretty
    
  4. [1,2] Spusťte SAP HANA v obou replikačních lokalitách. Spustit jako <sid>adm.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [1] Ověřte instalaci háku. Spustit jako <sid>adm v aktivní lokalitě replikace systému HANA.

    cdtrace
     awk '/ha_dr_SAPHanaSR.*crm_attribute/ \
     { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_*
    
     # Example entries
     # 2020-07-21 22:04:32.364379 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:46.905661 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.092016 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.782774 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:53.117492 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:06:35.599324 ha_dr_SAPHanaSR SOK
    
  6. [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.
      Pokud vytváříte cluster RHEL 7.x , použijte následující příkazy:

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopologyScaleOut \
       SID=HN1 InstanceNumber=03 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      

      Pokud vytváříte cluster RHEL >= 8.x , použijte následující příkazy:

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopology \
       SID=HN1 InstanceNumber=03 meta clone-node-max=1 interleave=true \
       op methods interval=0s timeout=5 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      
    3. Vytvořte prostředek instance HANA.

      Poznámka:

      Tento článek obsahuje odkazy na termín, který už Microsoft nepoužívá. Až bude tento termín ze softwaru odstraněn, odstraníme ho i z tohoto článku.

      Pokud vytváříte cluster RHEL 7.x , použijte následující příkazy:

      pcs resource create SAPHana_HN1_HDB03 SAPHanaController \
       SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
       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
      
      pcs resource master msl_SAPHana_HN1_HDB03 SAPHana_HN1_HDB03 \
       meta master-max="1" clone-node-max=1 interleave=true
      

      Pokud vytváříte cluster RHEL >= 8.x , použijte následující příkazy:

      pcs resource create SAPHana_HN1_HDB03 SAPHanaController \
       SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
       op demote interval=0s timeout=320 op methods interval=0s timeout=5 \
       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
      
      pcs resource promotable SAPHana_HN1_HDB03 \
       meta master-max="1" clone-node-max=1 interleave=true
      

      Důležité

      Při provádění testů převzetí služeb při selhání je vhodné nastavit AUTOMATED_REGISTERfalse, aby se primární instance, která selhala, automaticky zaregistrovala jako sekundární. Po otestování se jako osvědčený postup nastaví AUTOMATED_REGISTER na truehodnotu , aby se po převzetí replikace systému mohly obnovit automaticky.

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

      pcs resource create vip_HN1_03 ocf:heartbeat:IPaddr2 ip=10.23.0.18 op monitor interval="10s" timeout="20s"
      sudo pcs resource create nc_HN1_03 azure-lb port=62503
      sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03
      
    5. Vytvořte omezení clusteru.

      Pokud vytváříte cluster RHEL 7.x , použijte následující příkazy:

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then msl_SAPHana_HN1_HDB03
      
      pcs constraint colocation add g_ip_HN1_03 with master msl_SAPHana_HN1_HDB03 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      

      Pokud vytváříte cluster RHEL >= 8.x , použijte následující příkazy:

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then SAPHana_HN1_HDB03-clone
      
      pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_HDB03-clone 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      
  7. [1] Umístěte cluster mimo režim údržby. Ujistěte se, že je okstav clusteru a že jsou spuštěné všechny prostředky.

    sudo pcs property set maintenance-mode=false
    #If there are failed cluster resources, you may need to run the next command
    pcs resource cleanup
    

    Poznámka:

    Časové limity v předchozí konfiguraci jsou jenom 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í.

Konfigurace replikace systému s podporou aktivní/čtení hana

Od SAP HANA 2.0 SPS 01 umožňuje SAP nastavení pro replikaci systému SAP HANA s podporou aktivního a čtení. Díky této funkci můžete pro úlohy náročné na čtení aktivně používat sekundární systémy replikace systému SAP HANA. K podpoře takového nastavení v clusteru potřebujete druhou virtuální IP adresu, která klientům umožňuje přístup k sekundární databázi SAP HANA s podporou čtení. Aby se zajistilo, že sekundární replikační lokalita bude po převzetí stále přístupná, cluster musí přesunout virtuální IP adresu kolem sekundárního prostředku SAP HANA.

Tato část popisuje další kroky, které musíte provést při správě tohoto typu replikace systému v clusteru s vysokou dostupností Red Hatu s druhou virtuální IP adresou.

Než budete pokračovat, ujistěte se, že jste plně nakonfigurovali cluster s vysokou dostupností Red Hatu, který spravuje databázi SAP HANA, jak je popsáno výše v tomto článku.

SAP HANA scale-out high availability with read-enabled secondary

Další nastavení v Azure Load Balanceru pro aktivní/čtení s povoleným nastavením

Pokud chcete pokračovat ve zřizování druhé virtuální IP adresy, ujistěte se, že jste nakonfigurovali Azure Load Balancer, jak je popsáno v tématu Konfigurace Azure Load Balanceru.

Pro nástroj pro vyrovnávání zatížení úrovně Standard postupujte podle těchto dalších kroků ve stejném nástroji pro vyrovnávání zatížení, který jste vytvořili v předchozí části.

  1. Vytvořte druhý front-endový fond IP adres:

    1. Otevřete nástroj pro vyrovnávání zatížení, vyberte front-endový fond IP adres a vyberte Přidat.
    2. Zadejte název druhého front-endového fondu IP adres (například hana-secondaryIP).
    3. Nastavte přiřazení na Static a zadejte IP adresu (například 10.23.0.19).
    4. Vyberte OK.
    5. Po vytvoření nového front-endového fondu IP adres si poznamenejte IP adresu fondu.
  2. Dále vytvořte sondu stavu:

    1. Otevřete nástroj pro vyrovnávání zatížení, vyberte sondy stavu a vyberte Přidat.
    2. Zadejte název nové sondy stavu (například hana-secondaryhp).
    3. Jako protokol a port 62603 vyberte tcp. Ponechte hodnotu Interval nastavenou na 5 a prahová hodnota není v pořádku nastavená na hodnotu 2.
    4. Vyberte OK.
  3. Dále vytvořte pravidla vyrovnávání zatížení:

    1. Otevřete nástroj pro vyrovnávání zatížení, vyberte pravidla vyrovnávání zatížení a vyberte Přidat.
    2. Zadejte název nového pravidla nástroje pro vyrovnávání zatížení (například hana-secondarylb).
    3. Vyberte front-endovou IP adresu, back-endový fond a sondu stavu, kterou jste vytvořili dříve (například hana-secondaryIP, hana-backend a hana-secondaryhp).
    4. Vyberte porty vysoké dostupnosti.
    5. Nezapomeňte povolit plovoucí IP adresu.
    6. Vyberte OK.

Konfigurace replikace systému s podporou aktivní/čtení hana

Postup konfigurace systémové replikace HANA je popsaný v části Konfigurace systémové replikace SAP HANA 2.0. Pokud nasazujete sekundární scénář s podporou čtení, zatímco konfigurujete replikaci systému na druhém uzlu, spusťte následující příkaz jako hanasidadm:

sapcontrol -nr 03 -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2 --operationMode=logreplay_readaccess 

Přidání sekundárního prostředku virtuální IP adresy pro nastavení s podporou aktivního nebo čtení

Druhou virtuální IP adresu a další omezení můžete nakonfigurovat pomocí následujících příkazů. Pokud je sekundární instance vypnutá, sekundární virtuální IP adresa se přepne na primární.

pcs property set maintenance-mode=true

pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.23.0.19"
pcs resource create secnc_HN1_03 ocf:heartbeat:azure-lb port=62603
pcs resource group add g_secip_HN1_03 secnc_HN1_03 secvip_HN1_03

# RHEL 8.x: 
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50  hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote  SAPHana_HN1_HDB03-clone then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave SAPHana_HN1_HDB03-clone 5

# RHEL 7.x:
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50  hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote  msl_SAPHana_HN1_HDB03 then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave msl_SAPHana_HN1_HDB03 5

pcs property set maintenance-mode=false

Ujistěte se, že je okstav clusteru a že jsou spuštěné všechny prostředky. Druhá virtuální IP adresa se spustí v sekundární lokalitě spolu se sekundárním prostředkem SAP HANA.

# Example output from crm_mon
#Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#
#Active resources:
#
#rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
#Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
#    Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
#    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
#    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
#    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: SAPHanaTopology_HN1_HDB03-clone [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 [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_03
#    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
#    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
#Resource Group: g_secip_HN1_03
#    secnc_HN1_03       (ocf::heartbeat:azure-lb):      Started hana-s2-db1
#    secvip_HN1_03      (ocf::heartbeat:IPaddr2):       Started hana-s2-db1

V další části najdete typickou sadu testů převzetí služeb při selhání, které se mají spustit.

Při testování clusteru HANA nakonfigurovaného se sekundárním serverem s povoleným čtením mějte na paměti následující chování druhé virtuální IP adresy:

  • Když se prostředek clusteru SAPHana_HN1_HDB03 přesune do sekundární lokality (S2), druhá virtuální IP adresa se přesune do druhé lokality hana-s1-db1. Pokud jste nakonfigurovali AUTOMATED_REGISTER="false"a replikace systému HANA není zaregistrovaná automaticky, druhá virtuální IP adresa se spustí na hana-s2-db1.

  • Když testujete chybové ukončení serveru, druhý virtuální IP prostředek (secvip_HN1_03) a prostředek portu Azure Load Balanceru (secnc_HN1_03) běží na primárním serveru společně s primárními prostředky virtuálníCH IP adres. Zatímco sekundární server je mimo provoz, aplikace připojené k databázi HANA s podporou čtení se připojí k primární databázi HANA. Toto chování se očekává. Umožňuje aplikacím připojeným k databázi HANA s podporou čtení pracovat, když sekundární server není k dispozici.

  • Během převzetí služeb při selhání a náhradního převzetí služeb při selhání může dojít k přerušení stávajících připojení pro aplikace, které používají druhou virtuální IP adresu pro připojení k databázi HANA.

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

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

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

      #Verify that there are no failed cluster actions
      pcs status
      # Example
      #Stack: corosync
      #Current DC: hana-s-mm (version 1.1.19-8.el7_6.5-c3c624ea3d) - partition with quorum
      #Last updated: Thu Sep 24 06:00:20 2020
      #Last change: Thu Sep 24 05:59:17 2020 by root via crm_attribute on hana-s1-db1
      #
      #7 nodes configured
      #45 resources 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:
      #
      #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
      #Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
      #    Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
      #Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
      #    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
      #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
      #Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
      #    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Clone Set: SAPHanaTopology_HN1_HDB03-clone [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 [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_03
      #    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
      #    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
      
    2. Ověřte, že je 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 |
      #| -------- | ----------- | ----- | ------------ | --------- | ------- | --------- | ------------- | -------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
      #| HN1      | hana-s1-db3 | 30303 | indexserver  |         5 |       2 | HANA_S1   | hana-s2-db3 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db2 | 30303 | indexserver  |         4 |       2 | HANA_S1   | hana-s2-db2 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |  
      #| SYSTEMDB | hana-s1-db1 | 30301 | nameserver   |         1 |       2 | HANA_S1   | hana-s2-db1 |     30301  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30307 | xsengine     |         2 |       2 | HANA_S1   | hana-s2-db1 |     30307  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30303 | indexserver  |         3 |       2 | HANA_S1   | hana-s2-db1 |     30303  |         1 | 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. 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 na /hana/shareda 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 pcs status. Stav prostředku před zahájením testu:

    # Output of crm_mon
    #7 nodes configured
    #45 resources 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:
    
    #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
    # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
    #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: SAPHanaTopology_HN1_HDB03-clone [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 [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_03
    #     nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
    #     vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
    

    Simulace selhání pro /hana/shared:

    • Pokud používáte systém souborů NFS v ANF, nejprve potvrďte IP adresu svazku /hana/shared ANF v 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 hana-s1-db1 pro svazek /hana/sharedANF .

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

    Virtuální počítač HANA, ke kterému se ztratil přístup /hana/shared , by se měl restartovat nebo zastavit v závislosti na konfiguraci clusteru. Prostředky clusteru se migrují do jiné lokality replikace systému HANA.

    Pokud se cluster nespustí na restartování virtuálního počítače, spusťte cluster spuštěním následujícího příkazu:

    # Start the cluster 
    pcs cluster start
    

    Po spuštění clusteru se systém /hana/shared souborů automaticky připojí. 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 clean up failed resources
    pcs resource cleanup SAPHana_HN1_HDB03
    

    Stav prostředků po testu:

    # Output of crm_mon
    #7 nodes configured
    #45 resources 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:
    
    #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
    # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
    #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: SAPHanaTopology_HN1_HDB03-clone [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 [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_03
    #     nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s2-db1
    #     vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s2-db1
    

Je vhodné důkladně otestovat konfiguraci clusteru SAP HANA také provedením testů zdokumentovaných v ha pro SAP HANA na virtuálních počítačích Azure na RHEL.

Další kroky