Vysoká dostupnost SAP HANA na virtuálních počítačích Azure v systému Red Hat Enterprise Linux
Pro místní vývoj můžete použít replikaci systému HANA nebo sdílené úložiště k vytvoření vysoké dostupnosti (HA) pro SAP HANA. Na virtuálních počítačích Azure je replikace systému HANA v Azure aktuálně jedinou podporovanou funkcí vysoké dostupnosti.
Replikace SAP HANA se skládá z jednoho primárního uzlu a nejméně jednoho sekundárního uzlu. Změny dat v primárním uzlu se replikují do sekundárního uzlu synchronně nebo asynchronně.
Tento článek popisuje, jak nasadit a nakonfigurovat virtuální počítače, nainstalovat architekturu clusteru a nainstalovat a nakonfigurovat replikaci systému SAP HANA.
V ukázkových konfiguracích se používají instalační příkazy, číslo instance 03 a ID systému HANA HN1 .
Požadavky
Nejprve si přečtěte následující poznámky a dokumenty SAP:
- SAP Note 1928533, který má:
- Seznam velikostí virtuálních počítačů Azure, které jsou podporované pro nasazení softwaru SAP.
- Důležité informace o kapacitě pro velikosti virtuálních počítačů Azure
- Podporované kombinace softwaru a operačního systému (OS) a databáze SAP.
- Požadovaná verze jádra SAP pro Windows a Linux v Microsoft Azure.
- SAP Note 2015553 uvádí požadavky pro nasazení softwaru SAP s podporou SAP v Azure.
- SAP Note 2002167 doporučuje nastavení operačního systému pro Red Hat Enterprise Linux.
- SAP Note 2009879 obsahuje pokyny PRO SAP HANA pro Red Hat Enterprise Linux.
- SAP Note 3108302 obsahuje pokyny PRO SAP HANA pro Red Hat Enterprise Linux 9.x.
- SAP Note 2178632 obsahuje podrobné informace o všech metrikách monitorování hlášených pro SAP v Azure.
- SAP Note 2191498 má požadovanou verzi agenta hostitele SAP pro Linux v Azure.
- SAP Note 2243692 obsahuje informace o licencování SAP v Linuxu v Azure.
- SAP Note 1999351 obsahuje další informace o řešení potíží pro rozšíření rozšířeného monitorování Azure pro SAP.
- Wikiweb komunity SAP obsahuje všechny požadované poznámky SAP pro Linux.
- Plánování a implementace virtuálních počítačů Azure pro SAP v Linuxu
- Nasazení služby Azure Virtual Machines pro SAP v Linuxu (tento článek)
- Nasazení DBMS pro Azure Virtual Machines pro SAP v Linuxu
- Replikace systému SAP HANA v clusteru Pacemaker
- Obecná dokumentace RHEL:
- Dokumentace ke službě RHEL specifická pro Azure:
- Zásady podpory pro clustery s vysokou dostupností RHEL – Virtuální počítače Microsoft Azure jako členy clusteru
- Instalace a konfigurace clusteru s vysokou dostupností Red Hat Enterprise Linux 7.4 (a novější) v Microsoft Azure
- Instalace SAP HANA v Red Hat Enterprise Linuxu pro použití v Microsoft Azure
Přehled
K dosažení vysoké dostupnosti se SAP HANA nainstaluje na dva virtuální počítače. Data se replikují pomocí systémové replikace HANA.
Nastavení replikace systému SAP 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:
- Front-endová IP adresa: 10.0.0.13 pro hn1-db
- Port sondy: 62503
Příprava infrastruktury
Azure Marketplace obsahuje image kvalifikované pro SAP HANA s doplňkem Pro vysokou dostupnost, který můžete použít k nasazení nových virtuálních počítačů pomocí různých verzí Red Hatu.
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 RHEL, 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 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ů.
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:
- 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.
- Back-endový fond: Vytvořte back-endový fond a přidejte databázové virtuální počítače.
- 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 numberOfProbes
konfigurace 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 2
hodnotu . 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
Poznámka:
Pokud jsou virtuální počítače bez veřejných IP adres umístěny do back-endového fondu interní instance (bez veřejné IP adresy) služby Azure Load Balancer úrovně Standard, neexistuje 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 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 může způsobit 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.
Instalace SAP HANA
Kroky v této části používají následující předpony:
- [A]: Tento krok platí pro všechny uzly.
- [1]: Krok se vztahuje pouze na uzel 1.
- [2]: Krok se vztahuje pouze na uzel 2 clusteru Pacemaker.
[A] Nastavení rozložení disku: Správce logických svazků (LVM)
Doporučujeme použít LVM pro svazky, které ukládají data a soubory protokolů. Následující příklad předpokládá, že virtuální počítače mají připojené čtyři datové disky, které se používají k vytvoření dvou svazků.
Výpis 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 /dev/disk/azure/scsi1/lun3
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 sudo pvcreate /dev/disk/azure/scsi1/lun3
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 sudo vgcreate vg_hana_shared_HN1 /dev/disk/azure/scsi1/lun3
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 dokumentu se pro datový svazek používají dva fyzické svazky, takže
-i
je argument přepínače nastavený na hodnotu 2. Velikost pruhu datového svazku je 256KiB. Jeden fyzický svazek se používá pro svazek protokolu, takže pro příkazy svazku protokolu se explicitně nepoužívají žádné-i
nebo-I
přepínače.Důležité
-i
Přepínač použijte a nastavte ho na počet podkladových fyzických svazků, pokud pro každou data, protokol nebo sdílené svazky 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. Následující příklady rozložení nemusí nutně splňovat pokyny k výkonu pro konkrétní velikost systému. Jsou určené jenom pro ilustraci.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 lvcreate -l 100%FREE -n hana_shared vg_hana_shared_HN1 sudo mkfs.xfs /dev/vg_hana_data_HN1/hana_data sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log sudo mkfs.xfs /dev/vg_hana_shared_HN1/hana_shared
Nenamontujte adresáře tak, že vydáte příkazy pro připojení. Místo toho zadejte do konfigurace
fstab
a zadejte konečnoumount -a
verzi, abyste ověřili syntaxi. Začněte vytvořením adresářů připojení pro každý svazek:sudo mkdir -p /hana/data sudo mkdir -p /hana/log sudo mkdir -p /hana/shared
Dále vytvořte
fstab
položky pro tři logické svazky vložením následujících řádků do/etc/fstab
souboru:/dev/mapper/vg_hana_data_HN1-hana_data /hana/data xfs defaults,nofail 0 2 /dev/mapper/vg_hana_log_HN1-hana_log /hana/log xfs defaults,nofail 0 2 /dev/mapper/vg_hana_shared_HN1-hana_shared /hana/shared xfs defaults,nofail 0 2
Nakonec připojte nové svazky najednou:
sudo mount -a
[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 vytvořením položek pro všechny uzly takto/etc/hosts
:10.0.0.5 hn1-db-0 10.0.0.6 hn1-db-1
[A] Proveďte RHEL pro konfiguraci HANA.
Nakonfigurujte RHEL, jak je popsáno v následujících poznámkách:
- 2447641 – Další balíčky potřebné pro instalaci SAP HANA SPS 12 na RHEL 7.X
- 2292690 – SAP HANA DB: Doporučené nastavení operačního systému pro RHEL 7
- 2777782 – SAP HANA DB: Doporučené nastavení operačního systému pro RHEL 8
- 2455582 – Linux: Spouštění aplikací SAP kompilovaných pomocí GCC 6.x
- 2593824 – Linux: Spouštění aplikací SAP zkompilovaných pomocí GCC 7.x
- 2886607 – Linux: Spouštění aplikací SAP kompilovaných pomocí GCC 9.x
[A] Nainstalujte SAP HANA podle dokumentace k SAP.
[A] Nakonfigurujte bránu firewall.
Vytvořte pravidlo brány firewall pro port sondy Azure Load Balanceru.
sudo firewall-cmd --zone=public --add-port=62503/tcp sudo firewall-cmd --zone=public --add-port=62503/tcp --permanent
Konfigurace systémové replikace SAP HANA 2.0
Kroky v této části používají následující předpony:
- [A]: Tento krok platí pro všechny uzly.
- [1]: Krok se vztahuje pouze na uzel 1.
- [2]: Krok se vztahuje pouze na uzel 2 clusteru Pacemaker.
[A] Nakonfigurujte bránu firewall.
Vytvořte pravidla brány firewall, která povolí replikaci systému 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, jak povolit replikaci systému HANA 2.0 a klientský provoz do databáze SYSTEMDB, HN1 a NW1.
sudo firewall-cmd --zone=public --add-port={40302,40301,40307,40303,40340,30340,30341,30342}/tcp --permanent sudo firewall-cmd --zone=public --add-port={40302,40301,40307,40303,40340,30340,30341,30342}/tcp
[1] Vytvořte databázi tenanta.
Spusťte následující příkaz jako <hanasid>adm:
hdbsql -u SYSTEM -p "[passwd]" -i 03 -d SYSTEMDB 'CREATE DATABASE NW1 SYSTEM USER PASSWORD "<passwd>"'
[1] Nakonfigurujte replikaci systému na prvním uzlu.
Zálohujte databáze jako <adm hanasid>:
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')" hdbsql -d NW1 -u SYSTEM -p "<passwd>" -i 03 "BACKUP DATA USING FILE ('initialbackupNW1')"
Zkopírujte systémové soubory PKI do sekundární lokality:
scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT hn1-db-1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/ scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY hn1-db-1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
Vytvořte primární lokalitu:
hdbnsutil -sr_enable --name=SITE1
[2] Nakonfigurujte replikaci systému na druhém uzlu.
Zaregistrujte druhý uzel a spusťte replikaci systému. Spusťte následující příkaz jako <hanasid>adm:
sapcontrol -nr 03 -function StopWait 600 10 hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2
[2] Spusťte HANA.
Spuštěním následujícího příkazu jako <hanasid>adm spusťte HANA:
sapcontrol -nr 03 -function StartSystem
[1] Zkontrolujte stav replikace.
Zkontrolujte stav replikace a počkejte na synchronizaci všech databází. Pokud stav zůstane NEZNÁMÝ, zkontrolujte nastavení brány firewall.
sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py" # | Database | Host | Port | Service Name | Volume ID | Site ID | Site Name | Secondary | Secondary | Secondary | Secondary | Secondary | Replication | Replication | Replication | # | | | | | | | | Host | Port | Site ID | Site Name | Active Status | Mode | Status | Status Details | # | -------- | -------- | ----- | ------------ | --------- | ------- | --------- | --------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- | # | SYSTEMDB | hn1-db-0 | 30301 | nameserver | 1 | 1 | SITE1 | hn1-db-1 | 30301 | 2 | SITE2 | YES | SYNC | ACTIVE | | # | HN1 | hn1-db-0 | 30307 | xsengine | 2 | 1 | SITE1 | hn1-db-1 | 30307 | 2 | SITE2 | YES | SYNC | ACTIVE | | # | NW1 | hn1-db-0 | 30340 | indexserver | 2 | 1 | SITE1 | hn1-db-1 | 30340 | 2 | SITE2 | YES | SYNC | ACTIVE | | # | HN1 | hn1-db-0 | 30303 | indexserver | 3 | 1 | SITE1 | hn1-db-1 | 30303 | 2 | SITE2 | 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: SITE1
Vytvoření clusteru Pacemaker
Postupujte podle kroků v nastavení Pacemakeru v Red Hat Enterprise Linuxu v Azure a vytvořte základní cluster Pacemaker pro tento server HANA.
Důležité
Se systémem založeným na platformě SAP Startup Framework je teď možné spravovat instance SAP HANA systémem. Minimální požadovaná verze Red Hat Enterprise Linuxu (RHEL) je RHEL 8 pro SAP. Jak je uvedeno v sap Note 3189534, všechny nové instalace SAP HANA SPS07 revize 70 nebo vyšší nebo aktualizace systémů HANA na HANA 2.0 SPS07 revize 70 nebo vyšší, architektura SAP Startup se automaticky zaregistruje se systémem.
Pokud ke správě replikace systému SAP HANA používáte řešení pro zajištění vysoké dostupnosti v kombinaci s instancemi SAP HANA s povoleným systémem (viz SAP Note 3189534), jsou potřeba další kroky k zajištění toho, aby cluster s vysokou dostupností mohl spravovat instanci SAP bez zásahu systému. Takže pro systém SAP HANA integrovaný se systémem, další kroky popsané v nástroji Red Hat KBA 7029705 musí následovat na všech uzlech clusteru.
Implementace háků replikace systému SAP HANA
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. Pro správnou operaci clusteru je povinné povolit háček SAPHanaSR. Důrazně doporučujeme nakonfigurovat háky PYTHONu SAPHanaSR i ChkSrv.
[A] Nainstalujte agenty prostředků SAP HANA na všechny uzly. Nezapomeňte povolit úložiště, které obsahuje balíček. Pokud používáte image s podporou vysoké dostupnosti RHEL 8.x nebo novější, nemusíte povolovat další úložiště.
# Enable repository that contains SAP HANA resource agents sudo subscription-manager repos --enable="rhel-sap-hana-for-rhel-7-server-rpms" sudo dnf install -y resource-agents-sap-hana
Poznámka:
V případě RHEL 8.x a RHEL 9.x ověřte, jestli je nainstalovaný balíček resource-agents-sap-hana verze 0.162.3-5 nebo novější.
[A] Nainstalujte HANA
system replication hooks
. Konfigurace pro připojení replikace musí být nainstalovaná na obou uzlech DATABÁZE HANA.Zastavte HANA na obou uzlech. Spustit jako <sid>adm.
sapcontrol -nr 03 -function StopSystem
Upravte
global.ini
ho na každém uzlu clusteru.[ha_dr_provider_SAPHanaSR] provider = SAPHanaSR path = /usr/share/SAPHanaSR/srHook execution_order = 1 [ha_dr_provider_chksrv] provider = ChkSrv path = /usr/share/SAPHanaSR/srHook execution_order = 2 action_on_lost = kill [trace] ha_dr_saphanasr = info ha_dr_chksrv = info
Pokud odkazujete na výchozí
path
/usr/share/SAPHanaSR/srHook
umístění, kód háku Pythonu se automaticky aktualizuje prostřednictvím aktualizací operačního systému nebo aktualizací balíčků. HANA při příštím restartování používá aktualizace kódu hooku. S volitelnou vlastní cestou, jako/hana/shared/myHooks
je , můžete oddělit aktualizace operačního systému od verze háku, kterou bude HANA používat.Chování
ChkSrv
háku můžete upravit pomocí parametruaction_on_lost
. Platné hodnoty jsou [ignore
| |stop
kill
].[A] Cluster vyžaduje
sudoers
konfiguraci na každém uzlu clusteru pro <sid>adm. V tomto příkladu toho dosáhnete vytvořením nového souboru.visudo
Pomocí příkazu upravte soubor v rozevíracím20-saphana
seznamu jakoroot
.sudo visudo -f /etc/sudoers.d/20-saphana
Vložte následující řádky a pak uložte:
Cmnd_Alias SITE1_SOK = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE1 -v SOK -t crm_config -s SAPHanaSR Cmnd_Alias SITE1_SFAIL = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE1 -v SFAIL -t crm_config -s SAPHanaSR Cmnd_Alias SITE2_SOK = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE2 -v SOK -t crm_config -s SAPHanaSR Cmnd_Alias SITE2_SFAIL = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE2 -v SFAIL -t crm_config -s SAPHanaSR hn1adm ALL=(ALL) NOPASSWD: SITE1_SOK, SITE1_SFAIL, SITE2_SOK, SITE2_SFAIL Defaults!SITE1_SOK, SITE1_SFAIL, SITE2_SOK, SITE2_SFAIL !requiretty
[A] Spusťte SAP HANA na obou uzlech. Spustit jako <sid>adm.
sapcontrol -nr 03 -function StartSystem
[1] Ověřte instalaci háku SRHanaSR. 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_*
# 2021-04-12 21:36:16.911343 ha_dr_SAPHanaSR SFAIL # 2021-04-12 21:36:29.147808 ha_dr_SAPHanaSR SFAIL # 2021-04-12 21:37:04.898680 ha_dr_SAPHanaSR SOK
[1] Ověřte instalaci háku ChkSrv. Spustit jako <sid>adm v aktivní lokalitě replikace systému HANA.
cdtrace tail -20 nameserver_chksrv.trc
Další informace o implementaci háků SAP HANA najdete v tématu Povolení háku SAP HANA srConnectionChanged() a povolení háku SAP HANA srServiceStateChanged() pro akci selhání procesu hdbindexserveru (volitelné).
Vytvoření prostředků clusteru SAP HANA
Vytvořte topologii HANA. Na jednom z uzlů clusteru Pacemaker spusťte následující příkazy. V těchto pokynech nezapomeňte v případě potřeby nahradit vaše číslo instance, ID systému HANA, IP adresy a systémové názvy.
sudo pcs property set maintenance-mode=true
sudo pcs resource create SAPHanaTopology_HN1_03 SAPHanaTopology SID=HN1 InstanceNumber=03 \
op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600 \
clone clone-max=2 clone-node-max=1 interleave=true
Dále vytvořte prostředky HANA.
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.
Pokud vytváříte cluster na RHEL 7.x, použijte následující příkazy:
sudo pcs resource create SAPHana_HN1_03 SAPHana SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
op start timeout=3600 op stop timeout=3600 \
op monitor interval=61 role="Slave" timeout=700 \
op monitor interval=59 role="Master" timeout=700 \
op promote timeout=3600 op demote timeout=3600 \
master notify=true clone-max=2 clone-node-max=1 interleave=true
sudo pcs resource create vip_HN1_03 IPaddr2 ip="10.0.0.13"
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
sudo pcs constraint order SAPHanaTopology_HN1_03-clone then SAPHana_HN1_03-master symmetrical=false
sudo pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_03-master 4000
sudo pcs resource defaults resource-stickiness=1000
sudo pcs resource defaults migration-threshold=5000
sudo pcs property set maintenance-mode=false
Pokud vytváříte cluster na RHEL 8.x/9.x, použijte následující příkazy:
sudo pcs resource create SAPHana_HN1_03 SAPHana SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
op start timeout=3600 op stop timeout=3600 \
op monitor interval=61 role="Slave" timeout=700 \
op monitor interval=59 role="Master" timeout=700 \
op promote timeout=3600 op demote timeout=3600 \
promotable notify=true clone-max=2 clone-node-max=1 interleave=true
sudo pcs resource create vip_HN1_03 IPaddr2 ip="10.0.0.13"
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
sudo pcs constraint order SAPHanaTopology_HN1_03-clone then SAPHana_HN1_03-clone symmetrical=false
sudo pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_03-clone 4000
sudo pcs resource defaults update resource-stickiness=1000
sudo pcs resource defaults update migration-threshold=5000
sudo pcs property set maintenance-mode=false
Pokud chcete nakonfigurovat priority-fencing-delay
SAP HANA (platí jenom pro pacemaker-2.0.4-6.el8 nebo vyšší), je potřeba spustit následující příkazy.
Poznámka:
Pokud máte cluster se dvěma uzly, můžete nakonfigurovat vlastnost clusteru priority-fencing-delay
. Tato vlastnost představuje zpoždění při dělení uzlu, který má vyšší celkovou prioritu zdroje, když dojde ke scénáři rozděleného mozku. Další informace najdete v tématu Může Pacemaker ohražovat uzel clusteru s nejmenšími spuštěnými prostředky?.
Vlastnost priority-fencing-delay
se vztahuje na pacemaker-2.0.4-6.el8 verze nebo vyšší. Pokud nastavujete priority-fencing-delay
na existujícím clusteru, nezapomeňte zrušit nastavení pcmk_delay_max
možnosti v zařízení pro ohraničení.
sudo pcs property set maintenance-mode=true
sudo pcs resource defaults update priority=1
sudo pcs resource update SAPHana_HN1_03-clone meta priority=10
sudo pcs property set priority-fencing-delay=15s
sudo pcs property set maintenance-mode=false
Důležité
Při provádění testů převzetí služeb při selhání je vhodné nastavit AUTOMATED_REGISTER
false
, aby se primární instance, která selhala, automaticky zaregistrovala jako sekundární. Po otestování je jako osvědčený postup nastavený AUTOMATED_REGISTER
tak true
, aby po převzetí mohl replikace systému pokračovat automaticky.
Ujistěte se, že je stav clusteru v pořádku a že jsou spuštěné všechny prostředky. Na kterém uzlu jsou prostředky spuštěné, není důležité.
Poznámka:
Časové limity v předchozí konfiguraci jsou pouze příklady a může být 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í.
Pomocí příkazu sudo pcs status
zkontrolujte stav vytvořených prostředků clusteru:
# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# azure_fence (stonith:fence_azure_arm): Started hn1-db-0
# Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
# Started: [ hn1-db-0 hn1-db-1 ]
# Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
# Masters: [ hn1-db-0 ]
# Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_03
# nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-0
# vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-0
Konfigurace replikace systému s podporou aktivní/čtení HANA v clusteru Pacemaker
Počínaje SAP HANA 2.0 SPS 01 umožňuje SAP nastavení pro replikaci systému SAP HANA s podporou aktivního a čtení, kde sekundární systémy replikace systému SAP HANA je možné aktivně používat pro úlohy náročné na čtení.
Aby bylo možné takové nastavení podporovat v clusteru, vyžaduje se druhá virtuální IP adresa, 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 mít přístup i po převzetí, cluster musí přesunout virtuální IP adresu s sekundárním prostředkem SAPHana.
Tato část popisuje další kroky potřebné ke správě replikace systému s podporou aktivní/čtení HANA v clusteru s vysokou dostupností pro Red Hat s druhou virtuální IP adresou.
Než budete pokračovat, ujistěte se, že jste plně nakonfigurovali cluster Red Hat HA, který spravuje databázi SAP HANA, jak je popsáno v předchozích segmentech dokumentace.
Další nastavení v Azure Load Balanceru pro aktivní/čtení s povoleným nastavením
Pokud chcete pokračovat v dalších krocích zřizování druhé virtuální IP adresy, ujistěte se, že jste nakonfigurovali Azure Load Balancer, jak je popsáno v části Nasazení virtuálních počítačů s Linuxem ručně prostřednictvím webu Azure Portal .
Pro nástroj pro vyrovnávání zatížení úrovně Standard postupujte podle těchto kroků na stejném nástroji pro vyrovnávání zatížení, který jste vytvořili v předchozí části.
a. Vytvořte druhý front-endový fond IP adres:
- Otevřete nástroj pro vyrovnávání zatížení, vyberte front-endový fond IP adres a vyberte Přidat.
- Zadejte název druhého front-endového fondu IP adres (například hana-secondaryIP).
- Nastavte přiřazení na Static a zadejte IP adresu (například 10.0.0.14).
- Vyberte OK.
- Po vytvoření nového front-endového fondu IP adres si poznamenejte IP adresu fondu.
b. Vytvoření sondy stavu:
- Otevřete nástroj pro vyrovnávání zatížení, vyberte sondy stavu a vyberte Přidat.
- Zadejte název nové sondy stavu (například hana-secondaryhp).
- Jako protokol a port 62603 vyberte tcp. Ponechte hodnotu Interval nastavenou na 5 a prahovou hodnotu není v pořádku nastavená na hodnotu 2.
- Vyberte OK.
c. Vytvořte pravidla vyrovnávání zatížení:
- Otevřete nástroj pro vyrovnávání zatížení, vyberte pravidla vyrovnávání zatížení a vyberte Přidat.
- Zadejte název nového pravidla nástroje pro vyrovnávání zatížení (například hana-secondarylb).
- 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).
- Vyberte porty vysoké dostupnosti.
- Nezapomeňte povolit plovoucí IP adresu.
- Vyberte OK.
Konfigurace replikace systému s podporou aktivní/čtení hana
Postup konfigurace systémové replikace HANA najdete v části Konfigurace systémové replikace SAP HANA 2.0. Pokud při konfiguraci replikace systému na druhém uzlu nasazujete sekundární scénář s podporou čtení, spusťte následující příkaz jako hanasidadm:
sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2 --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 příslušné omezení kolokace je možné nakonfigurovat pomocí následujících příkazů:
pcs property set maintenance-mode=true
pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.40.0.16"
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
pcs constraint location g_secip_HN1_03 rule score=INFINITY hana_hn1_sync_state eq SOK and hana_hn1_roles eq 4:S:master1:master:worker:master
pcs constraint location g_secip_HN1_03 rule score=4000 hana_hn1_sync_state eq PRIM and hana_hn1_roles eq 4:P:master1:master:worker:master
# Set the priority to primary IPaddr2 and azure-lb resource if priority-fencing-delay is configured
sudo pcs resource update vip_HN1_03 meta priority=5
sudo pcs resource update nc_HN1_03 meta priority=5
pcs property set maintenance-mode=false
Ujistěte se, že je stav clusteru v pořádku a že jsou spuštěné všechny prostředky. Druhá virtuální IP adresa běží v sekundární lokalitě spolu s sekundárním prostředkem SAPHana.
sudo pcs status
# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full List of Resources:
# rsc_hdb_azr_agt (stonith:fence_azure_arm): Started hn1-db-0
# Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]:
# Started: [ hn1-db-0 hn1-db-1 ]
# Clone Set: SAPHana_HN1_03-clone [SAPHana_HN1_03] (promotable):
# Masters: [ hn1-db-0 ]
# Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_03:
# nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-0
# vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-0
# Resource Group: g_secip_HN1_03:
# secnc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-1
# secvip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
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 s nakonfigurovaným sekundárním čtením mějte na paměti druhé chování virtuálníCH IP adres:
Při migraci prostředku clusteru SAPHana_HN1_03 do sekundární lokality hn1-db-1 se druhá virtuální IP adresa bude dál spouštět ve stejné lokalitě hn1-db-1. Pokud jste nastavili
AUTOMATED_REGISTER="true"
replikaci prostředků a systému HANA se automaticky zaregistrují na serveru hn1-db-0, vaše druhá virtuální IP adresa se také přesune na hn1-db-0.Při testování chybového ukončení serveru běží na primárním serveru spolu s primárními prostředky virtuálníCH IP adres druhý virtuální IP prostředek (secvip_HN1_03) a prostředek portu Azure Load Balanceru (secnc_HN1_03). Takže až do doby, kdy je sekundární server mimo provoz, se aplikace připojené k databázi HANA s podporou čtení připojují k primární databázi HANA. Toto chování se očekává, protože nechcete, aby aplikace, které jsou připojené k databázi HANA s podporou čtení, byly nedostupné, dokud sekundární server není k dispozici.
Během převzetí služeb při selhání a náhradní virtuální IP adresy může dojít k přerušení stávajících připojení k aplikacím, které používají druhou virtuální IP adresu pro připojení k databázi HANA.
Nastavení maximalizuje dobu, po kterou je druhý prostředek virtuální IP adresy přiřazený k uzlu, na kterém je spuštěná instance SAP HANA, která je v pořádku.
Otestování nastavení clusteru
Tato část popisuje, jak můžete otestovat nastavení. Než začnete testovat, ujistěte se, že Pacemaker nemá žádnou neúspěšnou akci (prostřednictvím stavu pcs), neexistují žádná neočekávaná omezení umístění (například zbývající přechody testu migrace) a že hana je například ve stavu synchronizace.systemReplicationStatus
sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
Otestování migrace
Stav prostředku před zahájením testu:
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
Masters: [ hn1-db-0 ]
Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-0
vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-0
Hlavní uzel SAP HANA můžete migrovat spuštěním následujícího příkazu jako kořenového adresáře:
# On RHEL 7.x
pcs resource move SAPHana_HN1_03-master
# On RHEL 8.x
pcs resource move SAPHana_HN1_03-clone --master
Cluster by migroval hlavní uzel SAP HANA a skupinu obsahující virtuální IP adresu do hn1-db-1
.
Po dokončení sudo pcs status
migrace bude výstup vypadat takto:
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
Masters: [ hn1-db-1 ]
Stopped: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-1
vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
V AUTOMATED_REGISTER="false"
případě, že cluster nerestartuje neúspěšnou databázi HANA nebo ji zaregistruje v nové primární databázi hn1-db-0
. V tomto případě nakonfigurujte instanci HANA jako sekundární spuštěním těchto příkazů jako hn1adm:
sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=03 --replicationMode=sync --name=SITE1
Migrace vytvoří omezení umístění, která je potřeba odstranit znovu. Spusťte následující příkaz jako kořen nebo prostřednictvím sudo
:
pcs resource clear SAPHana_HN1_03-master
Monitorování stavu prostředku HANA pomocí pcs status
. Po spuštění hn1-db-0
HANA by měl výstup vypadat takto:
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
Masters: [ hn1-db-1 ]
Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-1
vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
Blokování síťové komunikace
Stav prostředku před zahájením testu:
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
Masters: [ hn1-db-1 ]
Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-1
vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
Spuštěním pravidla brány firewall zablokujte komunikaci na jednom z uzlů.
# Execute iptable rule on hn1-db-1 (10.0.0.6) to block the incoming and outgoing traffic to hn1-db-0 (10.0.0.5)
iptables -A INPUT -s 10.0.0.5 -j DROP; iptables -A OUTPUT -d 10.0.0.5 -j DROP
Pokud uzly clusteru mezi sebou nemůžou komunikovat, existuje riziko rozděleného scénáře mozku. V takových situacích se uzly clusteru snaží vzájemně ohražovat, což vede k plotu. Pokud se chcete takové situaci vyhnout, doporučujeme nastavit vlastnost priority-fencing-delay v konfiguraci clusteru (platí pouze pro pacemaker-2.0.4-6.el8 nebo vyšší).
Když tuto vlastnost povolíte priority-fencing-delay
, cluster zavádí zpoždění v akci ohraničení speciálně na uzlu, který je hostitelem hlavního prostředku HANA, což umožňuje uzlu vyhrát závod plotu.
Spuštěním následujícího příkazu odstraňte pravidlo brány firewall:
# If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command.
iptables -D INPUT -s 10.0.0.5 -j DROP; iptables -D OUTPUT -d 10.0.0.5 -j DROP
Otestování agenta ohraničení Azure
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.
Stav prostředku před zahájením testu:
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
Masters: [ hn1-db-1 ]
Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-1
vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
Nastavení agenta ohraničení Azure můžete otestovat zakázáním síťového rozhraní na uzlu, na kterém je SAP HANA spuštěný jako hlavní. Popis, jak simulovat selhání sítě, najdete v článku 79523 znalostní báze Red Hat Knowledge Base.
V tomto příkladu net_breaker
pomocí skriptu jako kořenového adresáře zablokujeme veškerý přístup k síti:
sh ./net_breaker.sh BreakCommCmd 10.0.0.6
Virtuální počítač by se teď měl restartovat nebo zastavit v závislosti na konfiguraci clusteru.
Pokud nastavíte stonith-action
nastavení off
na , virtuální počítač se zastaví a prostředky se migrují na spuštěný virtuální počítač.
Po opětovném spuštění virtuálního počítače se prostředek SAP HANA nepodaří spustit jako sekundární, pokud nastavíte AUTOMATED_REGISTER="false"
. V tomto případě nakonfigurujte instanci HANA jako sekundární spuštěním tohoto příkazu jako uživatele hn1adm :
sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2
Přepněte zpět do kořenového adresáře a vyčistíte stav selhání:
# On RHEL 7.x
pcs resource cleanup SAPHana_HN1_03-master
# On RHEL 8.x
pcs resource cleanup SAPHana_HN1_03 node=<hostname on which the resource needs to be cleaned>
Stav prostředku po testu:
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
Masters: [ hn1-db-0 ]
Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-0
vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-0
Testování ručního převzetí služeb při selhání
Stav prostředku před zahájením testu:
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
Masters: [ hn1-db-0 ]
Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-0
vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-0
Ruční převzetí služeb při selhání můžete otestovat zastavením clusteru hn1-db-0
na uzlu jako kořen:
pcs cluster stop
Po převzetí služeb při selhání můžete cluster spustit znovu. Pokud nastavíte AUTOMATED_REGISTER="false"
, prostředek SAP HANA na hn1-db-0
uzlu se nespustí jako sekundární. V tomto případě nakonfigurujte instanci HANA jako sekundární spuštěním tohoto příkazu jako kořenového adresáře:
pcs cluster start
Spusťte následující příkaz jako hn1adm:
sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=03 --replicationMode=sync --name=SITE1
Pak jako kořen:
# On RHEL 7.x
pcs resource cleanup SAPHana_HN1_03-master
# On RHEL 8.x
pcs resource cleanup SAPHana_HN1_03 node=<hostname on which the resource needs to be cleaned>
Stav prostředku po testu:
Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
Masters: [ hn1-db-1 ]
Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
nc_HN1_03 (ocf::heartbeat:azure-lb): Started hn1-db-1
vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hn1-db-1