Nastavení Pacemakeru v Red Hat Enterprise Linuxu v Azure
Nejprve si přečtěte následující poznámky a dokumenty SAP:
- SAP Note 1928533, který obsahuje:
- 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 SAP a operačního systému (OS) a databáze.
- Požadovaná verze jádra SAP pro Windows a Linux na Microsoft Azure.
- SAP Note 2015553 uvádí požadavky pro nasazení softwaru SAP v Azure podporovaná platformou SAP.
- SAP [Poznámka 2002167] že systém obsahuje doporučené nastavení operačního systému pro Red Hat Enterprise Linux
- SAP Note 2009879 has SAP HANA Guidelines for Red Hat Enterprise Linux
- Poznámka k 2178632 SAP 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 SAP Host Agent 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í Azure Enhanced Monitoring Extension for SAP.
- Sap Community WIKI obsahuje všechny požadované poznámky SAP pro Linux.
- Azure Virtual Machines plánování a implementace pro SAP v Linuxu
- Nasazení Virtual Machines Azure pro SAP v Linuxu (tento článek)
- Nasazení AZURE Virtual Machines DBMS pro SAP v Linuxu
- SAP HANA systému v clusteru Pacemaker
- Obecná dokumentace k RHEL
- Dokumentace K RHEL pro konkrétní Azure:
- Zásady podpory pro clustery SHEL s vysokou dostupností – Microsoft Azure Virtual Machines jako členové clusteru
- Instalace a konfigurace clusteru Red Hat Enterprise Linux 7.4 (a novější) High-Availability na Microsoft Azure
- Aspekty přijetí RHEL 8 – Vysoká dostupnost a clustery
- Konfigurace SAP S/4HANA ASCS/ERS se samostatným enqueue Serverem 2 (ENSA2) v Pacemakeru na RHEL 7.6
- RHEL for SAP Offerings on Azure
Instalace clusteru

Poznámka
Red Hat nepodporuje softwarově emulovaný sledovací zařízení. Red Hat nepodporuje SBD na cloudových platformách. Podrobnosti najdete v tématu Zásady podpory pro vysoce dostupné clustery RHEL – sbd a fence_sbd. Jediným podporovaným mechanismem ohraničování pro clustery Pacemaker Red Hat Enterprise Linux v Azure je agent Azure Fence.
Následující položky mají předponu [A] – platí pro všechny uzly [1] – platí jenom pro uzel 1 nebo [2] – platí jenom pro uzel 2.
[A] Registrace. Tento krok není povinný, pokud používáte image s podporou RHEL SAP HA.
Zaregistrujte virtuální počítače a připojte je k fondu, který obsahuje úložiště pro RHEL 7.
sudo subscription-manager register # List the available pools sudo subscription-manager list --available --matches '*SAP*' sudo subscription-manager attach --pool=<pool id>Připojením fondu k ibitové kopii RHEL s payg paygem Azure Marketplace se vám fakticky bude účtovat dvojnásobné využití RHEL: jednou pro image PAYG a jednou pro nárok RHEL ve fondu, který připojíte. Pro zmírnění tohoto rizika teď Azure poskytuje image BYOS RHEL. Další informace najdete v tématu Enterprise imagí Azure s vlastním předplatným Red Hat Enterprise Linuxu.
[A] Povolení RHEL pro úložiště SAP. Tento krok není povinný, pokud používáte image s podporou RHEL SAP HA.
Pokud chcete nainstalovat požadované balíčky, povolte následující úložiště.
sudo subscription-manager repos --disable "*" sudo subscription-manager repos --enable=rhel-7-server-rpms sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms sudo subscription-manager repos --enable=rhel-sap-for-rhel-7-server-rpms sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-eus-rpms[A] Instalace sady RHEL HA Add-On
sudo yum install -y pcs pacemaker fence-agents-azure-arm nmap-ncatDůležité
Doporučujeme následující verze agenta Azure Fence (nebo novější), aby zákazníci mohli využívat výhod rychlejšího převzetí služeb při selhání, pokud dojde k selhání prostředku nebo uzly clusteru už spolu nemohou komunikovat:
RHEL 7.7 nebo novější používají nejnovější dostupnou verzi balíčku fence-agents.
RHEL 7.6: fence-agents-4.2.1-11.el7_6.8
RHEL 7.5: fence-agents-4.0.11-86.el7_5.8
RHEL 7.4: fence-agents-4.0.11-66.el7_4.12
Další informace najdete v tématu Virtuální počítač Azure spuštěný jako člen clusteru RHEL s vysokou dostupností, který trvá příliš dlouho, než se ohraničí, nebo v případě selhání nebo časového limitu ohraničení před vypnutím virtuálního počítače.Zkontrolujte verzi agenta Azure Fence. V případě potřeby ho aktualizujte na verzi, která je stejná jako výše uvedená, nebo novější.
# Check the version of the Azure Fence Agent sudo yum info fence-agents-azure-armDůležité
Pokud potřebujete aktualizovat agenta Azure Fence a pokud používáte vlastní roli, nezapomeňte aktualizovat vlastní roli tak, aby zahrnovala akci powerOff. Podrobnosti najdete v tématu Vytvoření vlastní role pro agenta plotu.
[A] Nastavení překladu názvů hostitelů
Můžete použít server DNS nebo upravit /etc/hosts na všech uzlech. Tento příklad ukazuje, jak použít soubor /etc/hosts. V následujících příkazech nahraďte IP adresu a název hostitele.
Důležité
Pokud v konfiguraci clusteru používáte názvy hostitelů, je důležité mít spolehlivý překlad názvů hostitelů. Komunikace clusteru selže, pokud nejsou dostupné názvy a to může vést ke zpoždění převzetí služeb při selhání clusteru. Výhodou použití /etc/hosts je, že váš cluster se stává nezávislým na DNS, což může být také jediný bod selhání.
sudo vi /etc/hostsDo souboru /etc/hosts vložte následující řádky. Změňte IP adresu a název hostitele tak, aby odpovídaly vašemu prostředí.
# IP address of the first cluster node 10.0.0.6 prod-cl1-0 # IP address of the second cluster node 10.0.0.7 prod-cl1-1[A] Změna hesla haclusteru na stejné heslo
sudo passwd hacluster[A] Přidání pravidel brány firewall pro Pacemaker
Přidejte následující pravidla brány firewall do veškeré komunikace clusteru mezi uzly clusteru.
sudo firewall-cmd --add-service=high-availability --permanent sudo firewall-cmd --add-service=high-availability[A] Povolení základních clusterových služeb
Spuštěním následujících příkazů povolte službu Pacemaker a spusťte ji.
sudo systemctl start pcsd.service sudo systemctl enable pcsd.service[1] Vytvoření clusteru Pacemaker
Spuštěním následujících příkazů ověřte uzly a vytvořte cluster. Nastavte token na 30000, aby se umožnila údržba zachování paměti. Další informace najdete v tomto článku pro Linux.
Pokud se v RHEL 7.x seskupíte cluster, použijte následující příkazy:
sudo pcs cluster auth prod-cl1-0 prod-cl1-1 -u hacluster sudo pcs cluster setup --name nw1-azr prod-cl1-0 prod-cl1-1 --token 30000 sudo pcs cluster start --allPokud se v RHEL 8.X seskupíte cluster, použijte následující příkazy:
sudo pcs host auth prod-cl1-0 prod-cl1-1 -u hacluster sudo pcs cluster setup nw1-azr prod-cl1-0 prod-cl1-1 totem token=30000 sudo pcs cluster start --allOvěřte stav clusteru spuštěním následujícího příkazu:
# Run the following command until the status of both nodes is online sudo pcs status # Cluster name: nw1-azr # WARNING: no stonith devices and stonith-enabled is not false # Stack: corosync # Current DC: prod-cl1-1 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum # Last updated: Fri Aug 17 09:18:24 2018 # Last change: Fri Aug 17 09:17:46 2018 by hacluster via crmd on prod-cl1-1 # # 2 nodes configured # 0 resources configured # # Online: [ prod-cl1-0 prod-cl1-1 ] # # No resources # # Daemon Status: # corosync: active/disabled # pacemaker: active/disabled # pcsd: active/enabled[A] Nastavení očekávaných hlasů
# Check the quorum votes pcs quorum status # If the quorum votes are not set to 2, execute the next command sudo pcs quorum expected-votes 2Tip
Pokud se seskupuje cluster s více uzly, to je cluster s více než dvěma uzly, nastavte hlasy na 2.
[1] Povolení souběžných akcí ohrazení
sudo pcs property set concurrent-fencing=true
Vytvoření zařízení STONITH
Zařízení STONITH používá objekt služby k autorizaci proti Microsoft Azure. Pokud chcete vytvořit objekt služby, postupujte podle těchto kroků.
- Přejděte na https://portal.azure.com.
- Otevřete okno Azure Active Directory.
Přejděte na Vlastnosti a poznamenejte si ID adresáře. Toto je ID tenanta. - Klikněte na Registrace aplikací
- Klikněte na Nová registrace.
- Zadejte název, vyberte účty pouze v tomto adresáři organizace.
- Vyberte typ aplikace "Web", zadejte adresu URL pro přihlášení (například http: / /localhost) a klikněte na Přidat.
Přihlašovací adresa URL se nepoužívá a může to být libovolná platná adresa URL. - Vyberte certifikáty a tajné klíče a pak klikněte na nový tajný klíč klienta.
- Zadejte popis nového klíče, vyberte možnost "nikdy vyprší platnost" a klikněte na tlačítko Přidat.
- Nastavte uzel na hodnotu. Používá se jako heslo instančního objektu.
- Vyberte Přehled. Poznamenejte si ID aplikace. Používá se jako uživatelské jméno (přihlašovací ID v následujících krocích) instančního objektu.
[1] vytvoření vlastní role pro agenta plotu
Objekt služby nemá ve výchozím nastavení oprávnění pro přístup k prostředkům Azure. Musíte přidělit oprávnění instančního objektu pro spuštění a zastavení (napájení) všech virtuálních počítačů v clusteru. Pokud jste ještě nevytvořili vlastní roli, můžete ji vytvořit pomocí PowerShellu nebo rozhraní příkazového řádku Azure CLI .
Pro vstupní soubor použijte následující obsah. Je potřeba upravit obsah pro vaše předplatná, která jsou, nahraďte c276fc76-9cd4-44c9-99a7-4fd71546436e a e91d47c4-76f3-4271-a796-21b4ecfe3624 ID vašeho předplatného. Pokud máte jenom jedno předplatné, odeberte druhou položku v AssignableScopes.
{
"Name": "Linux Fence Agent Role",
"description": "Allows to power-off and start virtual machines",
"assignableScopes": [
"/subscriptions/e663cc2d-722b-4be1-b636-bbd9e4c60fd9",
"/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624"
],
"actions": [
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
[A] přiřazení vlastní role k instančnímu objektu
Přiřaďte vlastní roli "role ochrany systému Linux" vytvořenou v poslední kapitole objektu služby. Nepoužívejte již vlastníka role. Podrobný postup najdete v tématu přiřazení rolí Azure pomocí Azure Portal.
Ujistěte se, že přiřadíte roli pro oba uzly clusteru.
[1] vytvoření zařízení STONITH
Po úpravě oprávnění pro virtuální počítače můžete nakonfigurovat zařízení STONITH v clusteru.
sudo pcs property set stonith-timeout=900
Poznámka
Možnost ' pcmk_host_map ' je požadována pouze v příkazu, pokud názvy hostitelů RHEL a názvy virtuálních počítačů Azure nejsou stejné. Zadejte mapování ve formátu název hostitele: VM-Name. Přečtěte si část tučné v příkazu. Další informace najdete v tématu o tom, jaký formát mám použít k určení mapování uzlů na zařízení stonith v pcmk_host_map
Pro RHEL 7. X použijte následující příkaz ke konfiguraci ochranného zařízení:
sudo pcs stonith create rsc_st_azure fence_azure_arm login="login ID" passwd="password" resourceGroup="resource group" tenantId="tenant ID" subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \
op monitor interval=3600
Pro RHEL 8. X použijte následující příkaz ke konfiguraci ochranného zařízení:
sudo pcs stonith create rsc_st_azure fence_azure_arm username="login ID" password="password" resourceGroup="resource group" tenantId="tenant ID" subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \
op monitor interval=3600
Tip
Nakonfigurujte jenom pcmk_delay_max atribut ve dvou Pacemaker clusterech uzlů. Další informace o předcházení Races plotu ve dvou uzlech Pacemaker najdete v tématu zpoždění při ukládání do clusteru se dvěma uzly, aby se zabránilo racesí plotu k případům smrti plotu.
Důležité
Operace monitorování a oplocení jsou rozserializovány. Výsledkem je, že pokud už existuje již běžící operace monitorování a současná událost, dojde k převzetí služeb při selhání clusteru z důvodu již běžící operace monitorování.
[1] povolit použití zařízení STONITH
sudo pcs property set stonith-enabled=true
Tip
Agent Azure plotu vyžaduje odchozí připojení k veřejným koncovým bodům, jak je popsáno, spolu s možnými řešeními ve veřejných koncových bodech pro virtuální počítače s využitím Standard interního nástroje.
Volitelná konfigurace STONITH
Tip
Tato část je platná jenom v případě, že je žádoucí nakonfigurovat speciální zařízení pro oplocení fence_kdump .
Pokud je potřeba shromažďovat diagnostické informace v rámci virtuálního počítače, může být užitečné nakonfigurovat další zařízení STONITH na základě agenta plotu fence_kdump . fence_kdumpAgent může zjistit, že zadaný uzel kdump zotavení po havárii a může službu obnovení po havárii nechat dokončit, než se vyvolají jiné metody oplocení. Všimněte si, že není fence_kdump náhradou za tradiční mechanismy plotu, jako je například agent Azure plot při použití virtuálních počítačů Azure.
Důležité
Uvědomte si, že když fence_kdump je nakonfigurovaný jako stonith na první úrovni, zavede prodlevy při operacích se zabezpečením a v uvedeném pořadí se zpožděními při převzetí služeb při selhání prostředků aplikace.
Pokud se zjistí, že se výpis stavu systému úspěšně zjistil, bude se tato lokalita zpozdit až do dokončení služby obnovení po havárii. Pokud uzel, který selhal, je nedosažitelný nebo pokud neodpovídá, bude se oplocení zpozdit podle času určeného nakonfigurovaným počtem iterací a fence_kdump časovým limitem. Další podrobnosti najdete v tématu návody konfigurace fence_kdump v clusteru Red Hat Pacemaker.
Navrhovaný časový limit fence_kdump může být potřeba přizpůsobit konkrétnímu prostředí.
Doporučujeme nakonfigurovat fence_kdump stonith jenom v případě, že je to nutné pro shromažďování diagnostiky v rámci virtuálního počítače a vždy v kombinaci s tradiční metodou plotu jako s agentem Azure plot.
Následující Red Hat aktualizací KB obsahují důležité informace o konfiguraci fence_kdump stonith:
- Návody konfigurace fence_kdump v clusteru Red Hat Pacemaker
- Jak konfigurovat nebo spravovat úrovně STONITH v clusteru RHEL pomocí Pacemaker
- fence_kdump se nezdařila s časovým limitem po X sekundách v clusteru RHEL 6 0r 7 HA s kexec-Tools staršími než 2.0.14
- Informace o změně výchozího časového limitu najdete v tématu návody konfigurace kdump pro použití s doplňkem RHEL 6, 7, 8 ha .
- Informace o tom, jak snížit zpoždění při převzetí služeb při selhání při použití funkce
fence_kdumpZobrazit, může při přidávání konfigurace fence_kdump snižovat očekávanou prodlevu převzetí služeb při selhání.
Pomocí následujících volitelných kroků můžete fence_kdump kromě konfigurace agenta Azure plotu přidat jako konfiguraci STONITH na první úrovni.
[A] ověřte, zda je kdump aktivní a nakonfigurováno.
systemctl is-active kdump # Expected result # active[A] nainstalujte
fence_kdumpagenta plotu.yum install fence-agents-kdump[1]
fence_kdumpv clusteru vytvořte zařízení stonith.pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1" timeout=30[1] nakonfigurujte úrovně stonith tak, aby
fence_kdumpbyl nejdříve zapojen mechanizmus oplocení.pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1" pcs stonith level add 1 prod-cl1-0 rsc_st_kdump pcs stonith level add 1 prod-cl1-1 rsc_st_kdump pcs stonith level add 2 prod-cl1-0 rsc_st_azure pcs stonith level add 2 prod-cl1-1 rsc_st_azure # Check the stonith level configuration pcs stonith level # Example output # Target: prod-cl1-0 # Level 1 - rsc_st_kdump # Level 2 - rsc_st_azure # Target: prod-cl1-1 # Level 1 - rsc_st_kdump # Level 2 - rsc_st_azure[A] povolí požadované porty pro
fence_kdumpbránu firewall.firewall-cmd --add-port=7410/udp firewall-cmd --add-port=7410/udp --permanent[A] Ujistěte se, že
initramfssoubor obrázku obsahujefence_kdumphostssoubory a. Podrobnosti najdete v tématu návody konfigurace fence_kdump v clusteru Red Hat Pacemaker.lsinitrd /boot/initramfs-$(uname -r)kdump.img | egrep "fence|hosts" # Example output # -rw-r--r-- 1 root root 208 Jun 7 21:42 etc/hosts # -rwxr-xr-x 1 root root 15560 Jun 17 14:59 usr/libexec/fence_kdump_send[A] proveďte
fence_kdump_nodeskonfiguraci v nástroji/etc/kdump.conf, aby nedocházelo kfence_kdumpselhání s časovým limitem pro některékexec-toolsverze. Podrobnosti najdete v tématu fence_kdump vypršení časového limitu, kdy fence_kdump_nodes není zadaný s kexec-Tools verze 2.0.15 nebo novějším , a fence_kdump se v clusteru s vysokou dostupností, který je v RHEL 6 nebo 7 s verzemi kexec-Tools starší než 2.0.14, nepovede o časový limit po X sekundách. Ukázková konfigurace pro cluster se dvěma uzly je uvedená níže. Po provedení změny v/etc/kdump.confse musí image kdump znovu vygenerovat. To je možné dosáhnout restartovánímkdumpslužby.vi /etc/kdump.conf # On node prod-cl1-0 make sure the following line is added fence_kdump_nodes prod-cl1-1 # On node prod-cl1-1 make sure the following line is added fence_kdump_nodes prod-cl1-0 # Restart the service on each node systemctl restart kdumpOtestování konfigurace selháním uzlu. Podrobnosti najdete v tématu návody konfigurace fence_kdump v clusteru Red Hat Pacemaker.
Důležité
Pokud je cluster již v produktivním provozu, naplánovat test odpovídajícím způsobem, že dojde k selhání uzlu, bude mít vliv na aplikaci.
echo c > /proc/sysrq-trigger
Další kroky
- Plánování a implementace Azure Virtual Machines pro SAP
- Nasazení Azure Virtual Machines pro SAP
- Nasazení Azure Virtual Machines DBMS pro SAP
- Další informace o tom, jak vytvořit vysokou dostupnost a naplánovat zotavení po havárii SAP HANA na virtuálních počítačích Azure, najdete v tématu Vysoká dostupnost SAP HANA na azure Virtual Machines (virtuální počítače) .