Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel legt uit hoe je een eenvoudige twee-knoop Pacemaker-cluster opzet en configureert op SUSE Linux Enterprise Server (SLES) in Azure. Deze instructies behandelen SLES for SAP 12 SP5, SLES for SAP 15 SP 4+, en SLES for SAP 16.
Prerequisites
SLES High Availability (HA) documentatie
SLES-documentatie voor SAP-aanbiedingen
Overzicht
Deze gids gaat ervan uit dat je de benodigde resource group, Azure virtueel netwerk, subnet en virtuele machines (VM's) al hebt uitgerold.
Clusters die op Linux draaien, vereisen een fencing agent om ongezonde knooppunten te fenceen. Om deze taak op Azure uit te voeren, gebruik je een van de volgende methoden:
- Storage Based Death (SBD) met Azure Shared Disk
- Storage Based Death (SBD) met iSCSI-doelen
- Azure Fencing Agent
Notitie
De volgende voorvoegsels worden in dit document gebruikt:
- [A]: Van toepassing op alle knooppunten.
- [1]: Alleen van toepassing op knooppunt 1.
- [2]: Alleen van toepassing op knooppunt 2.
Gebruik van SBD met Azure Shared Disk
Door gebruik te maken van Azure Shared Disks kun je dezelfde schijf mounten op alle virtuele machines die deel uitmaken van de cluster. Je kunt je SBD-apparaat op die gedeelde schijf hosten zonder extra infrastructuurvereisten.
Voordelen
- Biedt een native Azure shared block device-optie voor SBD zonder extra middelen te vereisen.
- Virtuele machines verbinden de beheerde schijf direct, waardoor de afhankelijkheid van extra netwerkoverwegingen wordt verminderd.
Belangrijke overwegingen
- Je kunt een gedeelde Azure-schijf met de
Premium SSDSKU als SBD-apparaat gebruiken. - Bekijk de lijst met ondersteunde besturingssystemen.
- SBD-apparaten die een Azure premium gedeelde schijf gebruiken, ondersteunen lokaal redundante opslag (LRS) en zone-redundante opslag (ZRS).
- Afhankelijk van het type implementatie, kiest u de juiste redundante opslag voor een gedeelde Azure-schijf als uw SBD-apparaat.
- Een SBD-apparaat dat LRS gebruikt voor Azure premium gedeelde schijf (skuName - Premium_LRS) ondersteunt alleen implementaties in een beschikbaarheidsset.
- Een SBD-apparaat dat ZRS gebruikt voor een Azure premium gedeelde schijf (skuName - Premium_ZRS) wordt aanbevolen voor implementaties in beschikbaarheidszones.
- De gedeelde Azure-schijf die u voor SBD-apparaten gebruikt, hoeft niet groot te zijn. De waarde maxShares bepaalt hoeveel clusterknooppunten de gedeelde schijf kunnen gebruiken. Je kunt bijvoorbeeld P1- of P2-schijfgroottes gebruiken voor je SBD-apparaat op een twee-knoop cluster zoals SAP ASCS/ERS of SAP HANA scale-up.
- Voor clusters met meer dan twee knooppunten, raadpleeg de gedocumenteerde maxShares voor je geselecteerde schijf.
- Verbind geen Azure shared disk SBD-apparaat aan verschillende Pacemaker-clusters.
- Als u meerdere gedeelde Azure-schijf-SBD-apparaten gebruikt, controleert u de limiet voor een maximum aantal gegevensschijven dat kan worden gekoppeld aan een virtuele machine.
- Raadpleeg de sectie Beperkingen van de documentatie over gedeelde Azure-schijven voor meer informatie over beperkingen voor gedeelde Azure-schijven.
SBD gebruiken met iSCSI-doelen
Deze oplossing vereist dat je Internet Small Computer System Interface (iSCSI)-doelen host op ten minste één extra virtuele machine (VM).
Voordelen
- Deze iSCSI-hostservers kunnen ook iSCSI-doelen hosten voor andere Pacemaker-clusters in dezelfde regio.
- Als je ze al on-premises gebruikt, vereisen ze geen aanpassingen aan hoe je de Pacemaker-cluster bedient.
Belangrijke overwegingen
- Je moet drie iSCSI-hostservers gebruiken om het hoogste niveau van veerkracht voor je cluster te hebben.
- Het gebruik van slechts één server creëert één storingspunt, waardoor je cluster geen fencing kan uitvoeren als die server uitvalt.
- Pacemaker staat geen fencing toe als je slechts twee nodes hebt en er één is uitgevallen.
- iSCSI-doelhostservers moeten zich in dezelfde regio bevinden als je clusters.
- Netwerkroutering tussen je clusters en iSCSI-hostservers mag niet over niet-redundante netwerkapparaten (zoals een Network Virtual Appliance) lopen.
- Onderhoudsgebeurtenissen en andere problemen met netwerkapparaten kunnen de stabiliteit en betrouwbaarheid van de totale clusterconfiguratie negatief beïnvloeden.
Gebruik van de Azure Fence Agent
Door gebruik te maken van de Azure Fence Agent kan je cluster knooppunten afsluiten door direct de Azure API's aan te roepen om mislukte knooppunten opnieuw op te starten.
Voordelen
- Geen extra middelen nodig.
- Beheerde identiteiten verwijderen alle inloggegevensonderhoud.
Belangrijke overwegingen
- Gebruik Managed Identities voor authenticatie. Als je momenteel een service principal gebruikt, update dan de Azure Fence Agent van SPN naar MSI.
- De Azure fence agent vereist uitgaande connectiviteit naar publieke Azure-eindpunten. Zie Openbare eindpuntconnectiviteit voor VM's met behulp van standaard-ILB voor meer informatie en mogelijke oplossingen.
- De bewakings- en afschermingsbewerkingen worden gedeserialiseerd. Als er dus een langduriger actieve bewakingsbewerking en een gelijktijdige fencing-gebeurtenis is, is er geen vertraging voor de cluster-overgang omdat de bewakingsbewerking al wordt uitgevoerd.
Deploy een gedeelde Azure Disk voor SBD
Om een gedeelde Azure-schijf te maken en te koppelen met PowerShell, voer je de volgende commando's uit. Als u resources wilt implementeren met behulp van de Azure CLI of Azure Portal, raadpleegt u Een ZRS-schijf implementeren.
$ResourceGroup = "<ResourceGroupName>"
$DiskSizeInGB = 4
$DiskName = "<SBDDiskName>"
# Must be Equal to or greater than the Number of Nodes in the Cluster
$ShareNodes = 2
# Options are "Premium_LRS" or "Premium_ZRS"
$SKUName = "<DiskSKU>"
# VMs to attach the disk to
$vmNames = @("sap-cl1", "sap-cl2")
# Lun to attach the disk to. You should use the same lun on all servers in the cluster.
$lunNumber = <lunNumber>
$diskConfig = New-AzDiskConfig -Location $Location -SkuName $SkuName -CreateOption Empty -DiskSizeGB $DiskSizeInGB -MaxSharesCount $ShareNodes
$dataDisk = New-AzDisk -ResourceGroupName $ResourceGroup -DiskName $DiskName -Disk $diskConfig
# Attach SBD disk to cluster VMs
foreach ($vmName in $vmNames)
{
$vm = Get-AzVM -ResourceGroupName $resourceGroup -Name $vmName
Add-AzVMDataDisk -VM $vm -Name $diskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun $lunNumber
Update-AzVM -VM $vm -ResourceGroupName $resourceGroup -Verbose
}
Gebruik iSCSI-doelen
iSCSI-targethostservers configureren
Deploy drie virtuele machines die draaien op een ondersteunde SLES OS-versie. De VM's hoeven niet groot te zijn. VM-groottes zoals Standard_E2s of Standard_D2s zijn voldoende.
Notitie
Je hoeft SLES niet te gebruiken voor de SAP Applications OS-image voor de iSCSI-doelserver. Je kunt in plaats daarvan een standaard SLES OS-image gebruiken. De levenscyclus van de ondersteuning varieert echter tussen verschillende productversies van het besturingssysteem.
Installeer de nieuwste updates en start indien nodig opnieuw op.
sudo zypper -n updateInstalleer het iSCSI target pakket.
sudo zypper -n install targetcli-fbActiveer en start de iSCSI-service.
sudo systemctl start targetcli sudo systemctl enable targetcli
Maak iSCSI-doelen aan
Voor elke cluster moet je een iSCSI-schijf provisioneren op elke iSCSI-hostserver, en vervolgens toegang geven aan elke clusterknoop op die schijf. In dit voorbeeld maak je schijven aan voor twee verschillende clusters:
- ascsnw1: De ASCS/ERS-cluster voor NW1
- hdbnw1: De HANA Database-cluster voor NW1
- sap-cl1 en sap-cl2: Gastnamen voor de NW1 ASCS/ERS clusterknooppunten
- sap-db1 en sap-db2: Gastnamen voor de NW1 HANA-clusterknooppunten
- Maak de hoofdmap voor alle SBD-apparaten.
sudo mkdir /sbd - Maak het SBD-apparaat aan voor de eerste cluster (ascsnw1).
# Create Storage Object sudo targetcli backstores/fileio create sbdascsnw1 /sbd/sbdascsnw1 50M write_back=false # Create iSCSI Target sudo targetcli iscsi/ create iqn.2006-04.ascsnw1.local:ascsnw1 # Creates the LUN and attaches it to the iSCSI Target sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/luns/ create /backstores/fileio/sbdascsnw1 # Grant Cluster Node 1 (sap-cl1) access to the iSCSI Target sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.sap-cl1.local:sap-cl1 # Grant Cluster Node 2 (sap-cl2) access to the iSCSI Target sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.sap-cl2.local:sap-cl2 - Maak het SBD-apparaat aan voor de tweede cluster (hdbnw1).
# Create Storage Object sudo targetcli backstores/fileio create sbdhdbnw1 /sbd/sbdhdbnw1 50M write_back=false # Create iSCSI Target sudo targetcli iscsi/ create iqn.2006-04.hdbnw1.local:hdbnw1 # Creates the LUN and attaches it to the iSCSI Target sudo targetcli iscsi/iqn.2006-04.hdbnw1.local:hdbnw1/tpg1/luns/ create /backstores/fileio/sbdhdbnw1 # Grant Cluster Node 1 (sap-db1) access to the iSCSI Target sudo targetcli iscsi/iqn.2006-04.hdbnw1.local:hdbnw1/tpg1/acls/ create iqn.2006-04.sap-db1.local:sap-db1 # Grant Cluster Node 2 (sap-db2) access to the iSCSI Target sudo targetcli iscsi/iqn.2006-04.hdbnw1.local:hdbnw1/tpg1/acls/ create iqn.2006-04.sap-db2.local:sap-db2 - Sla de configuratie op.
sudo targetcli saveconfig - Controleer de opstelling.
sudo targetcli ls o- / ............................................................................................... [...] o- backstores .................................................................................... [...] | o- block ........................................................................ [Storage Objects: 0] | o- fileio ....................................................................... [Storage Objects: 2] | | o- sbdascsnw1 ..................................... [/sbd/sbdascsnw1 (50.0MiB) write-thru activated] | | | o- alua ......................................................................... [ALUA Groups: 1] | | | o- default_tg_pt_gp ............................................. [ALUA state: Active/optimized] | | o- sbdhdbnw1 ....................................... [/sbd/sbdhdbnw1 (50.0MiB) write-thru activated] | | o- alua ......................................................................... [ALUA Groups: 1] | | o- default_tg_pt_gp ............................................. [ALUA state: Active/optimized] | o- pscsi ........................................................................ [Storage Objects: 0] | o- ramdisk ...................................................................... [Storage Objects: 0] o- iscsi .................................................................................. [Targets: 2] | o- iqn.2006-04.hdbnw1.local:hdbnw1 ......................................................... [TPGs: 1] | | o- tpg1 ..................................................................... [no-gen-acls, no-auth] | | o- acls ................................................................................ [ACLs: 2] | | | o- iqn.2006-04.sap-db1.local:sap-db1 .......................................... [Mapped LUNs: 1] | | | | o- mapped_lun0 ..................................................... [lun0 fileio/sbdhdb (rw)] | | | o- iqn.2006-04.sap-db2.local:sap-db2 .......................................... [Mapped LUNs: 1] | | | o- mapped_lun0 ..................................................... [lun0 fileio/sbdhdb (rw)] | | o- luns ................................................................................ [LUNs: 1] | | | o- lun0 ................................. [fileio/sbdhdbnw1 (/sbd/sbdhdbnw1) (default_tg_pt_gp)] | | o- portals .......................................................................... [Portals: 1] | | o- 0.0.0.0:3260 ........................................................................... [OK] | o- iqn.2006-04.ascsnw1.local:ascsnw1 ....................................................... [TPGs: 1] | o- tpg1 ..................................................................... [no-gen-acls, no-auth] | o- acls ................................................................................ [ACLs: 2] | | o- iqn.2006-04.sap-cl1.local:sap-cl1 .......................................... [Mapped LUNs: 1] | | | o- mapped_lun0 ................................................. [lun0 fileio/sbdascsnw1 (rw)] | | o- iqn.2006-04.sap-cl2.local:sap-cl2 .......................................... [Mapped LUNs: 1] | | o- mapped_lun0 ................................................. [lun0 fileio/sbdascsnw1 (rw)] | o- luns ................................................................................ [LUNs: 1] | | o- lun0 ............................... [fileio/sbdascsnw1 (/sbd/sbdascsnw1) (default_tg_pt_gp)] | o- portals .......................................................................... [Portals: 1] | o- 0.0.0.0:3260 ........................................................................... [OK] o- loopback ............................................................................... [Targets: 0]
Azure Fence Agent configureren
Identiteit creëren
Om een beheerde identiteit (MSI) te creëren, maak je voor elke VM in het cluster een door het systeem toegewezen beheerde identiteit . Door gebruikers toegewezen beheerde identiteiten worden op dit moment niet ondersteund.
Maak een aangepaste rol aan.
Je identiteit heeft via Azure RBAC machtigingen nodig om fencingacties op je VM's uit te voeren. Om te voldoen aan het Least Privileged Access (LPA) Security Model, maak je een aangepaste RBAC-rol aan.
Gebruik de volgende definitie voor je functie, waarbij je je abonnements-ID(s) vervangt waar nodig:
{ "Name": "Linux Fence Agent", "description": "Allowed to power-off and start virtual machines", "assignableScopes": [ "/subscriptions/<Subscription 1 ID (GUID)>", "/subscriptions/<Subscription N ID (GUID)>" ], "actions": [ "Microsoft.Compute/*/read", "Microsoft.Compute/virtualMachines/powerOff/action", "Microsoft.Compute/virtualMachines/start/action" ], "notActions": [], "dataActions": [], "notDataActions": [] }Wijs de aangepaste rol toe aan uw identiteiten.
Voor elke VM in je cluster wijs je de beheerde identiteit toe aan de aangepaste rol "Linux Fence Agent" voor elke VM in de cluster, inclusief zichzelf. Zie Een beheerde identiteit toegang tot een resource toewijzen met behulp van Azure Portal voor gedetailleerde stappen.
Belangrijk
Wees je ervan bewust dat de toewijzing en verwijdering van autorisatie met beheerde identiteiten kan worden uitgesteld tot deze effectief is.
Cluster aanmaken en configureren
[A] Werk het besturingssysteem bij en start indien nodig opnieuw op.
sudo zypper -n update[A] Installeer de vereiste clusterpakketten.
sudo zypper -n install socat pacemaker resource-agents[A] Installeer de vereiste hekpakketten.
sudo zypper -n install sbdsudo zypper -n install sbd open-iscsisudo zypper -n install fence-agents-azure-arm[A] Stel DNS in.
U kunt ofwel een DNS-server gebruiken of
/etc/hostsop alle knooppunten wijzigen. In dit voorbeeld ziet u hoe u het/etc/hostsbestand gebruikt.Werk de vermeldingen bij zodat ze overeenkomen met je IP-adressen en hostnamen.
sudo vi /etc/hosts [...] # IP address of cluster node 1 10.27.0.6 sap-cl1 # IP address of cluster node 2 10.27.0.7 sap-cl2sudo vi /etc/hosts [...] # IP address of cluster node 1 10.0.0.6 sap-cl1 # IP address of cluster node 2 10.0.0.7 sap-cl2 # IP address of iSCSI Target Host Server 1 10.0.0.17 sbd-iscsi1 # IP address of iSCSI Target Host Server 1 10.0.0.18 sbd-iscsi2 # IP address of iSCSI Target Host Server 1 10.0.0.19 sbd-iscsi3[A] Wissel SSH-rootsleutels uit tussen de knooppunten.
sudo ssh-keygen -t ed25519 -N "" -f /root/.ssh/id_ed25519 sudo cat /root/.ssh/id_ed25519.pub sudo vi /root/.ssh/authorized_keys [...] <Contents from cat command on other server>[A] Configureer het besturingssysteem.
- Pas de dirty cache aan voor NFS-clients op systemen met veel geheugen. Zie dit artikel voor meer informatie.
sudoedit /etc/sysctl.d/30-nfs.conf && sudo sysctl --systemvm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800 - Zorg dat
vm.swappinesshet op 10 staat om swap-gebruik te verminderen en geheugen te bevoordelen.sudoedit /etc/sysctl.d/31-memswap.conf && sudo sysctl --systemvm.swappiness = 10 -
SLES 12 SP 5 Alleen: Pacemaker veroorzaakt af en toe veel processen, waardoor het toegestane aantal kan worden uitgeput. Als dit gebeurt, kan een heartbeat tussen de clusterknooppunten uitvallen en leiden tot een failover van uw resources. Verhoog het maximale aantal toegestane processen door de volgende parameter in te stellen:
# Edit the configuration file sudo vi /etc/systemd/system.conf [...] DefaultTasksMax=4096 [...] # Activate this setting sudo systemctl daemon-reload # Test to ensure that the change was successful sudo systemctl --no-pager show | grep DefaultTasksMax
- Pas de dirty cache aan voor NFS-clients op systemen met veel geheugen. Zie dit artikel voor meer informatie.
[1] Maak het cluster.
sudo crm cluster init --yes --name ascsnw1 --node sap-cl1 --node sap-cl2[1] Configureer de clusterinstellingen.
sudo crm corosync set totem.token 30000 sudo csync2 -xv sudo crm cluster run "corosync-cfgtool -R"Configureer een opstartvertraging voor Pacemaker.
Het direct starten van Pacemaker na het opstarten kan mogelijk een node in staat stellen zich weer bij de cluster te voegen voordat de failover is voltooid, waardoor failover wordt voorkomen of het herstel wordt vertraagd. Om dit probleem op te lossen, gebruik je een timerservice om het opstarten van de pacemaker bij herstart uit te stellen.
-
[A] Stel de timerservice in.
sudo vi /etc/systemd/system/pacemaker.timer[Unit] Description=Delay start of pacemaker.service after boot [Timer] OnBootSec=216 Unit=pacemaker.service [Install] WantedBy=timers.target -
[A] Activeer timerservice.
sudo systemctl daemon-reload sudo systemctl enable pacemaker.timer -
[1] Schakel de pacemaker-diensten uit.
sudo crm cluster disable --all
-
[A] Stel de timerservice in.
Controleer het cluster.
-
[1] Controleer het Pacemaker-cluster.
sudo crm status Cluster Summary: * Stack: corosync (Pacemaker is running) * Current DC: sap-cl1 (version 2.1.7+20231219.0f7f88312-150600.6.15.1-2.1.7+20231219.0f7f88312) - partition with quorum * Last updated: Tue Aug 4 17:50:24 2026 on sap-cl1 * Last change: Thu Jul 30 19:02:56 2026 by hacluster via hacluster on sap-cl1 * 2 nodes configured * 0 resource instances configured Node List: * Online: [ sap-cl1 sap-cl2 ] Full List of Resources: -
[A] Valideer de diensten.
systemctl list-unit-files pacemaker.timer pacemaker.service corosync.serviceUNIT FILE STATE PRESET corosync.service disabled disabled pacemaker.service disabled disabled pacemaker.timer enabled disabled
-
[1] Controleer het Pacemaker-cluster.
Afrastering configureren
-
[A] Activeer de SBD-dienst.
sudo systemctl enable sbd -
[A] Schakel de softwarewaakhond in.
echo softdog | sudo tee /etc/modules-load.d/softdog.conf sudo modprobe softdog -
[A] Ontdek de iSCSI-apparaat-ID.
- Bepaal het mountpunt op basis van het LUN-nummer
ls -l /dev/disk/azure/scsi1/lun1 lrwxrwxrwx. 1 root root 12 Apr 16 20:22 /dev/disk/azure/scsi1/lun1 -> ../../../sdb - Haal de iSCSI-apparaat-ID van mount.
ls -l /dev/disk/by-id/scsi-3* | grep -i sdb lrwxrwxrwx. 1 root root 9 Apr 16 20:22 /dev/disk/by-id/scsi-360022480055c9f501a24256ea0f87617 -> ../../sdb
- Bepaal het mountpunt op basis van het LUN-nummer
-
[1] Maak het SBD-apparaat.
sudo sbd -d /dev/disk/by-id/scsi-360022480055c9f501a24256ea0f87617 -1 60 -4 120 create
-
[1] Voeg het SBD-apparaat toe aan de cluster.
sudo crm cluster init --yes sbd -s /dev/disk/by-id/scsi-360022480055c9f501a24256ea0f87617 -
[1] Verander de SBD-configuratie-instellingen.
sudo crm configure property stonith-timeout=210 sudo crm configure property stonith-enabled=true # For the below command, 600 is the interval, and 120 is the timeout sudo crm configure monitor stonith-sbd 600:120 sudo crm configure set stonith-sbd.pcmk_delay_max 15 -
[A] Valideer SBD-configuratiebestand.
sudo vi /etc/sysconfig/sbd[...] SBD_DELAY_START=no [...] SBD_PACEMAKER=yes [...] SBD_STARTMODE=always [...]
-
[A] Schakel de benodigde diensten in.
sudo systemctl enable sbd iscsi iscsid -
[A] Schakel de softwarewaakhond in.
echo softdog | sudo tee /etc/modules-load.d/softdog.conf sudo modprobe softdog -
[1] Werk de
InitiatorNamevoor knooppunt 1 bij.sudo vi /etc/iscsi/initiatorname.iscsi [...] InitiatorName=iqn.2006-04.sap-cl1.local:sap-cl1 -
[2] Werk
InitiatorNamevoor knooppunt 2 bij.# Node 2 sudo vi /etc/iscsi/initiatorname.iscsi [...] InitiatorName=iqn.2006-04.sap-cl2.local:sap-cl2 -
[A] Herstart de iSCSI-diensten.
sudo systemctl restart iscsi iscsid -
[A] Plaats de iSCSI-doelen vanaf alle iSCSI-hostservers.
for hostServer in sbd-iscsi1 sbd-iscsi2 sbd-iscsi3; do iscsiadm -m discovery --type=st --portal=${hostServer}:3260 iscsiadm -m node -T iqn.2006-04.ascsnw1.local:ascsnw1 --login --portal=${hostServer}:3260 iscsiadm -m node --portal=${hostServer}:3260 -T iqn.2006-04.ascsnw1.local:ascsnw1 --op=update --name=node.startup --value=automatic done -
[A] Ontdek de iSCSI-apparaat-ID's.
- Bepaal de iSCSI-mountpunten.
lsscsi [0:0:0:0] disk Msft Virtual Disk 1.0 /dev/sda [1:0:0:1] disk Msft Virtual Disk 1.0 /dev/sdb [2:0:0:0] disk LIO-ORG sbdascsnw1 4.0 /dev/sdc [3:0:0:0] disk LIO-ORG sbdascsnw1 4.0 /dev/sdd [4:0:0:0] disk LIO-ORG sbdascsnw1 4.0 /dev/sde - Haal de iSCSI-apparaat-ID's op.
ls -l /dev/disk/by-id/scsi-3* | grep sd[c,d,e] lrwxrwxrwx 1 root root 9 Jul 21 18:02 /dev/disk/by-id/scsi-3600140537cf4c6d604a4ae4b58f1a528 -> ../../sdd lrwxrwxrwx 1 root root 9 Jul 21 17:50 /dev/disk/by-id/scsi-360014056e4d07b80e1148ac973330dff -> ../../sdc lrwxrwxrwx 1 root root 9 Jul 21 18:04 /dev/disk/by-id/scsi-360014059f135275c24647d49268123e5 -> ../../sde
- Bepaal de iSCSI-mountpunten.
-
[1] Maak de SBD-apparaten.
sudo sbd -d /dev/disk/by-id/scsi-3600140537cf4c6d604a4ae4b58f1a528 -1 60 -4 120 create sudo sbd -d /dev/disk/by-id/scsi-360014056e4d07b80e1148ac973330dff -1 60 -4 120 create sudo sbd -d /dev/disk/by-id/scsi-360014059f135275c24647d49268123e5 -1 60 -4 120 create
-
[1] Voeg de SBD-apparaten toe aan de cluster.
sudo crm cluster init --yes sbd \ -s /dev/disk/by-id/scsi-3600140537cf4c6d604a4ae4b58f1a528 \ -s /dev/disk/by-id/scsi-360014056e4d07b80e1148ac973330dff \ -s /dev/disk/by-id/scsi-360014059f135275c24647d49268123e5 -
[1] Verander de SBD-configuratie-instellingen.
sudo crm configure property stonith-timeout=210 sudo crm configure property stonith-enabled=true # For the below command, 600 is the interval, and 120 is the timeout sudo crm configure monitor stonith-sbd 600:120 sudo crm configure set stonith-sbd.pcmk_delay_max 15 -
[A] Valideer SBD-configuratiebestand.
sudo vi /etc/sysconfig/sbd[...] SBD_DELAY_START=no [...] SBD_PACEMAKER=yes [...] SBD_STARTMODE=always [...]
[1] Configureer de Azure-fence-agent.
Notitie
Bij het gebruik van Azure government cloud moet je de
cloud=optie specificeren bij het configureren van de Azure Fence Agent. Bijvoorbeeldcloud=usgovvoor de Azure US Government-cloud.sudo crm configure primitive rsc_st_azure stonith:fence_azure_arm params msi=true \ resourceGroup="<ResourceGroupName>" subscriptionId="<SubscriptionID>" \ pcmk_host_map="sap-cl1:<AzureVMNameCL1>;sap-cl2:<AzureVMNameCL2>" \ power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 \ pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \ meta failure-timeout=120s op monitor interval=3600 timeout=120[1] Configureer de cluster voor Azure Fence Agent.
sudo crm configure property stonith-enabled=true sudo crm configure property stonith-timeout=900
Het bouwen van een pacemakercluster met meer dan twee knooppunten
Als je een groter cluster bouwt, houd dan deze overwegingen in gedachten:
[1] Stel de configuratie van het cluster aan.
De
quorum.two_nodeen-waardenquorum.expected_votesworden automatisch bijgewerkt wanneer je een derde of meer knooppunten toevoegt. Valideer dat hetquorum.two_nodeis0enquorum.expected_votesgelijk is aan het aantal nodes in je cluster.sudo crm corosync get quorum.two_node sudo crm corosync get quorum.expected_votesPas de afstelling van het hek aan.
sudo crm resource param stonith-sbd delete pcmk_delay_max sudo crm resource param stonith-sbd set pcmk_action_limit -1sudo crm resource param rsc_st_azure delete pcmk_delay_max sudo crm resource param rsc_st_azure pcmk_action_limit -1
Pacemaker configureren voor geplande Azure-gebeurtenissen
Geplande Gebeurtenissen is een Azure Metadata Service die je applicatie tijd geeft om je voor te bereiden op VM-onderhoud. Het geeft informatie over aankomende onderhoudsgebeurtenissen, zoals een herstart, zodat je applicatie zich daarop kan voorbereiden en verstoringen kan beperken.
De azure-events-az resource agent monitort deze metadata-service. Wanneer de agent gebeurtenissen detecteert en bepaalt dat er een andere clusternode beschikbaar is, stelt hij een node-level gezondheidsattribuut #health-azure in op -1000000. Deze waarde zorgt ervoor dat de cluster de node als ongezond beschouwt en middelen wegmigreert van de getroffen node. De locatiebeperking zorgt ervoor dat resources die beginnen met health- worden uitgesloten, aangezien de azure-events-az-agent nog steeds op beide knooppunten moet draaien. Zodra de getroffen clusterknoop vrij is van actieve clusterbronnen, waarschuwt de agent de metadatadienst en kan het geplande evenement doorgaan. Wanneer alle gebeurtenissen zijn voltooid, zet de resource agent het #health-azure attribuut terug naar 0, waarmee de knoop weer als gezond wordt gemarkeerd.
Belangrijk
Eerder beschreven in dit document het gebruik van resourceagent azure-events. Nieuwe resourceagent azure-events-az biedt volledige ondersteuning voor Azure-omgevingen die zijn geïmplementeerd in verschillende beschikbaarheidszones. Gebruik de nieuwere azure-events-az agent voor alle SAP hoogbeschikbare systemen met Pacemaker.
Alleen SLES 12 SP5 Controleer je versie van het
resource-agentspakket en update indien nodig. SLES 15 en hoger voegen het standaard toe in hun geïnstalleerde versies.zypper info resource-agentsDe minimale versie is
resource-agents-4.3.018.a7fb5035-3.98.1.[1] Zet het cluster in onderhoudsmodus.
sudo crm configure property maintenance-mode=true[1] Stel de pacemakercluster gezondheidsknoopstrategie en -beperking in.
Belangrijk
Definieer geen andere resources in de cluster te beginnen met
health-, behalve de resources die in de volgende stappen worden beschreven.sudo crm configure property node-health-strategy=custom sudo crm configure location loc_azure_health \ /'!health-.*'/ rule '#health-azure': defined '#uname'[1] Stel de initiële waarde van de clusterkenmerken in.
Voer een commando uit voor elke clusterknoop. Neem voor scale-out-omgevingen de majority-maker-VM op.
# Node 1 sudo crm_attribute --node sap-cl1 --name '#health-azure' --update 0 # Node 2 sudo crm_attribute --node sap-cl2 --name '#health-azure' --update 0 # Node N sudo crm_attribute --node sap-clN --name '#health-azure' --update 0[1] Configureer de resources in Pacemaker. De bronnen moeten beginnen met
health-azure.sudo crm configure primitive health-azure-events ocf:heartbeat:azure-events-az \ meta failure-timeout=120s \ op start start-delay=60s \ op monitor interval=10s sudo crm configure clone health-azure-events-cln health-azure-events \ meta allow-unhealthy-nodes=trueNotitie
Wanneer je de
health-azure-eventsbron configureert, kun je het volgende waarschuwingsbericht negeren.waarschuwing: health-azure-events: onbekend kenmerk 'allow-unhealthy-nodes'.
Haal het pacemaker-cluster uit onderhoudsmodus en ruim eventuele fouten op.
sudo crm configure property maintenance-mode=false sudo crm resource cleanupControleer of het
health-azure-eventssuccesvol start op alle nodes.crm status Cluster Summary: * Stack: corosync (Pacemaker is running) * Current DC: sap-cl1 (version 3.0.0+20250218.64cd85422c-160000.4.1-3.0.0+20250218.64cd85422c) - partition with quorum * Last updated: Thu Jul 30 19:07:49 2026 on sap-cl1 * Last change: Thu Jul 30 19:06:01 2026 by root via root on sap-cl1 * 2 nodes configured * 3 resource instances configured Node List: * Online: [ z04ascs3 z04ascs4 ] Full List of Resources: * stonith-sbd (stonith:fence_sbd): Started sap-cl1 * Clone Set: health-azure-events-cln [health-azure-events]: * Started: [ sap-cl1 sap-cl2 ]De eerste uitvoering van een query voor geplande gebeurtenissen kan tot 2 minuten duren. Pacemaker-test met geplande gebeurtenissen kan herstart- of herimplementatieacties gebruiken voor de cluster-VM's. Voor meer informatie, zie geplande evenementen.
Notitie
Nadat je de Pacemaker-resources voor de Azure-events agent hebt geconfigureerd, kun je waarschuwingsberichten krijgen zoals, als je de cluster in of uit onderhoudsmodus plaatst:
WAARSCHUWING: cib-bootstrap-options: onbekend kenmerk 'hostName_hostname'
WAARSCHUWING: cib-bootstrap-options: onbekend kenmerk 'azure-events_globalPullState'
WAARSCHUWING: cib-bootstrap-options: onbekend kenmerk 'hostName_ hostnaam'
Je kunt deze waarschuwingsberichten negeren.
Volgende stappen
- Azure Virtuele Machines plannen en implementeren voor SAP.
- Azure Virtuele Machines-implementatie voor SAP.
- DBMS-implementatie van Azure Virtuele Machines voor SAP.
- Hoge beschikbaarheid voor NFS Simple Mount op Azure VM's op SUSE Linux Enterprise Server.
- Zie Hoge beschikbaarheid van SAP HANA op virtuele Azure-machines voor meer informatie over hoge beschikbaarheid en plannen voor herstel na noodgevallen van SAP HANA op virtuele Azure-machines.