Konfigurera Pacemaker på SUSE Linux Enterprise Server i Azure
I den här artikeln beskrivs hur du konfigurerar Pacemaker på SUSE Linux Enterprise Server (SLES) i Azure.
Översikt
I Azure har du två alternativ för att konfigurera fäktning i Pacemaker-klustret för SLES. Du kan använda en Azure-stängselagent som startar om en misslyckad nod via Azure-API:erna, eller så kan du använda SBD-enhet.
Använda en SBD-enhet
Du kan konfigurera SBD-enheten med något av två alternativ:
SBD med en iSCSI-målserver:
SBD-enheten kräver minst en ytterligare virtuell dator (VM) som fungerar som en iSCSI-målserver (Internet Small Computer System Interface) och tillhandahåller en SBD-enhet. Dessa iSCSI-målservrar kan dock delas med andra Pacemaker-kluster. Fördelen med att använda en SBD-enhet är att om du redan använder SBD-enheter lokalt behöver de inga ändringar i hur du använder Pacemaker-klustret.
Du kan använda upp till tre SBD-enheter för ett Pacemaker-kluster för att tillåta att en SBD-enhet blir otillgänglig (till exempel under os-korrigering av iSCSI-målservern). Om du vill använda mer än en SBD-enhet per Pacemaker ska du distribuera flera iSCSI-målservrar och ansluta en SBD från varje iSCSI-målserver. Vi rekommenderar att du använder antingen en SBD-enhet eller tre. Pacemaker kan inte automatiskt avgränsa en klusternod om endast två SBD-enheter har konfigurerats och en av dem inte är tillgänglig. Om du vill kunna stänga när en iSCSI-målserver är nere måste du använda tre SBD-enheter och därför tre iSCSI-målservrar. Det är den mest motståndskraftiga konfigurationen när du använder SBD:er.
Viktigt!
När du planerar och distribuerar Linux Pacemaker-klustrade noder och SBD-enheter ska du inte tillåta routning mellan dina virtuella datorer och de virtuella datorer som är värdar för SBD-enheterna att passera genom andra enheter, till exempel en virtuell nätverksinstallation (NVA).
Underhållshändelser och andra problem med NVA kan ha en negativ inverkan på stabiliteten och tillförlitligheten i den övergripande klusterkonfigurationen. Mer information finns i Användardefinierade routningsregler.
SBD med en delad Azure-disk:
För att konfigurera en SBD-enhet måste du koppla minst en delad Azure-disk till alla virtuella datorer som ingår i Pacemaker-klustret. Fördelen med att SBD-enheten använder en delad Azure-disk är att du inte behöver distribuera ytterligare virtuella datorer.
Här följer några viktiga överväganden om SBD-enheter när du använder en delad Azure-disk:
- En Delad Azure-disk med Premium SSD stöds som en SBD-enhet.
- SBD-enheter som använder en delad Azure-disk stöds på SLES High Availability 15 SP01 och senare.
- SBD-enheter som använder en delad Azure Premium-disk stöds på lokalt redundant lagring (LRS) och zonredundant lagring (ZRS).
- Beroende på typen av distribution väljer du lämplig redundant lagring för en Delad Azure-disk som SBD-enhet.
- En SBD-enhet som använder LRS för delad Azure Premium-disk (skuName – Premium_LRS) stöds endast med distribution i tillgänglighetsuppsättningen.
- En SBD-enhet som använder ZRS för en delad Azure Premium-disk (skuName – Premium_ZRS) rekommenderas med distribution i tillgänglighetszoner.
- En ZRS för hanterad disk är för närvarande inte tillgänglig i alla regioner med tillgänglighetszoner. Mer information finns i avsnittet "Begränsningar för ZRS" i Redundansalternativ för hanterade diskar.
- Den Delade Azure-disk som du använder för SBD-enheter behöver inte vara stor. Värdet maxShares avgör hur många klusternoder som kan använda den delade disken. Du kan till exempel använda P1- eller P2-diskstorlekar för din SBD-enhet i kluster med två noder, till exempel SAP ASCS/ERS eller SAP HANA-uppskalning.
- För HANA-utskalning med HANA-systemreplikering (HSR) och Pacemaker kan du använda en Delad Azure-disk för SBD-enheter i kluster med upp till fyra noder per replikeringsplats på grund av den aktuella gränsen för maxShares.
- Vi rekommenderar inte att du ansluter en SBD-enhet med delad Azure-disk mellan Pacemaker-kluster.
- Om du använder flera SBD-enheter med delad Azure-disk kontrollerar du gränsen för ett maximalt antal datadiskar som kan anslutas till en virtuell dator.
- Mer information om begränsningar för delade Azure-diskar finns i avsnittet "Begränsningar" i dokumentationen om delade Azure-diskar.
Använda en Azure Fence-agent
Du kan konfigurera fäktning med hjälp av en Azure-stängselagent. Azure Fence-agenten kräver hanterade identiteter för de virtuella klusterdatorerna eller ett huvudnamn för tjänsten som hanterar omstart av misslyckade noder via Azure-API:er. Azure Fence-agenten kräver inte distribution av ytterligare virtuella datorer.
SBD med en iSCSI-målserver
Följ anvisningarna i nästa avsnitt om du vill använda en SBD-enhet som använder en iSCSI-målserver för stängsel.
Konfigurera iSCSI-målservern
Du måste först skapa virtuella iSCSI-måldatorer. Du kan dela iSCSI-målservrar med flera Pacemaker-kluster.
Distribuera nya virtuella SLES 12 SP3- eller högre datorer och anslut till dem via SSH. Datorerna behöver inte vara stora. Storlekar på virtuella datorer Standard_E2s_v3 eller Standard_D2s_v3 räcker. Se till att använda Premium Storage för OS-disken.
Kör följande kommandon på virtuella iSCSI-måldatorer:
a. Uppdatera SLES.
sudo zypper update
Kommentar
Du kan behöva starta om operativsystemet när du har uppgraderat eller uppdaterat operativsystemet.
b. Ta bort paket.
Avinstallera följande paket för att undvika ett känt problem med targetcli och SLES 12 SP3. Du kan ignorera fel om paket som inte kan hittas.
sudo zypper remove lio-utils python-rtslib python-configshell targetcli
c. Installera iSCSI-målpaket.
sudo zypper install targetcli-fb dbus-1-python
d. Aktivera iSCSI-måltjänsten.
sudo systemctl enable targetcli sudo systemctl start targetcli
Skapa en iSCSI-enhet på iSCSI-målservern
Om du vill skapa iSCSI-diskarna för de kluster som ska användas av dina SAP-system kör du följande kommandon på alla virtuella iSCSI-måldatorer. I exemplet skapas SBD-enheter för flera kluster. Den visar hur du använder en iSCSI-målserver för flera kluster. SBD-enheterna placeras på OS-disken. Se till att du har tillräckligt med utrymme.
- nfs: Identifierar NFS-klustret.
- ascsnw1: Identifierar ASCS-klustret i NW1.
- dbnw1: Identifierar databasklustret i NW1.
- nfs-0 och nfs-1: Värdnamnen för NFS-klusternoderna.
- nw1-xscs-0 och nw1-xscs-1: Värdnamnen för NW1 ASCS-klusternoderna.
- nw1-db-0 och nw1-db-1: Databasklusternodernas värdnamn.
I följande instruktioner ersätter du justera värdnamnen för dina klusternoder och SID för SAP-systemet.
Skapa rotmappen för alla SBD-enheter.
sudo mkdir /sbd
Skapa SBD-enheten för NFS-servern.
sudo targetcli backstores/fileio create sbdnfs /sbd/sbdnfs 50M write_back=false sudo targetcli iscsi/ create iqn.2006-04.nfs.local:nfs sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/luns/ create /backstores/fileio/sbdnfs sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/acls/ create iqn.2006-04.nfs-0.local:nfs-0 sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/acls/ create iqn.2006-04.nfs-1.local:nfs-1
Skapa SBD-enheten för ASCS-servern i SAP System NW1.
sudo targetcli backstores/fileio create sbdascsnw1 /sbd/sbdascsnw1 50M write_back=false sudo targetcli iscsi/ create iqn.2006-04.ascsnw1.local:ascsnw1 sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/luns/ create /backstores/fileio/sbdascsnw1 sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.nw1-xscs-0.local:nw1-xscs-0 sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.nw1-xscs-1.local:nw1-xscs-1
Skapa SBD-enheten för databasklustret i SAP System NW1.
sudo targetcli backstores/fileio create sbddbnw1 /sbd/sbddbnw1 50M write_back=false sudo targetcli iscsi/ create iqn.2006-04.dbnw1.local:dbnw1 sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/luns/ create /backstores/fileio/sbddbnw1 sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/acls/ create iqn.2006-04.nw1-db-0.local:nw1-db-0 sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/acls/ create iqn.2006-04.nw1-db-1.local:nw1-db-1
Spara målcli-ändringarna.
sudo targetcli saveconfig
Kontrollera att allt har konfigurerats korrekt.
sudo targetcli ls o- / .......................................................................................................... [...] o- backstores ............................................................................................... [...] | o- block ................................................................................... [Storage Objects: 0] | o- fileio .................................................................................. [Storage Objects: 3] | | o- sbdascsnw1 ................................................ [/sbd/sbdascsnw1 (50.0MiB) write-thru activated] | | | o- alua .................................................................................... [ALUA Groups: 1] | | | o- default_tg_pt_gp ........................................................ [ALUA state: Active/optimized] | | o- sbddbnw1 .................................................... [/sbd/sbddbnw1 (50.0MiB) write-thru activated] | | | o- alua .................................................................................... [ALUA Groups: 1] | | | o- default_tg_pt_gp ........................................................ [ALUA state: Active/optimized] | | o- sbdnfs ........................................................ [/sbd/sbdnfs (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: 3] | o- iqn.2006-04.ascsnw1.local:ascsnw1 .................................................................. [TPGs: 1] | | o- tpg1 ................................................................................ [no-gen-acls, no-auth] | | o- acls ........................................................................................... [ACLs: 2] | | | o- iqn.2006-04.nw1-xscs-0.local:nw1-xscs-0 ............................................... [Mapped LUNs: 1] | | | | o- mapped_lun0 ............................................................ [lun0 fileio/sbdascsnw1 (rw)] | | | o- iqn.2006-04.nw1-xscs-1.local:nw1-xscs-1 ............................................... [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- iqn.2006-04.dbnw1.local:dbnw1 ...................................................................... [TPGs: 1] | | o- tpg1 ................................................................................ [no-gen-acls, no-auth] | | o- acls ........................................................................................... [ACLs: 2] | | | o- iqn.2006-04.nw1-db-0.local:nw1-db-0 ................................................... [Mapped LUNs: 1] | | | | o- mapped_lun0 .............................................................. [lun0 fileio/sbddbnw1 (rw)] | | | o- iqn.2006-04.nw1-db-1.local:nw1-db-1 ................................................... [Mapped LUNs: 1] | | | o- mapped_lun0 .............................................................. [lun0 fileio/sbddbnw1 (rw)] | | o- luns ........................................................................................... [LUNs: 1] | | | o- lun0 .............................................. [fileio/sbddbnw1 (/sbd/sbddbnw1) (default_tg_pt_gp)] | | o- portals ..................................................................................... [Portals: 1] | | o- 0.0.0.0:3260 ...................................................................................... [OK] | o- iqn.2006-04.nfs.local:nfs .......................................................................... [TPGs: 1] | o- tpg1 ................................................................................ [no-gen-acls, no-auth] | o- acls ........................................................................................... [ACLs: 2] | | o- iqn.2006-04.nfs-0.local:nfs-0 ......................................................... [Mapped LUNs: 1] | | | o- mapped_lun0 ................................................................ [lun0 fileio/sbdnfs (rw)] | | o- iqn.2006-04.nfs-1.local:nfs-1 ......................................................... [Mapped LUNs: 1] | | o- mapped_lun0 ................................................................ [lun0 fileio/sbdnfs (rw)] | o- luns ........................................................................................... [LUNs: 1] | | o- lun0 .................................................. [fileio/sbdnfs (/sbd/sbdnfs) (default_tg_pt_gp)] | o- portals ..................................................................................... [Portals: 1] | o- 0.0.0.0:3260 ...................................................................................... [OK] o- loopback .......................................................................................... [Targets: 0] o- vhost ............................................................................................. [Targets: 0] o- xen-pvscsi ........................................................................................ [Targets: 0]
Konfigurera ISCSI-målserverns SBD-enhet
Anslut till den iSCSI-enhet som du skapade i det senaste steget från klustret. Kör följande kommandon på noderna i det nya kluster som du vill skapa.
Kommentar
- [A]: Gäller för alla noder.
- [1]: Gäller endast för nod 1.
- [2]: Gäller endast för nod 2.
[A] Installera iSCSI-paketet.
sudo zypper install open-iscsi
[A] Anslut till iSCSI-enheterna. Aktivera först iSCSI- och SBD-tjänsterna.
sudo systemctl enable iscsid sudo systemctl enable iscsi sudo systemctl enable sbd
[1] Ändra initierarens namn på den första noden.
sudo vi /etc/iscsi/initiatorname.iscsi
[1] Ändra innehållet i filen så att det matchar de åtkomstkontrollistor (ACL:er) som du använde när du skapade iSCSI-enheten på iSCSI-målservern (till exempel för NFS-servern).
InitiatorName=iqn.2006-04.nfs-0.local:nfs-0
[2] Ändra initierarens namn på den andra noden.
sudo vi /etc/iscsi/initiatorname.iscsi
[2] Ändra innehållet i filen så att det matchar de ACL:er som du använde när du skapade iSCSI-enheten på iSCSI-målservern.
InitiatorName=iqn.2006-04.nfs-1.local:nfs-1
[A] Starta om iSCSI-tjänsten för att tillämpa ändringen.
sudo systemctl restart iscsid sudo systemctl restart iscsi
[A] Anslut iSCSI-enheterna. I följande exempel är 10.0.0.17 IP-adressen för iSCSI-målservern och 3260 är standardporten. iqn.2006-04.nfs.local:nfs är ett av de målnamn som visas när du kör det första kommandot,
iscsiadm -m discovery
.sudo iscsiadm -m discovery --type=st --portal=10.0.0.17:3260 sudo iscsiadm -m node -T iqn.2006-04.nfs.local:nfs --login --portal=10.0.0.17:3260 sudo iscsiadm -m node -p 10.0.0.17:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automatic
[A] Om du vill använda flera SBD-enheter ansluter du även till den andra iSCSI-målservern.
sudo iscsiadm -m discovery --type=st --portal=10.0.0.18:3260 sudo iscsiadm -m node -T iqn.2006-04.nfs.local:nfs --login --portal=10.0.0.18:3260 sudo iscsiadm -m node -p 10.0.0.18:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automatic
[A] Om du vill använda flera SBD-enheter ansluter du även till den tredje iSCSI-målservern.
sudo iscsiadm -m discovery --type=st --portal=10.0.0.19:3260 sudo iscsiadm -m node -T iqn.2006-04.nfs.local:nfs --login --portal=10.0.0.19:3260 sudo iscsiadm -m node -p 10.0.0.19:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automatic
[A] Kontrollera att iSCSI-enheterna är tillgängliga och anteckna enhetsnamnet (/dev/sde, i följande exempel).
lsscsi # [2:0:0:0] disk Msft Virtual Disk 1.0 /dev/sda # [3:0:1:0] disk Msft Virtual Disk 1.0 /dev/sdb # [5:0:0:0] disk Msft Virtual Disk 1.0 /dev/sdc # [5:0:0:1] disk Msft Virtual Disk 1.0 /dev/sdd # [6:0:0:0] disk LIO-ORG sbdnfs 4.0 /dev/sdd # [7:0:0:0] disk LIO-ORG sbdnfs 4.0 /dev/sde # [8:0:0:0] disk LIO-ORG sbdnfs 4.0 /dev/sdf
[A] Hämta ID:t för iSCSI-enheterna.
ls -l /dev/disk/by-id/scsi-* | grep sdd # lrwxrwxrwx 1 root root 9 Aug 9 13:20 /dev/disk/by-id/scsi-1LIO-ORG_sbdnfs:afb0ba8d-3a3c-413b-8cc2-cca03e63ef42 -> ../../sdd # lrwxrwxrwx 1 root root 9 Aug 9 13:20 /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03 -> ../../sdd # lrwxrwxrwx 1 root root 9 Aug 9 13:20 /dev/disk/by-id/scsi-SLIO-ORG_sbdnfs_afb0ba8d-3a3c-413b-8cc2-cca03e63ef42 -> ../../sdd ls -l /dev/disk/by-id/scsi-* | grep sde # lrwxrwxrwx 1 root root 9 Feb 7 12:39 /dev/disk/by-id/scsi-1LIO-ORG_cl1:3fe4da37-1a5a-4bb6-9a41-9a4df57770e4 -> ../../sde # lrwxrwxrwx 1 root root 9 Feb 7 12:39 /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df -> ../../sde # lrwxrwxrwx 1 root root 9 Feb 7 12:39 /dev/disk/by-id/scsi-SLIO-ORG_cl1_3fe4da37-1a5a-4bb6-9a41-9a4df57770e4 -> ../../sde ls -l /dev/disk/by-id/scsi-* | grep sdf # lrwxrwxrwx 1 root root 9 Aug 9 13:32 /dev/disk/by-id/scsi-1LIO-ORG_sbdnfs:f88f30e7-c968-4678-bc87-fe7bfcbdb625 -> ../../sdf # lrwxrwxrwx 1 root root 9 Aug 9 13:32 /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf -> ../../sdf # lrwxrwxrwx 1 root root 9 Aug 9 13:32 /dev/disk/by-id/scsi-SLIO-ORG_sbdnfs_f88f30e7-c968-4678-bc87-fe7bfcbdb625 -> ../../sdf
Kommandot visar tre enhets-ID:n för varje SBD-enhet. Vi rekommenderar att du använder det ID som börjar med scsi-3. I föregående exempel är ID:na:
- /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03
- /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df
- /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf
[1] Skapa SBD-enheten.
a. Använd enhets-ID:t för iSCSI-enheterna för att skapa de nya SBD-enheterna på den första klusternoden.
sudo sbd -d /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03 -1 60 -4 120 create
b. Skapa även den andra och tredje SBD-enheten om du vill använda mer än en.
sudo sbd -d /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df -1 60 -4 120 create sudo sbd -d /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf -1 60 -4 120 create
[A] Anpassa SBD-konfigurationen.
a. Öppna konfigurationsfilen för SBD.
sudo vi /etc/sysconfig/sbd
b. Ändra egenskapen för SBD-enheten, aktivera Pacemaker-integreringen och ändra startläget för SBD.
[...] SBD_DEVICE="/dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03;/dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df;/dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf" [...] SBD_PACEMAKER="yes" [...] SBD_STARTMODE="always" [...]
Kommentar
Om SBD_DELAY_START egenskapsvärdet är inställt på "nej" ändrar du värdet till "ja". Du måste också kontrollera SBD-tjänstfilen för att säkerställa att värdet för TimeoutStartSec är större än värdet för SBD_DELAY_START. Mer information finns i SBD-filkonfigurering
[A] Skapa konfigurationsfilen
softdog
.echo softdog | sudo tee /etc/modules-load.d/softdog.conf
[A] Läs in modulen.
sudo modprobe -v softdog
SBD med en delad Azure-disk
Det här avsnittet gäller endast om du vill använda en SBD-enhet med en delad Azure-disk.
Skapa och ansluta en Delad Azure-disk med PowerShell
Justera värdena för din resursgrupp, Azure-region, virtuella datorer, logiska enhetsnummer (LUN) och så vidare.
$ResourceGroup = "MyResourceGroup" $Location = "MyAzureRegion"
Definiera storleken på disken baserat på tillgänglig diskstorlek för Premium SSD. I det här exemplet nämns P1-diskstorleken 4G.
$DiskSizeInGB = 4 $DiskName = "SBD-disk1"
Med parametern -MaxSharesCount definierar du det maximala antalet klusternoder som ska koppla den delade disken för SBD-enheten.
$ShareNodes = 2
För en SBD-enhet som använder LRS för en Delad Azure Premium-disk använder du följande lagrings-SkuName:
$SkuName = "Premium_LRS"
För en SBD-enhet som använder ZRS för en delad Azure Premium-disk använder du följande lagrings-SkuName:
$SkuName = "Premium_ZRS"
Konfigurera en delad Azure-disk.
$diskConfig = New-AzDiskConfig -Location $Location -SkuName $SkuName -CreateOption Empty -DiskSizeGB $DiskSizeInGB -MaxSharesCount $ShareNodes $dataDisk = New-AzDisk -ResourceGroupName $ResourceGroup -DiskName $DiskName -Disk $diskConfig
Koppla disken till de virtuella klusterdatorerna.
$VM1 = "prod-cl1-0" $VM2 = "prod-cl1-1"
a. Lägg till den delade Azure-disken i klusternod 1.
$vm = Get-AzVM -ResourceGroupName $ResourceGroup -Name $VM1 $vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0 Update-AzVm -VM $vm -ResourceGroupName $ResourceGroup -Verbose
b. Lägg till den delade Azure-disken i klusternod 2.
$vm = Get-AzVM -ResourceGroupName $ResourceGroup -Name $VM2 $vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0 Update-AzVm -VM $vm -ResourceGroupName $ResourceGroup -Verbose
Om du vill distribuera resurser med hjälp av Azure CLI eller Azure Portal kan du även läsa Distribuera en ZRS-disk.
Konfigurera en SBD-enhet med delad Azure-disk
[A] Aktivera SBD-tjänsterna.
sudo systemctl enable sbd
[A] Kontrollera att den anslutna disken är tillgänglig.
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 30G 0 disk ├─sda1 8:1 0 2M 0 part ├─sda2 8:2 0 512M 0 part /boot/efi ├─sda3 8:3 0 1G 0 part /boot ├─sda4 8:4 0 28.5G 0 part / sdb 8:16 0 256G 0 disk ├─sdb1 8:17 0 256G 0 part /mnt sdc 8:32 0 4G 0 disk sr0 11:0 1 1024M 0 rom # lsscsi [1:0:0:0] cd/dvd Msft Virtual CD/ROM 1.0 /dev/sr0 [2:0:0:0] disk Msft Virtual Disk 1.0 /dev/sda [3:0:1:0] disk Msft Virtual Disk 1.0 /dev/sdb [5:0:0:0] disk Msft Virtual Disk 1.0 /dev/sdc
[A] Hämta ID:t för de anslutna diskarna.
# ls -l /dev/disk/by-id/scsi-* | grep sdc lrwxrwxrwx 1 root root 9 Nov 8 16:55 /dev/disk/by-id/scsi-14d534654202020204208a67da80744439b513b2a9728af19 -> ../../sdc lrwxrwxrwx 1 root root 9 Nov 8 16:55 /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19 -> ../../sdc
Kommandona visar enhets-ID:n för SBD-enheten. Vi rekommenderar att du använder det ID som börjar med scsi-3. I föregående exempel är ID :t /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19.
[1] Skapa SBD-enheten.
Använd enhets-ID:t från steg 2 för att skapa de nya SBD-enheterna på den första klusternoden.
# sudo sbd -d /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19 -1 60 -4 120 create
[A] Anpassa SBD-konfigurationen.
a. Öppna konfigurationsfilen för SBD.
sudo vi /etc/sysconfig/sbd
b. Ändra egenskapen för SBD-enheten, aktivera Pacemaker-integreringen och ändra startläget för SBD-enheten.
[...] SBD_DEVICE="/dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19" [...] SBD_PACEMAKER="yes" [...] SBD_STARTMODE="always" [...]
Kommentar
Om SBD_DELAY_START egenskapsvärdet är inställt på "nej" ändrar du värdet till "ja". Du måste också kontrollera SBD-tjänstfilen för att säkerställa att värdet för TimeoutStartSec är större än värdet för SBD_DELAY_START. Mer information finns i SBD-filkonfigurering
Skapa konfigurationsfilen
softdog
.echo softdog | sudo tee /etc/modules-load.d/softdog.conf
Läs in modulen.
sudo modprobe -v softdog
Använda en Azure Fence-agent
Det här avsnittet gäller endast om du vill använda en fäktningsenhet med en Azure-stängselagent.
Skapa en Azure Fence Agent-enhet
Det här avsnittet gäller endast om du använder en fäktningsenhet som baseras på en Azure-stängselagent. Fäktningsenheten använder antingen en hanterad identitet eller ett huvudnamn för tjänsten för att auktorisera mot Microsoft Azure.
Skapa en hanterad identitet (MSI) genom att skapa en systemtilldelad hanterad identitet för varje virtuell dator i klustret. Om det redan finns en systemtilldelad hanterad identitet används den. Användartilldelade hanterade identiteter ska inte användas med Pacemaker just nu. Azure Fence-agenten, baserat på hanterad identitet, stöds för SLES 12 SP5 och SLES 15 SP1 och senare.
[1] Skapa en anpassad roll för stängselagenten
Som standard har varken hanterad identitet eller tjänstens huvudnamn behörighet att komma åt dina Azure-resurser. Du måste ge den hanterade identiteten eller tjänstens huvudnamn behörighet att starta och stoppa (frigöra) alla virtuella datorer i klustret. Om du inte redan har skapat den anpassade rollen kan du göra det med hjälp av PowerShell eller Azure CLI.
Använd följande innehåll för indatafilen. Du måste anpassa innehållet till dina prenumerationer. Det vill: ersätt xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx och yyyyy-yyyy-yyyy-yyyyy-yy med dina egna prenumerations-ID:er. Om du bara har en prenumeration tar du bort den andra posten under AssignableScopes.
{
"Name": "Linux fence agent Role",
"description": "Allows to power-off and start virtual machines",
"assignableScopes": [
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"/subscriptions/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
],
"actions": [
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
[A] Tilldela den anpassade rollen
Använd hanterad identitet eller tjänstens huvudnamn.
Tilldela den anpassade rollen "Linux Fence Agent Role" som skapades i det senaste kapitlet till varje hanterad identitet för de virtuella klusterdatorerna. Varje systemtilldelad hanterad identitet för virtuella datorer behöver rollen tilldelad för varje kluster-VM:s resurs. Detaljerade steg finns i Tilldela en hanterad identitet åtkomst till en resurs med hjälp av Azure Portal. Kontrollera att varje virtuell dators rolltilldelning för hanterad identitet innehåller alla virtuella klusterdatorer.
Viktigt!
Tänk på att tilldelning och borttagning av auktorisering med hanterade identiteter kan fördröjas tills det börjar gälla.
Installera klustret
Kommentar
- [A]: Gäller för alla noder.
- [1]: Gäller endast för nod 1.
- [2]: Gäller endast för nod 2.
[A] Uppdatera SLES.
sudo zypper update
Kommentar
För SLES 15 SP4 kontrollerar du versionerna av paketen
crmsh
ochpacemaker
för att säkerställa att de uppfyller minimikraven för version:crmsh-4.4.0+20221028.3e41444-150400.3.9.1
eller senarepacemaker-2.1.2+20211124.ada5c3b36-150400.4.6.1
eller senare
Viktigt!
- SLES 12 SP5: Om python-azure-core-1.23.1-2.12.8 installeras kan Azure-stängselagenten misslyckas med att starta i ett Pacemaker-kluster, vilket visar felmeddelandet "Azure Resource Manager Python SDK hittades inte eller är inte tillgänglig" i /var/log/messages. Följ anvisningarna i SUSE KBA 21532 för mer information.
- SLES 15 SP4+: När operativsystemet har uppdaterats kan Azure-biblioteken för Python använda Python 3.11-tolken, vilket gör att Azure Fence-agenten inte startar i ett Pacemaker-kluster. Felmeddelandet "Azure Resource Manager Python SDK hittades inte eller är inte tillgänglig" visas i /var/log/messages. Följ anvisningarna i SUSE KBA 21504 för mer information.
[A] Installera komponenten som du behöver för klusterresurserna.
sudo zypper in socat
[A] Installera komponenten azure-lb, som du behöver för klusterresurserna.
sudo zypper in resource-agents
Kommentar
Kontrollera versionen av resursagentpaketet och kontrollera att minimikraven för version är uppfyllda:
- SLES 12 SP4/SP5: Versionen måste vara resource-agents-4.3.018.a7fb5035-3.30.1 eller senare.
- SLES 15/15 SP1: Versionen måste vara resource-agents-4.3.0184.6ee15eb2-4.13.1 eller senare.
[A] Konfigurera operativsystemet.
a. Pacemaker skapar ibland många processer, vilket kan uttömma det tillåtna antalet. När detta inträffar kan ett pulsslag mellan klusternoderna misslyckas och leda till en redundansväxling av dina resurser. Vi rekommenderar att du ökar det maximala antalet tillåtna processer genom att ange följande parameter:
# Edit the configuration file sudo vi /etc/systemd/system.conf # Change the DefaultTasksMax #DefaultTasksMax=512 DefaultTasksMax=4096 # Activate this setting sudo systemctl daemon-reload # Test to ensure that the change was successful sudo systemctl --no-pager show | grep DefaultTasksMax
b. Minska storleken på den smutsiga cachen. Mer information finns i Låg skrivprestanda på SLES 11/12-servrar med stort RAM-minne.
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800
c. Kontrollera att vm.swapiness är inställt på 10 för att minska växlingsanvändningen och gynna minnet.
sudo vi /etc/sysctl.conf # Change/set the following setting vm.swappiness = 10
[A] Kontrollera paketversionen cloud-netconfig-azure .
Kontrollera den installerade versionen av paketet cloud-netconfig-azure genom att köra zypper info cloud-netconfig-azure. Om versionen är tidigare än 1.3 rekommenderar vi att du uppdaterar paketet cloud-netconfig-azure till den senaste tillgängliga versionen.
Dricks
Om versionen i din miljö är 1.3 eller senare är det inte längre nödvändigt att förhindra hantering av nätverksgränssnitt i plugin-programmet för molnnätverk.
Endast om versionen av cloud-netconfig-azure är lägre än 1.3 ändrar du konfigurationsfilen för nätverksgränssnittet enligt följande kod för att förhindra att plugin-programmet för molnnätverk tar bort den virtuella IP-adressen (Pacemaker måste styra tilldelningen). Mer information finns i SUSE KB 7023633.
# Edit the configuration file sudo vi /etc/sysconfig/network/ifcfg-eth0 # Change CLOUD_NETCONFIG_MANAGE # CLOUD_NETCONFIG_MANAGE="yes" CLOUD_NETCONFIG_MANAGE="no"
[1] Aktivera SSH-åtkomst.
sudo ssh-keygen # Enter file in which to save the key (/root/.ssh/id_rsa), and then select Enter # Enter passphrase (empty for no passphrase), and then select Enter # Enter same passphrase again, and then select Enter # copy the public key sudo cat /root/.ssh/id_rsa.pub
[2] Aktivera SSH-åtkomst.
sudo ssh-keygen # Enter file in which to save the key (/root/.ssh/id_rsa), and then select Enter # Enter passphrase (empty for no passphrase), and then select Enter # Enter same passphrase again, and then select Enter # Insert the public key you copied in the last step into the authorized keys file on the second server sudo vi /root/.ssh/authorized_keys # copy the public key sudo cat /root/.ssh/id_rsa.pub
[1] Aktivera SSH-åtkomst.
# insert the public key you copied in the last step into the authorized keys file on the first server sudo vi /root/.ssh/authorized_keys
[A] Installera paketet fence-agents om du använder en fäktningsenhet baserat på Azure-stängselagenten.
sudo zypper install fence-agents
Viktigt!
Den installerade versionen av paketet fence-agents måste vara 4.4.0 eller senare för att kunna dra nytta av de snabbare redundanstiderna med Azure-stängselagenten när en klusternod är inhägnad. Om du kör en tidigare version rekommenderar vi att du uppdaterar paketet.
Viktigt!
Om du använder hanterad identitet måste den installerade versionen av paketet fence-agents vara -
- SLES 12 SP5: fence-agents 4.9.0+git.1624456340.8d746be9-3.35.2 eller senare
- SLES 15 SP1 och senare: fence-agents 4.5.2+git.1592573838.1eee0863 eller senare.
Tidigare versioner fungerar inte korrekt med en hanterad identitetskonfiguration.
[A] Installera paketet fence-agents-azure-arm.
För SLES 12 SP5 måste du installera
fence-agents-azure-arm
paketet om du använderfence-agents
version4.9.0+git.1624456340.8d746be9-3.41.3
eller senare och för SLES 15 SP4 och senare. Det här paketet innehåller alla nödvändiga beroenden.# On SLES 12 SP5 with fence-agents version 4.9.0+git.1624456340.8d746be9-3.41.3 or higher. You might need to activate the public cloud extension first SUSEConnect -p sle-module-public-cloud/12/x86_64 sudo zypper install fence-agents-azure-arm # On SLES 15 SP4 and later. You might need to activate the public cloud extension first. In this example, the SUSEConnect SUSEConnect -p sle-module-public-cloud/15.4/x86_64 sudo zypper install fence-agents-azure-arm
[A] Installera Azure Python SDK- och Azure Identity Python-modulen.
För SLES 12 SP5, om din
fence-agents
version är lägre än4.9.0+git.1624456340.8d746be9-3.41.3
, och för SLES 15 SP3 och nedan, måste du installera under ytterligare paket.# You might need to activate the public cloud extension first SUSEConnect -p sle-module-public-cloud/12/x86_64 sudo zypper install python-azure-mgmt-compute sudo zypper install python-azure-identity # You might need to activate the public cloud extension first. In this example, the SUSEConnect command is for SLES 15 SP1 SUSEConnect -p sle-module-public-cloud/15.1/x86_64 sudo zypper install python3-azure-mgmt-compute sudo zypper install python3-azure-identity
Viktigt!
Beroende på din version och avbildningstyp kan du behöva aktivera det offentliga molntillägget för os-versionen innan du kan installera Azure Python SDK. Du kan kontrollera tillägget genom att köra
SUSEConnect ---list-extensions
. Så här uppnår du snabbare redundans med Azure Fence-agenten:- Installera version 4.6.2 eller senare av python-azure-mgmt-compute-paketet på SLES 12 SP5.
- Om paketversionen för python-azure-mgmt-compute eller python3-azure-mgmt-compute är 17.0.0-6.7.1 följer du anvisningarna i SUSE KBA för att uppdatera versionen av fence-agents och installera Azure Identity-klientbiblioteket för Python-modulen om den saknas.
[A] Konfigurera värdnamnsmatchningen.
Du kan antingen använda en DNS-server eller ändra /etc/hosts-filen på alla noder. Det här exemplet visar hur du använder filen /etc/hosts .
Ersätt IP-adressen och värdnamnet i följande kommandon.
Viktigt!
Om du använder värdnamn i klusterkonfigurationen är det viktigt att ha en tillförlitlig värdnamnsmatchning. Klusterkommunikationen misslyckas om namnen inte är tillgängliga och det kan leda till fördröjningar vid klusterredundans.
Fördelen med att använda /etc/hosts är att klustret blir oberoende av DNS, vilket också kan vara en enskild felpunkt.
sudo vi /etc/hosts
Infoga följande rader i /etc/hosts. Ändra IP-adressen och värdnamnet så att de matchar din miljö.
# 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
[1] Installera klustret.
Om du använder SBD-enheter för stängsel (för antingen iSCSI-målservern eller den delade Azure-disken):
sudo crm cluster init # ! NTP is not configured to start at system boot. # Do you want to continue anyway (y/n)? y # /root/.ssh/id_rsa already exists - overwrite (y/n)? n # Address for ring0 [10.0.0.6] Select Enter # Port for ring0 [5405] Select Enter # SBD is already configured to use /dev/disk/by-id/scsi-36001405639245768818458b930abdf69;/dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03;/dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf - overwrite (y/n)? n # Do you wish to configure an administration IP (y/n)? n
Om du inte använder SBD-enheter för stängsel:
sudo crm cluster init # ! NTP is not configured to start at system boot. # Do you want to continue anyway (y/n)? y # /root/.ssh/id_rsa already exists - overwrite (y/n)? n # Address for ring0 [10.0.0.6] Select Enter # Port for ring0 [5405] Select Enter # Do you wish to use SBD (y/n)? n # WARNING: Not configuring SBD - STONITH will be disabled. # Do you wish to configure an administration IP (y/n)? n
[2] Lägg till noden i klustret.
sudo crm cluster join # ! NTP is not configured to start at system boot. # Do you want to continue anyway (y/n)? y # IP address or hostname of existing node (for example, 192.168.1.1) []10.0.0.6 # /root/.ssh/id_rsa already exists - overwrite (y/n)? n
[A] Ändra hacluster-lösenordet till samma lösenord.
sudo passwd hacluster
[A] Justera corosync-inställningarna.
sudo vi /etc/corosync/corosync.conf
a. Kontrollera följande avsnitt i filen och justera om värdena inte finns där eller om de är olika. Se till att ändra token till 30000 för att tillåta minnesbevarande underhåll. Mer information finns i artikeln "Underhåll för virtuella datorer i Azure" för Linux eller Windows.
[...] token: 30000 token_retransmits_before_loss_const: 10 join: 60 consensus: 36000 max_messages: 20 interface { [...] } transport: udpu } nodelist { node { ring0_addr:10.0.0.6 } node { ring0_addr:10.0.0.7 } } logging { [...] } quorum { # Enable and configure quorum subsystem (default: off) # See also corosync.conf.5 and votequorum.5 provider: corosync_votequorum expected_votes: 2 two_node: 1 }
b. Starta om corosync-tjänsten.
sudo service corosync restart
Skapa en fäktningsenhet i Pacemaker-klustret
Dricks
- För att undvika stängseltävlingar i ett pacemakerkluster med två noder kan du konfigurera ytterligare klusteregenskapen "priority-fencing-delay". Den här egenskapen medför ytterligare fördröjning vid stängsel av en nod som har högre total resursprioritet när ett scenario med delad hjärna inträffar. Mer information finns i administrationsguiden för SUSE Linux Enterprise Server-tillägg med hög tillgänglighet.
- Instruktionen om att ange klusteregenskapen "priority-fencing-delay" finns i respektive SAP ASCS/ERS (gäller endast för ENSA2) och SAP HANA-uppskalningsdokument med hög tillgänglighet.
[1] Om du använder en SBD-enhet (iSCSI-målserver eller en delad Azure-disk) som en fäktningsenhet kör du följande kommandon. Aktivera användningen av en fäktningsenhet och ställ in stängselfördröjningen.
sudo crm configure property stonith-timeout=144 sudo crm configure property stonith-enabled=true # List the resources to find the name of the SBD device sudo crm resource list sudo crm resource stop stonith-sbd sudo crm configure delete stonith-sbd sudo crm configure primitive stonith-sbd stonith:external/sbd \ params pcmk_delay_max="15" \ op monitor interval="600" timeout="15"
[1] Om du använder en Azure-stängselagent för stängsel kör du följande kommandon. När du har tilldelat roller till båda klusternoderna kan du konfigurera fäktningsenheterna i klustret.
sudo crm configure property stonith-enabled=true sudo crm configure property concurrent-fencing=true
Kommentar
Alternativet "pcmk_host_map" krävs endast i kommandot om värdnamnen och namnen på den virtuella Azure-datorn inte är identiska. Ange mappningen i formatet hostname:vm-name.
# Adjust the command with your subscription ID and resource group of the VM
sudo crm configure primitive rsc_st_azure stonith:fence_azure_arm \
params msi=true subscriptionId="subscription ID" resourceGroup="resource group" \
pcmk_monitor_retries=4 pcmk_action_limit=3 power_timeout=240 pcmk_reboot_timeout=900 pcmk_delay_max=15 pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
op monitor interval=3600 timeout=120
sudo crm configure property stonith-timeout=900
Om du använder fäktningsenhet, baserat på tjänstens huvudnamnskonfiguration, läser du Ändra från SPN till MSI för Pacemaker-kluster med Azure-fäktning och lär dig hur du konverterar till konfiguration av hanterad identitet.
Viktigt!
Övervaknings- och fäktningsåtgärderna deserialiseras. Om det finns en övervakningsåtgärd som körs längre och samtidiga fäktningshändelser är det därför ingen fördröjning i klusterredundansväxlingen eftersom övervakningsåtgärden redan körs.
Dricks
Azure Fence-agenten kräver utgående anslutning till de offentliga slutpunkterna, som dokumenteras, tillsammans med möjliga lösningar, i offentlig slutpunktsanslutning för virtuella datorer med standard-ILB.
Konfigurera Pacemaker för schemalagda Händelser i Azure
Azure erbjuder schemalagda händelser. Schemalagda händelser tillhandahålls via metadatatjänsten och ger tid för programmet att förbereda sig för sådana händelser. Azure-events-az-övervakare för schemalagda Azure-händelser. Om händelser identifieras och resursagenten fastställer att en annan klusternod är tillgänglig, anger den ett klusterhälsoattribut. När klustrets hälsoattribut har angetts för en nod utlöses platsbegränsningen och alla resurser, vars namn inte börjar med "health-" migreras bort från noden med schemalagd händelse. När den berörda klusternoden är fri från att köra klusterresurser bekräftas den schemalagda händelsen och kan utföra åtgärden, till exempel omstart.
Viktigt!
Tidigare beskrev det här dokumentet användningen av azure-events för resursagenten. Den nya resursagenten azure-events-az har fullt stöd för Azure-miljöer som distribuerats i olika tillgänglighetszoner. Vi rekommenderar att du använder den nyare azure-events-az-agenten för alla SAP-system med hög tillgänglighet med Pacemaker.
[A] Kontrollera att paketet för azure-events-agenten redan är installerat och uppdaterat.
sudo zypper info resource-agents
Lägsta versionskrav:
- SLES 12 SP5:
resource-agents-4.3.018.a7fb5035-3.98.1
- SLES 15 SP1:
resource-agents-4.3.0184.6ee15eb2-150100.4.72.1
- SLES 15 SP2:
resource-agents-4.4.0+git57.70549516-150200.3.56.1
- SLES 15 SP3:
resource-agents-4.8.0+git30.d0077df0-150300.8.31.1
- SLES 15 SP4 och senare:
resource-agents-4.10.0+git40.0f4de473-150400.3.19.1
- SLES 12 SP5:
[1] Konfigurera resurserna i Pacemaker.
#Place the cluster in maintenance mode sudo crm configure property maintenance-mode=true
[1] Ange en strategi och begränsning för pacemakerklustrets hälsonod
sudo crm configure property node-health-strategy=custom sudo crm configure location loc_azure_health \ /'!health-.*'/ rule '#health-azure': defined '#uname'
Viktigt!
Definiera inte några andra resurser i klustret som börjar med "health-", förutom de resurser som beskrivs i nästa steg i dokumentationen.
[1] Ange det initiala värdet för klusterattributen. Kör för varje klusternod. För utskalningsmiljöer inklusive den virtuella majoritetstillverkarens virtuella dator.
sudo crm_attribute --node prod-cl1-0 --name '#health-azure' --update 0 sudo crm_attribute --node prod-cl1-1 --name '#health-azure' --update 0
[1] Konfigurera resurserna i Pacemaker. Viktigt: Resurserna måste börja med "health-azure".
sudo crm configure primitive health-azure-events ocf:heartbeat:azure-events-az \ meta allow-unhealthy-nodes=true failure-timeout=120s \ op start start-delay=60s \ op monitor interval=10s sudo crm configure clone health-azure-events-cln health-azure-events
Kommentar
När du konfigurerar resursen "health-azure-events" kan du ignorera följande varningsmeddelande.
VARNING: health-azure-events: okänt attribut "allow-unhealthy-nodes".
Ta Pacemaker-klustret ur underhållsläge
sudo crm configure property maintenance-mode=false
Rensa eventuella fel under aktiveringen och kontrollera att resurserna health-azure-events har startats på alla klusternoder.
sudo crm resource cleanup
Det kan ta upp till 2 minuter att köra frågor för schemalagda händelser första gången. Pacemakertestning med schemalagda händelser kan använda omstarts- eller omdistribueringsåtgärder för de virtuella klusterdatorerna. Mer information finns i dokumentationen om schemalagda händelser .
Kommentar
När du har konfigurerat Pacemaker-resurserna för azure-events-agenten kan du få varningsmeddelanden som:
VARNING: cib-bootstrap-options: okänt attribut "hostName_hostname"
VARNING: cib-bootstrap-options: okänt attribut "azure-events_globalPullState"
VARNING: cib-bootstrap-options: okänt attribut "hostName_ värdnamn"
Dessa varningsmeddelanden kan ignoreras.
Nästa steg
- Planering och implementering av Azure Virtual Machines för SAP
- Distribution av virtuella Azure-datorer för SAP
- Azure Virtual Machines DBMS-distribution för SAP
- Hög tillgänglighet för NFS på virtuella Azure-datorer på SUSE Linux Enterprise Server
- Hög tillgänglighet för SAP NetWeaver på virtuella Azure-datorer på SUSE Linux Enterprise Server för SAP-program
- Information om hur du etablerar hög tillgänglighet och planerar för haveriberedskap för SAP HANA på virtuella Azure-datorer finns i Hög tillgänglighet för SAP HANA på virtuella Azure-datorer