Vysoká dostupnost vertikálního navýšení kapacity SAP HANA s využitím služby Azure NetApp Files v SUSE Enterprise Linuxu

Tento článek popisuje, jak nakonfigurovat replikaci systému SAP HANA v nasazení vertikálního navýšení kapacity, když jsou systémy souborů HANA připojené přes systém souborů NFS pomocí Služby Azure NetApp Files. V ukázkových konfiguracích a instalačních příkazech se používají čísla instance 03 a ID systému HANA HN1. Replikace SAP HANA se skládá z jednoho primárního uzlu a nejméně jednoho sekundárního uzlu.

Pokud jsou kroky v tomto dokumentu označené následujícími předponami, znamenají:

  • [A]: Tento krok platí pro všechny uzly.
  • [1]: Krok se vztahuje pouze na uzel 1.
  • [2]: Krok se vztahuje pouze na uzel 2.

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

Poznámka:

Tento článek obsahuje odkazy na termín, který už Microsoft nepoužívá. Když se termín odebere ze softwaru, odebereme ho z tohoto článku.

Přehled

Tradičně se ve škálovacím prostředí připojují všechny systémy souborů pro SAP HANA z místního úložiště. Nastavení vysoké dostupnosti systémové replikace SAP HANA v SUSE Enterprise Linuxu se publikuje v části Nastavení systémové replikace SAP HANA na SLES.

Abychom dosáhli vysoké dostupnosti SAP HANA systému vertikálního navýšení kapacity ve sdílených složkách NFS služby Azure NetApp Files, potřebujeme v clusteru další konfiguraci prostředků. Tato konfigurace je nutná, aby se prostředky HANA mohly obnovit, když jeden uzel ztratí přístup ke sdíleným složkám NFS ve službě Azure NetApp Files.

Diagram znázorňující vertikální navýšení kapacity SAP HANA ve službě Azure NetApp Files

Systémy souborů SAP HANA se připojují ke sdíleným složkám NFS pomocí služby Azure NetApp Files na každém uzlu. Systémy souborů /hana/data, /hana/log a /hana/shared jsou jedinečné pro každý uzel.

Připojeno k uzlu 1 (hanadb1):

  • 10.3.1.4:/hanadb1-data-mnt00001 v /hana/data
  • 10.3.1.4:/hanadb1-log-mnt00001 v /hana/log
  • 10.3.1.4:/hanadb1-shared-mnt00001 v /hana/shared

Připojeno k uzlu 2 (hanadb2):

  • 10.3.1.4:/hanadb2-data-mnt00001 v /hana/data
  • 10.3.1.4:/hanadb2-log-mnt00001 v /hana/log
  • 10.3.1.4:/hanadb2-shared-mnt0001 v /hana/shared

Poznámka:

Systémy souborů /hana/shared, /hana/data a /hana/log se mezi těmito dvěma uzly nesdílí. Každý uzel clusteru má vlastní samostatné systémy souborů.

Konfigurace replikace systému SAP HA HANA používá vyhrazený název virtuálního hostitele a virtuální IP adresy. V Azure se k použití virtuální IP adresy vyžaduje nástroj pro vyrovnávání zatížení. Zobrazená konfigurace ukazuje nástroj pro vyrovnávání zatížení s:

  • IP adresa konfigurace front-endu: 10.3.0.50 pro hn1-db
  • Port sondy: 62503

Nastavení infrastruktury Služby Azure NetApp Files

Než budete pokračovat v nastavování infrastruktury Služby Azure NetApp Files, seznamte se s dokumentací k Azure NetApp Files.

Služba Azure NetApp Files je dostupná v několika oblastech Azure. Zkontrolujte, jestli vybraná oblast Azure nabízí Azure NetApp Files.

Informace o dostupnosti služby Azure NetApp Files podle oblasti Azure najdete v tématu Dostupnost služby Azure NetApp Files podle oblasti Azure.

Důležitá poznámka

Při vytváření služby Azure NetApp Files pro systémy škálování SAP HANA mějte na paměti důležité aspekty popsané ve svazcích NFS verze 4.1 ve službě Azure NetApp Files pro SAP HANA.

Určení velikosti databáze HANA ve službě Azure NetApp Files

Propustnost svazku Azure NetApp Files je funkce velikosti svazku a úrovně služby, jak je uvedeno na úrovni služby pro Azure NetApp Files.

Při návrhu infrastruktury pro SAP HANA v Azure pomocí Služby Azure NetApp Files mějte na paměti doporučení ve svazcích NFS verze 4.1 ve službě Azure NetApp Files pro SAP HANA.

Konfigurace v tomto článku se zobrazí s jednoduchými svazky Azure NetApp Files.

Důležité

V produkčních systémech, kde je výkon klíčový, doporučujeme vyhodnotit a zvážit použití skupiny svazků aplikací Azure NetApp Files pro SAP HANA.

Všechny příkazy pro připojení /hana/sdílené v tomto článku jsou uvedeny pro svazky NFSv4.1 /hana/shared. Pokud jste nasadili svazky /hana/shared jako svazky NFSv3, nezapomeňte upravit příkazy pro připojení pro /hana/shared pro NFSv3.

Nasazení prostředků Azure NetApp Files

Následující pokyny předpokládají, že jste už nasadili virtuální síť Azure. Prostředky Azure NetApp Files a virtuální počítače, ve kterých jsou připojené prostředky Azure NetApp Files, musí být nasazené ve stejné virtuální síti Azure nebo ve virtuálních sítích Azure v partnerském vztahu.

  1. Podle pokynů v části Vytvoření účtu NetApp vytvořte ve vybrané oblasti Azure účet NetApp.

  2. Podle pokynů v tématu Nastavení fondu kapacity Služby Azure NetApp Files nastavte fond kapacity Služby Azure NetApp Files.

    Architektura HANA uvedená v tomto článku používá jeden fond kapacity Azure NetApp Files na úrovni služby Ultra. Pro úlohy HANA v Azure doporučujeme použít úroveň služby Azure NetApp Files Ultra nebo Premium.

  3. Delegujte podsíť do služby Azure NetApp Files, jak je popsáno v pokynech v části Delegování podsítě do služby Azure NetApp Files.

  4. Svazky Azure NetApp Files nasaďte podle pokynů v tématu Vytvoření svazku NFS pro Azure NetApp Files.

    Při nasazování svazků nezapomeňte vybrat verzi NFSv4.1. Nasaďte svazky v určené podsíti Azure NetApp Files. IP adresy svazků Azure NetApp Files se přiřazují automaticky.

    Prostředky Azure NetApp Files a virtuální počítače Azure musí být ve stejné virtuální síti Azure nebo v partnerských virtuálních sítích Azure. Například hanadb1-data-mnt00001, hanadb1-log-mnt00001 atd. jsou názvy svazků a nfs://10.3.1.4/hanadb1-data-mnt00001, nfs://10.3.1.4/hanadb1-log-mnt00001 atd. jsou cesty k souborům svazků Azure NetApp Files.

    Na hanadb1:

    • Volume hanadb1-data-mnt00001 (nfs://10.3.1.4:/hanadb1-data-mnt00001)
    • Volume hanadb1-log-mnt00001 (nfs://10.3.1.4:/hanadb1-log-mnt00001)
    • Volume hanadb1-shared-mnt00001 (nfs://10.3.1.4:/hanadb1-shared-mnt00001)

    Na hanadb2:

    • Volume hanadb2-data-mnt00001 (nfs://10.3.1.4:/hanadb2-data-mnt00001)
    • Volume hanadb2-log-mnt00001 (nfs://10.3.1.4:/hanadb2-log-mnt00001)
    • Volume hanadb2-shared-mnt00001 (nfs://10.3.1.4:/hanadb2-shared-mnt00001)

Příprava infrastruktury

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

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

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

Nasazení virtuálních počítačů pro SAP HANA Zvolte vhodný obrázek SLES, který je podporovaný pro systém HANA. Virtuální počítač můžete nasadit v libovolné z možností dostupnosti: škálovací sada virtuálních počítačů, zóna dostupnosti nebo skupina dostupnosti.

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é plánujete použít ve svém nasazení. V platformách SAP HANA Certified IaaS můžete vyhledat typy virtuálních počítačů certifikovaných pro SAP HANA a jejich vydání operačního systému. Ujistěte se, že se podíváte na podrobnosti o typu virtuálního počítače, abyste získali úplný seznam vydaných verzí operačního systému podporovaných SAP HANA pro konkrétní typ virtuálního počítače.

Konfigurace služby Azure Load Balancer

Během konfigurace virtuálního počítače máte možnost vytvořit nebo vybrat existující nástroj pro vyrovnávání zatížení v části Sítě. Podle dalších kroků nastavte standardní nástroj pro vyrovnávání zatížení pro nastavení vysoké dostupnosti databáze HANA.

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.

Další informace o požadovaných 2388694 portch

Pokud jsou virtuální počítače bez veřejných IP adres umístěny do back-endového fondu interních (bez veřejné IP adresy) Služby Azure Load Balancer úrovně Standard, neexistuje žádné odchozí připojení k internetu, pokud se neprovádí další konfigurace umožňující směrování do veřejných koncových bodů. Další informace 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 využívající Azure Standard Load Balancer ve scénářích s vysokou dostupností SAP.

Důležité

  • Nepovolujte časové razítka TCP na virtuálních počítačích Azure umístěných za Load Balancerem. Povolení časových razítek PROTOKOLU TCP způsobí selhání sond stavu. Nastavte parametr net.ipv4.tcp_timestamps na 0. Další informace najdete v tématu Sondy stavu Load Balanceru a 2382421 SAP Note.
  • Chcete-li zabránit, aby saptune změnil ručně nastavenou net.ipv4.tcp_timestamps hodnotu zpět 0 na 1, aktualizujte verzi saptune na 3.1.1 nebo vyšší. Další informace naleznete v tématu saptune 3.1.1 – Musím aktualizovat?.

Připojení svazku Azure NetApp Files

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

    sudo mkdir -p /hana/data/HN1/mnt00001
    sudo mkdir -p /hana/log/HN1/mnt00001
    sudo mkdir -p /hana/shared/HN1
    
  2. [A] Ověřte nastavení domény NFS. Ujistěte se, že je doména nakonfigurovaná jako výchozí doména Azure NetApp Files, tj . defaultv4iddomain.com a mapování je nastavené na nikoho.

    sudo cat /etc/idmapd.conf
    

    Příklad výstupu:

    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    

    Důležité

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

  3. [A] Upravte /etc/fstab na obou uzlech trvalé připojení svazků relevantních pro každý uzel. Následující příklad ukazuje, jak trvale připojit svazky.

    sudo vi /etc/fstab
    

    Na obou uzlech /etc/fstab přidejte následující položky.

    Příklad pro hanadb1:

    10.3.1.4:/hanadb1-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.3.1.4:/hanadb1-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.3.1.4:/hanadb1-shared-mnt00001 /hana/shared/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    

    Příklad pro hanadb2:

    10.3.1.4:/hanadb2-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.3.1.4:/hanadb2-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.3.1.4:/hanadb2-shared-mnt00001 /hana/shared/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    

    Připojte všechny svazky.

    sudo mount -a
    

    U úloh, které vyžadují vyšší propustnost, zvažte použití nconnect možnosti připojení, jak je popsáno ve svazcích NFS verze 4.1 ve službě Azure NetApp Files pro SAP HANA. Zkontrolujte, jestli nconnect azure NetApp Files ve vaší verzi Linuxu podporuje.

  4. [A] Ověřte, že jsou všechny svazky HANA připojené k protokolu NFS verze NFSv4.

    sudo nfsstat -m
    

    Ověřte, že je příznak vers nastavený na hodnotu 4.1.

    Příklad z hanadb1:

    /hana/log/HN1/mnt00001 from 10.3.1.4:/hanadb1-log-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.3.0.4,local_lock=none,addr=10.3.1.4
    /hana/data/HN1/mnt00001 from 10.3.1.4:/hanadb1-data-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.3.0.4,local_lock=none,addr=10.3.1.4
    /hana/shared/HN1 from 10.3.1.4:/hanadb1-shared-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.3.0.4,local_lock=none,addr=10.3.1.4
    
  5. [A] Ověřte nfs4_disable_idmapping. Měla by být nastavená na Y. Pokud chcete vytvořit adresářovou strukturu, ve které se nachází nfs4_disable_idmapping , spusťte příkaz mount. Adresář nebudete moct vytvořit ručně, /sys/modules protože přístup je vyhrazený pro jádro nebo ovladače.

    #Check nfs4_disable_idmapping
    sudo cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    #If you need to set nfs4_disable_idmapping to Y
    sudo echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    
    #Make the configuration permanent
    sudo echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    

Instalace SAP HANA

  1. [A] Nastavte překlad názvů hostitelů pro všechny hostitele.

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

    sudo vi /etc/hosts
    

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

    10.3.0.4   hanadb1
    10.3.0.5   hanadb2
    
  2. [A] Připravte operační systém pro spouštění SAP HANA v Azure NetApp se systémem souborů NFS, jak je popsáno v tématu SAP Note 3024346 – Nastavení jádra Linuxu pro NetApp NFS. Vytvořte konfigurační soubor /etc/sysctl.d/91-NetApp-HANA.conf pro nastavení konfigurace NetApp.

    sudo vi /etc/sysctl.d/91-NetApp-HANA.conf
    

    Do konfiguračního souboru přidejte následující položky:

    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
    
  3. [A] Vytvořte konfigurační soubor /etc/sysctl.d/ms-az.conf s větším nastavením optimalizace.

    sudo vi /etc/sysctl.d/ms-az.conf
    

    Do konfiguračního souboru přidejte následující položky:

    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 2382421 SAP Note.

  4. [A] Upravte sunrpc nastavení podle doporučení v SAP Note 3024346 – Nastavení jádra Linuxu pro NetApp NFS.

    sudo vi /etc/modprobe.d/sunrpc.conf
    

    Vložte následující řádek:

    options sunrpc tcp_max_slot_table_entries=128
    
  5. [A] Nakonfigurujte SLES pro HANA.

    Nakonfigurujte SLES podle popisu v následujících poznámkách SAP na základě vaší verze SLES:

  6. [A] Nainstalujte SAP HANA.

    Počínaje HANA 2.0 SPS 01 je výchozí možností víceklientských databázových kontejnerů (MDC). Když nainstalujete systém HANA, systém SYSTEMDB a tenant se stejným identifikátorem SID se vytvoří společně. V některých případech nechcete výchozího tenanta. Pokud nechcete vytvořit počátečního tenanta spolu s instalací, postupujte podle pokynů v SAP Note 2629711.

    1. hdblcm Spusťte program z instalačního adresáře softwaru HANA.

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

      • Volba instalace: Enter 1 (pro instalaci).
      • Pro výběr dalších komponent pro instalaci: Zadejte 1.
      • Pro cestu instalace Enter [/hana/shared]: Stisknutím klávesy Enter přijměte výchozí nastavení.
      • Pro zadání názvu místního hostitele [..]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
      • V části Chcete do systému přidat další hostitele? (y/n) [n]: Vyberte n.
      • Zadejte ID systému SAP HANA: Zadejte HN1.
      • Pro zadání čísla instance [00]: Zadejte 03.
      • Pro výběr režimu databáze / Enter Index [1]: 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 zadání umístění datových svazků [/hana/data]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
      • Pro zadání umístění svazků protokolu [/hana/log]: Stisknutím klávesy Enter přijměte výchozí nastavení.
      • Chcete-li omezit maximální přidělení paměti? [n]: Stisknutím klávesy Enter přijměte výchozí nastavení.
      • Pro zadání názvu hostitele certifikátu pro hostitele .... [...]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
      • Zadejte heslo uživatele agenta hostitele SAP (sapadm): Zadejte uživatelské heslo agenta hostitele.
      • Pro potvrzení hesla uživatele agenta hostitele SAP (sapadm): Zadejte heslo uživatele agenta hostitele znovu a potvrďte ho.
      • Zadejte heslo správce systému (hn1adm): Zadejte heslo správce systému.
      • Pro potvrzení správce systému (hn1adm) Heslo: Zadejte heslo správce systému znovu a potvrďte ho.
      • Pro enter System Administrator Home Directory [/usr/sap/HN1/home]: Stisknutím klávesy Enter přijměte výchozí hodnotu.
      • Pro Enter System Administrator Login Shell [/bin/sh]: Stisknutím klávesy Enter přijměte výchozí nastavení.
      • Pro enter System Administrator User ID [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.
      • Zadejte heslo uživatele databáze (SYSTEM): Zadejte heslo uživatele databáze.
      • Pro potvrzení hesla uživatele databáze (SYSTEM): Zadejte heslo uživatele databáze znovu a potvrďte ho.
      • Chcete-li systém restartovat po restartování počítače? [n]: Stisknutím klávesy Enter přijměte výchozí nastavení.
      • Chcete pokračovat? (y/n): Ověřte souhrn. Pokračujte zadáním y .
  7. [A] Upgradujte agenta hostitele SAP.

    Stáhněte si nejnovější archiv agenta hostitele SAP z centra softwaru SAP a spuštěním následujícího příkazu upgradujte agenta. Nahraďte cestu k archivu tak, aby odkazovat na stažený soubor.

    sudo /usr/sap/hostctrl/exe/saphostexec -upgrade -archive <path to SAP Host Agent SAR>
    

Konfigurace systémové replikace SAP HANA

Podle kroků v replikaci systému SAP HANA nakonfigurujte replikaci systému SAP HANA.

Konfigurace clusteru

Tato část popisuje nezbytné kroky potřebné k bezproblémovému fungování clusteru při instalaci SAP HANA do sdílených složek NFS pomocí služby Azure NetApp Files.

Vytvoření clusteru Pacemaker

Postupujte podle kroků v nastavení Pacemakeru v SUSE Enterprise Linuxu v Azure a vytvořte základní cluster Pacemaker pro tento server HANA.

Implementace háků HANA SAPHanaSR a susChkSrv

Tento důležitý krok optimalizuje integraci s clusterem a zlepšuje detekci v případě potřeby převzetí služeb při selhání clusteru. Důrazně doporučujeme nakonfigurovat jak háky SAPHanaSR, tak susChkSrv Python. Postupujte podle kroků v tématu Implementace replikace systému Pythonu, který připojí SAPHanaSR/SAPHanaSR-angi a susChkSrv.

Konfigurace prostředků clusteru SAP HANA

Tato část popisuje nezbytné kroky potřebné ke konfiguraci prostředků clusteru SAP HANA.

Vytvoření prostředků clusteru SAP HANA

Podle pokynů v tématu Vytváření prostředků clusteru SAP HANA vytvořte prostředky clusteru pro server HANA. Po vytvoření prostředků by se měl zobrazit stav clusteru pomocí následujícího příkazu:

sudo crm_mon -r

Příklad výstupu:

# Online: [ hn1-db-0 hn1-db-1 ]
# Full list of resources:
# stonith-sbd     (stonith:external/sbd): Started hn1-db-0
# Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
#     Started: [ hn1-db-0 hn1-db-1 ]
# Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
#     Masters: [ hn1-db-0 ]
#     Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_HDB03
#     rsc_ip_HN1_HDB03   (ocf::heartbeat:IPaddr2):       Started hn1-db-0
#     rsc_nc_HN1_HDB03   (ocf::heartbeat:azure-lb):      Started hn1-db-0

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

Systém souborů /hana/shared/SID je nezbytný pro operaci HANA i pro akce monitorování Pacemakeru, které určují stav HANA. Implementujte agenty prostředků pro monitorování a provádění v případě selhání. Oddíl obsahuje dvě možnosti, jednu pro SAPHanaSR a druhou pro SAPHanaSR-angi.

Vytvořte fiktivní prostředek clusteru systému souborů. Pokud při přístupu k systému souborů NFS připojenému k systému souborů /hana/shared došlo k potížím, monitoruje a hlásí selhání. To umožňuje clusteru aktivovat převzetí služeb při selhání, pokud dojde k potížím s přístupem ke /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. [A] Vytvořte adresářovou strukturu na obou uzlech.

    sudo mkdir -p /hana/shared/HN1/check
    sudo mkdir -p /hana/shared/check
    
  2. [1] Nakonfigurujte cluster tak, aby přidal adresářovou strukturu pro monitorování.

    sudo crm configure primitive rsc_fs_check_HN1_HDB03 Filesystem params \
        device="/hana/shared/HN1/check/" \
        directory="/hana/shared/check/" fstype=nfs  \
        options="bind,defaults,rw,hard,rsize=262144,wsize=262144,proto=tcp,noatime,_netdev,nfsvers=4.1,lock,sec=sys" \
        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
    
  3. [1] Naklonujte a zkontrolujte nově nakonfigurovaný svazek v clusteru.

    sudo crm configure clone cln_fs_check_HN1_HDB03 rsc_fs_check_HN1_HDB03 meta clone-node-max=1 interleave=true
    

    Příklad výstupu:

    sudo crm status
    
    # Cluster Summary:
    # Stack: corosync
    # Current DC: hanadb1 (version 2.0.5+20201202.ba59be712-4.9.1-2.0.5+20201202.ba59be712) - partition with quorum
    # Last updated: Tue Nov  2 17:57:39 2021
    # Last change:  Tue Nov  2 17:57:38 2021 by root via crm_attribute on hanadb1
    # 2 nodes configured
    # 11 resource instances configured
    
    # Node List:
    # Online: [ hanadb1 hanadb2 ]
    
    # Full List of Resources:
    # Clone Set: cln_azure-events [rsc_azure-events]:
    #  Started: [ hanadb1 hanadb2 ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
    #  rsc_SAPHanaTopology_HN1_HDB03     (ocf::suse:SAPHanaTopology):     Started hanadb1 (Monitoring)
    #  rsc_SAPHanaTopology_HN1_HDB03     (ocf::suse:SAPHanaTopology):     Started hanadb2 (Monitoring)
    # Clone Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] (promotable):
    #  rsc_SAPHana_HN1_HDB03     (ocf::suse:SAPHana):     Master hanadb1 (Monitoring)
    #  Slaves: [ hanadb2 ]
    # Resource Group: g_ip_HN1_HDB03:
    #  rsc_ip_HN1_HDB03  (ocf::heartbeat:IPaddr2):        Started hanadb1
    #  rsc_nc_HN1_HDB03  (ocf::heartbeat:azure-lb):       Started hanadb1
    # rsc_st_azure        (stonith:fence_azure_arm):       Started hanadb2
    # Clone Set: cln_fs_check_HN1_HDB03 [rsc_fs_check_HN1_HDB03]:
    #  Started: [ hanadb1 hanadb2 ]
    

    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.

Důležité

Vypršení časových limitů v předchozí konfiguraci může být potřeba přizpůsobit konkrétnímu nastavení HANA, aby nedocházelo k zbytečným akcím plotu. Nenastavujte příliš nízké hodnoty časového limitu. Mějte na paměti, že monitorování systému souborů nesouvisí s replikací systému HANA. Další informace najdete v dokumentaci k SUSE.

Otestování nastavení clusteru

Tato část popisuje, jak můžete otestovat nastavení.

  1. Před zahájením testu se ujistěte, že Pacemaker nemá žádnou neúspěšnou akci (prostřednictvím stavu crm) a žádná neočekávaná omezení umístění (například levá migrace testu). Také se ujistěte, že je replikace systému HANA ve stavu synchronizace, například s systemReplicationStatus.

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    
  2. Pomocí tohoto příkazu ověřte stav prostředků HANA:

    SAPHanaSR-showAttr
    
    # You should see something like below
    # hanadb1:~ SAPHanaSR-showAttr
    # Global cib-time                 maintenance
    # --------------------------------------------
    # global Mon Nov  8 22:50:30 2021 false
    # Sites srHook
    # -------------
    # SITE1 PRIM
    # SITE2 SOK
    # Site2 SOK
    # Hosts   clone_state lpa_hn1_lpt node_state op_mode   remoteHost roles                            score site  srmode sync_state version                vhost
    # --------------------------------------------------------------------------------------------------------------------------------------------------------------
    # hanadb1 PROMOTED    1636411810  online     logreplay hanadb2    4:P:master1:master:worker:master 150   SITE1 sync   PRIM       2.00.058.00.1634122452 hanadb1
    # hanadb2 DEMOTED     30          online     logreplay hanadb1    4:S:master1:master:worker:master 100   SITE2 sync   SOK        2.00.058.00.1634122452 hanadb2
    
  3. Ověřte konfiguraci clusteru pro scénář selhání, když je uzel vypnutý. Následující příklad ukazuje vypnutí uzlu 1:

    sudo crm status
    sudo crm resource move msl_SAPHana_HN1_HDB03 hanadb2 force
    sudo crm resource cleanup
    

    Příklad výstupu:

    sudo crm status
    
    #Cluster Summary:
    # Stack: corosync
    # Current DC: hanadb2 (version 2.0.5+20201202.ba59be712-4.9.1-2.0.5+20201202.ba59be712) - partition with quorum
    # Last updated: Mon Nov  8 23:25:36 2021
    # Last change:  Mon Nov  8 23:25:19 2021 by root via crm_attribute on hanadb2
    # 2 nodes configured
    # 11 resource instances configured
    
    # Node List:
    # Online: [ hanadb1 hanadb2 ]
    # Full List of Resources:
    # Clone Set: cln_azure-events [rsc_azure-events]:
    #  Started: [ hanadb1 hanadb2 ]
    # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
    #  Started: [ hanadb1 hanadb2 ]
    # Clone Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] (promotable):
    #  Masters: [ hanadb2 ]
    #  Stopped: [ hanadb1 ]
    # Resource Group: g_ip_HN1_HDB03:
    #  rsc_ip_HN1_HDB03  (ocf::heartbeat:IPaddr2):        Started hanadb2
    #  rsc_nc_HN1_HDB03  (ocf::heartbeat:azure-lb):       Started hanadb2
    # rsc_st_azure        (stonith:fence_azure_arm):       Started hanadb2
    # Clone Set: cln_fs_check_HN1_HDB03 [rsc_fs_check_HN1_HDB03]:
    #  Started: [ hanadb1 hanadb2 ]
    

    Zastavte HANA na Node1:

    sudo su - hn1adm
    sapcontrol -nr 03 -function StopWait 600 10
    

    Zaregistrujte uzel 1 jako sekundární uzel a zkontrolujte stav:

    hdbnsutil -sr_register --remoteHost=hanadb2 --remoteInstance=03 --replicationMode=sync --name=SITE1 --operationMode=logreplay
    

    Příklad výstupu:

    #adding site ...
    #nameserver hanadb1:30301 not responding.
    #collecting information ...
    #updating local ini files ...
    #done.
    
    sudo crm status
    
    sudo SAPHanaSR-showAttr
    
  4. 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/shared a provádějí operace během převzetí služeb při selhání. Systém souborů /hana/shared se v tomto scénáři připojí přes systém souborů NFS.

    Je obtížné simulovat selhání, kdy jeden ze serverů ztratí přístup ke sdílené složce NFS. Jako test můžete systém souborů znovu připojit jako jen pro čtení. Tento přístup ověří, že cluster může převzít služby při selhání, pokud dojde ke ztrátě přístupu ke /hana/shared na aktivním uzlu.

    Očekávaný výsledek: Při vytváření /hana/shared jako systému OCF_CHECK_LEVEL souborů jen pro čtení se atribut prostředku hana_shared1, který provádí operace čtení a zápisu v systému souborů, nezdaří. Selže, protože nemůže napsat nic v systému souborů a provést převzetí služeb při selhání prostředku HANA. Stejný výsledek se očekává, když uzel HANA ztratí přístup ke sdíleným složkám NFS.

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

    sudo crm  status
    
    #Cluster Summary:
     # Stack: corosync
     # Current DC: hanadb2 (version 2.0.5+20201202.ba59be712-4.9.1-2.0.5+20201202.ba59be712) - partition with quorum
     # Last updated: Mon Nov  8 23:01:27 2021
     # Last change:  Mon Nov  8 23:00:46 2021 by root via crm_attribute on hanadb1
     # 2 nodes configured
     # 11 resource instances configured
    
     #Node List:
     # Online: [ hanadb1 hanadb2 ]
    
     #Full List of Resources:
     # Clone Set: cln_azure-events [rsc_azure-events]:
       # Started: [ hanadb1 hanadb2 ]
     # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
       # Started: [ hanadb1 hanadb2 ]
     # Clone Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] (promotable):
       # Masters: [ hanadb1 ]
       # Slaves: [ hanadb2 ]
     # Resource Group: g_ip_HN1_HDB03:
       # rsc_ip_HN1_HDB03  (ocf::heartbeat:IPaddr2):        Started hanadb1
       # rsc_nc_HN1_HDB03  (ocf::heartbeat:azure-lb):       Started hanadb1
     # rsc_st_azure        (stonith:fence_azure_arm):       Started hanadb2
     # Clone Set: cln_fs_check_HN1_HDB03 [rsc_fs_check_HN1_HDB03]:
       # Started: [ hanadb1 hanadb2 ]
    

    Pomocí tohoto příkazu můžete na aktivní uzel clusteru umístit /hana/shared v režimu jen pro čtení:

    sudo mount -o ro 10.3.1.4:/hanadb1-shared-mnt00001 /hana/sharedb
    

    Server hanadb1 se buď restartuje, nebo vypne na základě sady akcí. Po výpadku serveru hanadb1 se prostředek HANA přesune na hanadb2. Stav clusteru můžete zkontrolovat z hanadb2.

    sudo crm status
    
    #Cluster Summary:
     # Stack: corosync
     # Current DC: hanadb2 (version 2.0.5+20201202.ba59be712-4.9.1-2.0.5+20201202.ba59be712) - partition with quorum
     # Last updated: Wed Nov 10 22:00:27 2021
     # Last change:  Wed Nov 10 21:59:47 2021 by root via crm_attribute on hanadb2
     # 2 nodes configured
     # 11 resource instances configured
    
     #Node List:
     # Online: [ hanadb1 hanadb2 ]
    
     #Full List of Resources:
     # Clone Set: cln_azure-events [rsc_azure-events]:
       # Started: [ hanadb1 hanadb2 ]
     # Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]:
       # Started: [ hanadb1 hanadb2 ]
     # Clone Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] (promotable):
       # Masters: [ hanadb2 ]
       # Stopped: [ hanadb1 ]
     # Resource Group: g_ip_HN1_HDB03:
          # rsc_ip_HN1_HDB03  (ocf::heartbeat:IPaddr2):        Started hanadb2
       # rsc_nc_HN1_HDB03  (ocf::heartbeat:azure-lb):       Started hanadb2
     # rsc_st_azure        (stonith:fence_azure_arm):       Started hanadb2
     # Clone Set: cln_fs_check_HN1_HDB03 [rsc_fs_check_HN1_HDB03]:
       # Started: [ hanadb1 hanadb2 ]
    

    Doporučujeme důkladně otestovat konfiguraci clusteru SAP HANA provedením testů popsaných v replikaci systému SAP HANA.

Další kroky