Delen via


Pacemaker instellen op SUSE Linux Enterprise Server in Azure

In dit artikel wordt beschreven hoe u Pacemaker instelt op SUSE Linux Enterprise Server (SLES) in Azure.

Overzicht

In Azure hebt u twee opties voor het instellen van schermen in het Pacemaker-cluster voor SLES. U kunt een Azure Fence-agent gebruiken, waarmee een mislukt knooppunt opnieuw wordt opgestart via de Azure-API's, of u kunt een SBD-apparaat gebruiken.

Een SBD-apparaat gebruiken

U kunt het SBD-apparaat configureren met behulp van een van de volgende twee opties:

  • SBD met een iSCSI-doelserver:

    Voor het SBD-apparaat is ten minste één extra virtuele machine (VM) vereist die fungeert als een iSCSI-doelserver (Internet Small Computer System Interface) en een SBD-apparaat biedt. Deze iSCSI-doelservers kunnen echter worden gedeeld met andere Pacemaker-clusters. Het voordeel van het gebruik van een SBD-apparaat is dat als u al on-premises SBD-apparaten gebruikt, er geen wijzigingen nodig zijn in de manier waarop u het Pacemaker-cluster gebruikt.

    U kunt maximaal drie SBD-apparaten gebruiken voor een Pacemaker-cluster, zodat een SBD-apparaat niet meer beschikbaar is (bijvoorbeeld tijdens het patchen van het besturingssysteem van de iSCSI-doelserver). Als u meer dan één SBD-apparaat per Pacemaker wilt gebruiken, moet u meerdere iSCSI-doelservers implementeren en één SBD verbinden vanaf elke iSCSI-doelserver. U kunt het beste één SBD-apparaat of drie gebruiken. Pacemaker kan een clusterknooppunt niet automatisch omheinen als er slechts twee SBD-apparaten zijn geconfigureerd en een van deze apparaten niet beschikbaar is. Als u wilt kunnen omheinen wanneer één iSCSI-doelserver offline is, moet u drie SBD-apparaten en dus drie iSCSI-doelservers gebruiken. Dat is de meest flexibele configuratie wanneer u SBD's gebruikt.

    Diagram van Pacemaker op SLES-overzicht.

    Belangrijk

    Wanneer u linux Pacemaker geclusterde knooppunten en SBD-apparaten plant en implementeert, staat u niet toe dat de routering tussen uw virtuele machines en de VM's die als host fungeren voor de SBD-apparaten, via andere apparaten, zoals een virtueel netwerkapparaat (NVA) worden doorgegeven.

    Onderhoudsgebeurtenissen en andere problemen met de NVA kunnen een negatieve invloed hebben op de stabiliteit en betrouwbaarheid van de algehele clusterconfiguratie. Zie Door de gebruiker gedefinieerde routeringsregels voor meer informatie.

  • SBD met een gedeelde Azure-schijf:

    Als u een SBD-apparaat wilt configureren, moet u ten minste één gedeelde Azure-schijf koppelen aan alle virtuele machines die deel uitmaken van het Pacemaker-cluster. Het voordeel van een SBD-apparaat met behulp van een gedeelde Azure-schijf is dat u geen extra virtuele machines hoeft te implementeren.

    Diagram van het gedeelde Azure-schijf-SBD-apparaat voor SLES Pacemaker-cluster.

    Hier volgen enkele belangrijke overwegingen over SBD-apparaten wanneer u een gedeelde Azure-schijf gebruikt:

    • Een gedeelde Azure-schijf met Premium SSD wordt ondersteund als een SBD-apparaat.
    • SBD-apparaten die gebruikmaken van een gedeelde Azure-schijf worden ondersteund op SLES High Availability 15 SP01 en hoger.
    • SBD-apparaten die gebruikmaken van een gedeelde Azure Premium-schijf worden ondersteund op 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 GEBRUIKMAAKT van LRS voor een gedeelde Azure Premium-schijf (skuName - Premium_LRS) wordt alleen ondersteund met implementatie in de beschikbaarheidsset.
    • Een SBD-apparaat dat ZRS gebruikt voor een gedeelde Azure Premium-schijf (skuName - Premium_ZRS) wordt aanbevolen met implementatie in beschikbaarheidszones.
    • Een ZRS voor beheerde schijf is momenteel niet beschikbaar in alle regio's met beschikbaarheidszones. Raadpleeg de sectie ZRS 'Beperkingen' in redundantieopties voor beheerde schijven voor meer informatie.
    • 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. U kunt bijvoorbeeld P1- of P2-schijfgrootten gebruiken voor uw SBD-apparaat op een cluster met twee knooppunten, zoals SAP ASCS/ERS of SAP HANA omhoog schalen.
    • Voor uitschalen van HANA met HANA-systeemreplicatie (HSR) en Pacemaker kunt u een gedeelde Azure-schijf gebruiken voor SBD-apparaten in clusters met maximaal vier knooppunten per replicatiesite vanwege de huidige limiet van maxShares.
    • Het is niet raadzaam om een SBD-apparaat met gedeelde Azure-schijven te koppelen aan 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.

Een Azure Fence-agent gebruiken

U kunt fencing instellen met behulp van een Azure Fence-agent. Voor de Azure Fence-agent zijn beheerde identiteiten vereist voor de cluster-VM's of een service-principal die het opnieuw opstarten van mislukte knooppunten via Azure-API's beheert. Voor de Azure Fence-agent is de implementatie van extra virtuele machines niet vereist.

SBD met een iSCSI-doelserver

Als u een SBD-apparaat wilt gebruiken dat gebruikmaakt van een iSCSI-doelserver voor fencing, volgt u de instructies in de volgende secties.

De iSCSI-doelserver instellen

U moet eerst de virtuele iSCSI-doelmachines maken. U kunt iSCSI-doelservers delen met meerdere Pacemaker-clusters.

  1. Implementeer nieuwe virtuele SLES 12 SP3 of hoger en maak er verbinding mee via SSH. De machines hoeven niet groot te zijn. Grootten van virtuele machines Standard_E2s_v3 of Standard_D2s_v3 zijn voldoende. Zorg ervoor dat u Premium-opslag gebruikt voor de besturingssysteemschijf.

  2. Voer op virtuele iSCSI-doelmachines de volgende opdrachten uit:

    a. Werk SLES bij.

    sudo zypper update
    

    Notitie

    Mogelijk moet u het besturingssysteem opnieuw opstarten nadat u het besturingssysteem hebt bijgewerkt of bijgewerkt.

    b. Pakketten verwijderen.

    Verwijder de volgende pakketten om een bekend probleem met targetcli en SLES 12 SP3 te voorkomen. U kunt fouten over pakketten negeren die niet kunnen worden gevonden.

    sudo zypper remove lio-utils python-rtslib python-configshell targetcli
    

    c. Installeer iSCSI-doelpakketten.

    sudo zypper install targetcli-fb dbus-1-python
    

    d. Schakel de iSCSI-doelservice in.

    sudo systemctl enable targetcli
    sudo systemctl start targetcli
    

Een iSCSI-apparaat maken op de iSCSI-doelserver

Als u de iSCSI-schijven wilt maken voor de clusters die door uw SAP-systemen moeten worden gebruikt, voert u de volgende opdrachten uit op alle virtuele iSCSI-doelmachines. In het voorbeeld worden SBD-apparaten voor meerdere clusters gemaakt. Het laat zien hoe u één iSCSI-doelserver voor meerdere clusters zou gebruiken. De SBD-apparaten worden op de besturingssysteemschijf geplaatst. Zorg ervoor dat u voldoende ruimte hebt.

  • nfs: Identificeert het NFS-cluster.
  • ascsnw1: Identificeert het ASCS-cluster van NW1.
  • dbnw1: Identificeert het databasecluster van NW1.
  • nfs-0 en nfs-1: de hostnamen van de NFS-clusterknooppunten.
  • nw1-xscs-0 en nw1-xscs-1: de hostnamen van de ASCS-clusterknooppunten NW1 .
  • nw1-db-0 en nw1-db-1: de hostnamen van de databaseclusterknooppunten.

Vervang in de volgende instructies de hostnamen van uw clusterknooppunten en de SID van uw SAP-systeem.

  1. Maak de hoofdmap voor alle SBD-apparaten.

    sudo mkdir /sbd
    
  2. Maak het SBD-apparaat voor de NFS-server.

    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
    
  3. Maak het SBD-apparaat voor de ASCS-server van 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
    
  4. Maak het SBD-apparaat voor het databasecluster van 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
    
  5. Sla de doelcli-wijzigingen op.

    sudo targetcli saveconfig
    
  6. Controleer of alles juist is ingesteld.

    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]
    

Het SBD-apparaat van de iSCSI-doelserver instellen

Maak verbinding met het iSCSI-apparaat dat u in de laatste stap van het cluster hebt gemaakt. Voer de volgende opdrachten uit op de knooppunten van het nieuwe cluster dat u wilt maken.

Notitie

  • [A]: is van toepassing op alle knooppunten.
  • [1]: Alleen van toepassing op knooppunt 1.
  • [2]: Alleen van toepassing op knooppunt 2.
  1. [A] iSCSI-pakket installeren.

    sudo zypper install open-iscsi
    
  2. [A] Maak verbinding met de iSCSI-apparaten. Schakel eerst de iSCSI- en SBD-services in.

    sudo systemctl enable iscsid
    sudo systemctl enable iscsi
    sudo systemctl enable sbd
    
  3. [1] Wijzig de naam van de initiator op het eerste knooppunt.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
  4. [1] Wijzig de inhoud van het bestand zodat deze overeenkomt met de toegangsbeheerlijsten (ACL's) die u hebt gebruikt bij het maken van het iSCSI-apparaat op de iSCSI-doelserver (bijvoorbeeld voor de NFS-server).

    InitiatorName=iqn.2006-04.nfs-0.local:nfs-0
    
  5. [2] Wijzig de naam van de initiator op het tweede knooppunt.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
  6. [2] Wijzig de inhoud van het bestand zodat deze overeenkomt met de ACL's die u hebt gebruikt bij het maken van het iSCSI-apparaat op de iSCSI-doelserver.

    InitiatorName=iqn.2006-04.nfs-1.local:nfs-1
    
  7. [A] Start de iSCSI-service opnieuw op om de wijziging toe te passen.

    sudo systemctl restart iscsid
    sudo systemctl restart iscsi
    
  8. [A] Verbind de iSCSI-apparaten. In het volgende voorbeeld is 10.0.0.17 het IP-adres van de iSCSI-doelserver en is 3260 de standaardpoort. iqn.2006-04.nfs.local:nfs is een van de doelnamen die worden vermeld wanneer u de eerste opdracht uitvoert. 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
    
  9. [A] Als u meerdere SBD-apparaten wilt gebruiken, maakt u ook verbinding met de tweede iSCSI-doelserver.

    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
    
  10. [A] Als u meerdere SBD-apparaten wilt gebruiken, maakt u ook verbinding met de derde iSCSI-doelserver.

    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
    
  11. [A] Zorg ervoor dat de iSCSI-apparaten beschikbaar zijn en noteer de apparaatnaam (/dev/sde, in het volgende voorbeeld).

    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
    
  12. [A] Haal de id's van de iSCSI-apparaten op.

    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
    

    De opdracht bevat drie apparaat-id's voor elk SBD-apparaat. U wordt aangeraden de id te gebruiken die begint met scsi-3. In het voorgaande voorbeeld zijn de id's:

    • /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03
    • /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df
    • /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf
  13. [1] Maak het SBD-apparaat.

    a. Gebruik de apparaat-id van de iSCSI-apparaten om de nieuwe SBD-apparaten op het eerste clusterknooppunt te maken.

    sudo sbd -d /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03 -1 60 -4 120 create
    

    b. Maak ook de tweede en derde SBD-apparaten als u meer dan één wilt gebruiken.

    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
    
  14. [A] Pas de SBD-configuratie aan.

    a. Open het SBD-configuratiebestand.

    sudo vi /etc/sysconfig/sbd
    

    b. Wijzig de eigenschap van het SBD-apparaat, schakel de Pacemaker-integratie in en wijzig de startmodus van 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"
    [...]
    

    Notitie

    Als de eigenschapswaarde van de SBD_DELAY_START is ingesteld op Nee, wijzigt u de waarde in Ja. U moet ook het SBD-servicebestand controleren om ervoor te zorgen dat de waarde van TimeoutStartSec groter is dan de waarde van SBD_DELAY_START. Zie SBD-bestand configureren voor meer informatie

  15. [A] Maak het softdog configuratiebestand.

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    
  16. [A] Laad de module.

    sudo modprobe -v softdog
    

SBD met een gedeelde Azure-schijf

Deze sectie is alleen van toepassing als u een SBD-apparaat wilt gebruiken met een gedeelde Azure-schijf.

Een gedeelde Azure-schijf maken en koppelen met PowerShell

  1. Pas de waarden voor uw resourcegroep, Azure-regio, virtuele machines, LUN's (logical unit numbers) enzovoort aan.

    $ResourceGroup = "MyResourceGroup"
    $Location = "MyAzureRegion"
    
  2. Definieer de grootte van de schijf op basis van de beschikbare schijfgrootte voor Premium SSD's. In dit voorbeeld wordt de P1-schijfgrootte van 4G genoemd.

    $DiskSizeInGB = 4
    $DiskName = "SBD-disk1"
    
  3. Met parameter -MaxSharesCount definieert u het maximum aantal clusterknooppunten om de gedeelde schijf voor het SBD-apparaat te koppelen.

    $ShareNodes = 2
    
  4. Gebruik voor een SBD-apparaat dat LRS gebruikt voor een gedeelde Azure Premium-schijf de volgende opslag-SkuName:

    $SkuName = "Premium_LRS"
    
  5. Voor een SBD-apparaat dat gebruikmaakt van ZRS voor een gedeelde Azure Premium-schijf, gebruikt u de volgende opslag-SkuName:

    $SkuName = "Premium_ZRS"
    
  6. Een gedeelde Azure-schijf instellen.

    $diskConfig = New-AzDiskConfig -Location $Location -SkuName $SkuName -CreateOption Empty -DiskSizeGB $DiskSizeInGB -MaxSharesCount $ShareNodes
    $dataDisk = New-AzDisk -ResourceGroupName $ResourceGroup -DiskName $DiskName -Disk $diskConfig
    
  7. Koppel de schijf aan de cluster-VM's.

    $VM1 = "prod-cl1-0"
    $VM2 = "prod-cl1-1"
    

    a. Voeg de gedeelde Azure-schijf toe aan clusterknooppunt 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. Voeg de gedeelde Azure-schijf toe aan clusterknooppunt 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
    

Als u resources wilt implementeren met behulp van de Azure CLI of Azure Portal, kunt u ook verwijzen naar Een ZRS-schijf implementeren.

Een gedeeld Azure-schijf-SBD-apparaat instellen

  1. [A] Schakel de SBD-services in.

    sudo systemctl enable sbd
    
  2. [A] Zorg ervoor dat de gekoppelde schijf beschikbaar is.

    # 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
    
  3. [A] Haal de id's van de gekoppelde schijven op.

    # 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
    

    De opdrachten bevatten apparaat-id's voor het SBD-apparaat. U wordt aangeraden de id te gebruiken die begint met scsi-3. In het voorgaande voorbeeld is de id /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19.

  4. [1] Maak het SBD-apparaat.

    Gebruik de apparaat-id van stap 2 om de nieuwe SBD-apparaten op het eerste clusterknooppunt te maken.

    # sudo sbd -d /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19 -1 60 -4 120 create
    
  5. [A] Pas de SBD-configuratie aan.

    a. Open het SBD-configuratiebestand.

    sudo vi /etc/sysconfig/sbd
    

    b. Wijzig de eigenschap van het SBD-apparaat, schakel de Pacemaker-integratie in en wijzig de startmodus van het SBD-apparaat.

    [...]
    SBD_DEVICE="/dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19"
    [...]
    SBD_PACEMAKER="yes"
    [...]
    SBD_STARTMODE="always"
    [...]
    

    Notitie

    Als de eigenschapswaarde van de SBD_DELAY_START is ingesteld op Nee, wijzigt u de waarde in Ja. U moet ook het SBD-servicebestand controleren om ervoor te zorgen dat de waarde van TimeoutStartSec groter is dan de waarde van SBD_DELAY_START. Zie SBD-bestand configureren voor meer informatie

  6. Maak het softdog configuratiebestand.

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    
  7. Laad de module.

    sudo modprobe -v softdog
    

Een Azure Fence-agent gebruiken

Deze sectie is alleen van toepassing als u een fencing-apparaat wilt gebruiken met een Azure Fence-agent.

Een Azure Fence Agent-apparaat maken

Deze sectie is alleen van toepassing als u een fencing-apparaat gebruikt dat is gebaseerd op een Azure Fence-agent. Het fencing-apparaat maakt gebruik van een beheerde identiteit of een service-principal om toestemming te geven voor Microsoft Azure.

Als u een beheerde identiteit (MSI) wilt maken, maakt u een door het systeem toegewezen beheerde identiteit voor elke VIRTUELE machine in het cluster. Als er al een door het systeem toegewezen beheerde identiteit bestaat, wordt deze gebruikt. Op dit moment mogen door de gebruiker toegewezen beheerde identiteiten niet worden gebruikt met Pacemaker. Azure Fence-agent, op basis van beheerde identiteit, wordt ondersteund voor SLES 12 SP5 en SLES 15 SP1 en hoger.

[1] Een aangepaste rol maken voor de omheiningsagent

Beheerde identiteiten en service-principals hebben standaard geen machtigingen voor toegang tot uw Azure-resources. U moet de beheerde identiteit of service-principal machtigingen geven om alle virtuele machines in het cluster te starten en te stoppen (de toewijzing ervan ongedaan te maken). Als u de aangepaste rol nog niet hebt gemaakt, kunt u dit doen met behulp van PowerShell of de Azure CLI.

Gebruik de volgende inhoud voor het invoerbestand. U moet de inhoud aanpassen aan uw abonnementen. Vervang dan xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx en yy-yy-yyyy-y-ydyy11111101111001110011111100111000011100000110000 met uw eigen abonnement-id's. Als u slechts één abonnement hebt, verwijdert u de tweede vermelding onder 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] De aangepaste rol toewijzen

Gebruik beheerde identiteit of service-principal.

Wijs de aangepaste rol 'Linux Fence Agent Role' toe die in het laatste hoofdstuk is gemaakt aan elke beheerde identiteit van de cluster-VM's. Aan elke door het VM-systeem toegewezen beheerde identiteit moet de rol zijn toegewezen voor de resource van elke cluster-VM. Zie Een beheerde identiteit toegang tot een resource toewijzen met behulp van Azure Portal voor gedetailleerde stappen. Controleer of de roltoewijzing van de beheerde identiteit van elke VIRTUELE machine alle cluster-VM's bevat.

Belangrijk

Houd er rekening mee dat het toewijzen en verwijderen van autorisatie met beheerde identiteiten kan worden uitgesteld totdat deze van kracht is.

Het cluster installeren

Notitie

  • [A]: is van toepassing op alle knooppunten.
  • [1]: Alleen van toepassing op knooppunt 1.
  • [2]: Alleen van toepassing op knooppunt 2.
  1. [A] Werk SLES bij.

    sudo zypper update
    

    Notitie

    Controleer voor SLES 15 SP4 de versies van de crmsh en pacemaker pakketten om ervoor te zorgen dat ze voldoen aan de minimale versievereisten:

    • crmsh-4.4.0+20221028.3e41444-150400.3.9.1 of hoger
    • pacemaker-2.1.2+20211124.ada5c3b36-150400.4.6.1 of hoger

    Belangrijk

    • SLES 12 SP5: Als python-azure-core-1.23.1-2.12.8 is geïnstalleerd, kan de Azure Fence-agent niet worden gestart in een Pacemaker-cluster, waarbij het foutbericht 'Azure Resource Manager Python SDK niet gevonden of niet toegankelijk' wordt weergegeven in /var/log/messages. Volg de instructies in SUSE KBA 21532 voor meer informatie.
    • SLES 15 SP4+: Na het bijwerken van het besturingssysteem kunnen de Azure-bibliotheken voor Python de Python 3.11-interpreter gebruiken, waardoor de Azure Fence-agent niet kan worden gestart in een Pacemaker-cluster. Het foutbericht 'Azure Resource Manager Python SDK niet gevonden of niet toegankelijk' wordt weergegeven in /var/log/messages. Volg de instructies in SUSE KBA 21504 voor meer informatie.
  2. [A] Installeer het onderdeel dat u nodig hebt voor de clusterbronnen.

    sudo zypper in socat
    
  3. [A] Installeer het azure-lb-onderdeel dat u nodig hebt voor de clusterbronnen.

    sudo zypper in resource-agents
    

    Notitie

    Controleer de versie van het resource-agents-pakket en zorg ervoor dat aan de minimale versievereisten wordt voldaan:

    • SLES 12 SP4/SP5: De versie moet resource-agents-4.3.018.a7fb5035-3.30.1 of hoger zijn.
    • SLES 15/15 SP1: De versie moet resource-agents-4.3.0184.6ee15eb2-4.13.1 of hoger zijn.
  4. [A] Configureer het besturingssysteem.

    a. Pacemaker maakt af en toe veel processen, waardoor het toegestane aantal kan worden uitgeput. Als dit gebeurt, kan een heartbeat tussen de clusterknooppunten mislukken en leiden tot een failover van uw resources. U wordt aangeraden het maximum aantal toegestane processen te verhogen door de volgende parameter in te stellen:

    # 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. Verklein de grootte van de vuile cache. Zie Lage schrijfprestaties op SLES 11/12-servers met een groot RAM-geheugen voor meer informatie.

    sudo vi /etc/sysctl.conf
    # Change/set the following settings
    vm.dirty_bytes = 629145600
    vm.dirty_background_bytes = 314572800
    

    c. Zorg ervoor dat vm.swappiness is ingesteld op 10 om het wisselgebruik te verminderen en geheugen te bevorderen.

    sudo vi /etc/sysctl.conf
    # Change/set the following setting
    vm.swappiness = 10
    
  5. [A] Controleer de cloud-netconfig-azure-pakketversie .

    Controleer de geïnstalleerde versie van het cloud-netconfig-azure-pakket door zypper info cloud-netconfig-azure uit te voeren. Als de versie ouder is dan 1.3, raden we u aan het cloud-netconfig-azure-pakket bij te werken naar de nieuwste beschikbare versie.

    Tip

    Als de versie in uw omgeving 1.3 of hoger is, is het niet meer nodig om het beheer van netwerkinterfaces door de cloudnetwerkinvoegtoepassing te onderdrukken.

    Alleen als de versie van cloud-netconfig-azure lager is dan 1.3, wijzigt u het configuratiebestand voor de netwerkinterface, zoals wordt weergegeven in de volgende code om te voorkomen dat de cloudnetwerkinvoegtoepassing het virtuele IP-adres verwijdert (Pacemaker moet de toewijzing beheren). Zie SUSE KB 7023633 voor meer informatie.

    # Edit the configuration file
    sudo vi /etc/sysconfig/network/ifcfg-eth0 
    
    # Change CLOUD_NETCONFIG_MANAGE
    # CLOUD_NETCONFIG_MANAGE="yes"
    CLOUD_NETCONFIG_MANAGE="no"
    
  6. [1] SSH-toegang inschakelen.

    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
    
  7. [2] SSH-toegang inschakelen.

    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
    
  8. [1] SSH-toegang inschakelen.

    # 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
    
  9. [A] Installeer het fence-agents-pakket als u een fencing-apparaat gebruikt, op basis van de Azure Fence-agent.

    sudo zypper install fence-agents
    

    Belangrijk

    De geïnstalleerde versie van het fence-agents-pakket moet 4.4.0 of hoger zijn om te profiteren van de snellere failovertijden met de Azure Fence-agent, wanneer een clusterknooppunt wordt omheind. Als u een eerdere versie gebruikt, raden we u aan het pakket bij te werken.

    Belangrijk

    Als u een beheerde identiteit gebruikt, moet de geïnstalleerde versie van het fence-agents-pakket -

    • SLES 12 SP5: fence-agents 4.9.0+git.1624456340.8d746be9-3.35.2 of hoger
    • SLES 15 SP1 en hoger: fence-agents 4.5.2+git.1592573838.1eee0863 of hoger.

    Eerdere versies werken niet correct met een configuratie van een beheerde identiteit.

  10. [A] Installeer fence-agents-azure-arm-pakket.

    Als u voor SLES 12 SP5 versie 4.9.0+git.1624456340.8d746be9-3.41.3 of hoger gebruikt fence-agents en voor SLES 15 SP4 en hoger, moet u het fence-agents-azure-arm pakket installeren. Dit pakket bevat alle vereiste afhankelijkheden.

    # 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
    
  11. [A] Installeer de Module Azure Python SDK en Azure Identity Python.

    Als uw fence-agents versie lager is dan 4.9.0+git.1624456340.8d746be9-3.41.3voor SLES 12 SP5 en voor SLES 15 SP3 en lager, moet u onder extra pakketten installeren.

    # 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
    

    Belangrijk

    Afhankelijk van uw versie en installatiekopietype moet u mogelijk de openbare cloudextensie activeren voor uw besturingssysteemrelease voordat u de Azure Python SDK kunt installeren. U kunt de extensie controleren door uit te voeren SUSEConnect ---list-extensions. De snellere failovertijden bereiken met de Azure Fence-agent:

    • Installeer op SLES 12 SP5 versie 4.6.2 of hoger van het python-azure-mgmt-compute-pakket .
    • Als uw python-azure-mgmt-compute- of python3-azure-mgmt-compute-pakketversie 17.0.0-6.7.1 is, volgt u de instructies in SUSE KBA om de versie van fence-agents bij te werken en de Azure Identity-clientbibliotheek voor Python-module te installeren als deze ontbreekt.
  12. [A] Stel de hostnaamomzetting in.

    U kunt een DNS-server gebruiken of het bestand /etc/hosts op alle knooppunten wijzigen. In dit voorbeeld ziet u hoe u het bestand /etc/hosts gebruikt.

    Vervang het IP-adres en de hostnaam in de volgende opdrachten.

    Belangrijk

    Als u hostnamen in de clusterconfiguratie gebruikt, is het essentieel om een betrouwbare hostnaamomzetting te hebben. De clustercommunicatie mislukt als de namen niet beschikbaar zijn en dat kan leiden tot vertragingen in de clusterfailover.

    Het voordeel van het gebruik van /etc/hosts is dat uw cluster onafhankelijk wordt van de DNS, wat ook een single point of failure kan zijn.

    sudo vi /etc/hosts
    

    Voeg de volgende regels in de /etc/hosts in. Wijzig het IP-adres en de hostnaam zodat deze overeenkomen met uw omgeving.

    # 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
    
  13. [1] Installeer het cluster.

    • Als u SBD-apparaten gebruikt voor fencing (voor de iSCSI-doelserver of gedeelde Azure-schijf):

      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
      
    • Als u geen SBD-apparaten gebruikt voor fencing:

      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
      
  14. [2] Voeg het knooppunt toe aan het cluster.

    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
    
  15. [A] Wijzig het haclusterwachtwoord in hetzelfde wachtwoord.

    sudo passwd hacluster
    
  16. [A] Pas de corosync-instellingen aan.

    sudo vi /etc/corosync/corosync.conf
    

    a. Controleer de volgende sectie in het bestand en pas deze aan als de waarden er niet zijn of anders zijn. Zorg ervoor dat u het token wijzigt in 30000 om onderhoud met geheugenbehoud mogelijk te maken. Zie het artikel Onderhoud voor virtuele machines in Azure voor Linux of Windows voor meer informatie.

    [...]
      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. Start de corosync-service opnieuw.

    sudo service corosync restart
    

Een schermafscheidingsapparaat maken in het Pacemaker-cluster

Tip

  • Om omheiningsraces binnen een pacemakercluster met twee knooppunten te voorkomen, kunt u extra clustereigenschap 'priority-fencing-delay' configureren. Deze eigenschap introduceert extra vertraging bij het afschermen van een knooppunt met een hogere totale resourceprioriteit wanneer er een split-brain-scenario optreedt. Zie de beheerhandleiding voor uitgebreide SUSE Linux Enterprise Server-extensie voor hoge beschikbaarheid voor meer informatie.
  • De instructie over het instellen van de clustereigenschap 'priority-fencing-delay' vindt u in het respectieve SAP ASCS/ERS -document (alleen van toepassing op ENSA2) en sap HANA voor het omhoog schalen van hoge beschikbaarheid.
  1. [1] Als u een SBD-apparaat (iSCSI-doelserver of een gedeelde Azure-schijf) gebruikt als een fencing-apparaat, voert u de volgende opdrachten uit. Schakel het gebruik van een afschermingsapparaat in en stel de omheiningsvertraging in.

    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"
    
  2. [1] Als u een Azure Fence-agent gebruikt voor fencing, voert u de volgende opdrachten uit. Nadat u rollen hebt toegewezen aan beide clusterknooppunten, kunt u de fencing-apparaten in het cluster configureren.

    sudo crm configure property stonith-enabled=true
    sudo crm configure property concurrent-fencing=true
    

    Notitie

    De optie pcmk_host_map is alleen vereist in de opdracht als de hostnamen en de Azure-VM-namen niet identiek zijn. Geef de toewijzing op in de indeling hostnaam: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

Als u een fencing-apparaat gebruikt op basis van de configuratie van de service-principal, leest u Change from SPN to MSI for Pacemaker clusters using Azure fencing and learn how to convert to managed identity configuration.

Belangrijk

De bewakings- en afschermingsbewerkingen worden gedeserialiseerd. Als er een langer actieve bewakingsbewerking en gelijktijdige fencinggebeurtenis is, is er dus geen vertraging voor de clusterfailover omdat de bewakingsbewerking al wordt uitgevoerd.

Tip

De Azure Fence-agent vereist uitgaande connectiviteit met de openbare eindpunten, zoals gedocumenteerd, samen met mogelijke oplossingen, in openbare eindpuntconnectiviteit voor VM's met behulp van standaard-ILB.

Pacemaker configureren voor geplande Azure-gebeurtenissen

Azure biedt geplande gebeurtenissen. Geplande gebeurtenissen worden aangeboden via de metagegevensservice en bieden de toepassing de tijd om deze gebeurtenissen voor te bereiden. Resourceagent azure-events-az monitors voor geplande Azure-gebeurtenissen. Als gebeurtenissen worden gedetecteerd en de resourceagent bepaalt dat er een ander clusterknooppunt beschikbaar is, wordt een clusterstatuskenmerk ingesteld. Wanneer het clusterstatuskenmerk is ingesteld voor een knooppunt, worden de locatiebeperkingstriggers en alle resources, waarvan de naam niet begint met 'health-' worden gemigreerd van het knooppunt met geplande gebeurtenis. Zodra het betrokken clusterknooppunt vrij is van het uitvoeren van clusterbronnen, wordt de geplande gebeurtenis bevestigd en kan de actie worden uitgevoerd, zoals opnieuw opstarten.

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. Het wordt aanbevolen om de nieuwere azure-events-az-agent te gebruiken voor alle SAP maximaal beschikbare systemen met Pacemaker.

  1. [A] Zorg ervoor dat het pakket voor de agent azure-events al is geïnstalleerd en up-to-date is.

    sudo zypper info resource-agents
    

    Minimale versievereisten:

    • 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 en hoger: resource-agents-4.10.0+git40.0f4de473-150400.3.19.1
  2. [1] Configureer de resources in Pacemaker.

    #Place the cluster in maintenance mode
    sudo crm configure property maintenance-mode=true
    
  3. [1] Stel de strategie en beperking van het pacemaker-clusterstatusknooppunt in

    sudo crm configure property node-health-strategy=custom
    sudo crm configure location loc_azure_health \
    /'!health-.*'/ rule '#health-azure': defined '#uname'
    

    Belangrijk

    Definieer geen andere resources in het cluster die beginnen met 'health-', naast de resources die worden beschreven in de volgende stappen van de documentatie.

  4. [1] Stel de initiële waarde van de clusterkenmerken in. Uitvoeren voor elk clusterknooppunt. Voor uitschaalomgevingen, waaronder vm's voor de meerderheid van de maker.

    sudo crm_attribute --node prod-cl1-0 --name '#health-azure' --update 0
    sudo crm_attribute --node prod-cl1-1 --name '#health-azure' --update 0
    
  5. [1] Configureer de resources in Pacemaker. Belangrijk: De resources moeten beginnen met '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
    

    Notitie

    Bij het configureren van de resource health-azure-events kan het volgende waarschuwingsbericht worden genegeerd.

    WAARSCHUWING: health-azure-events: onbekend kenmerk 'allow-unhealthy-nodes'.

  6. Het Pacemaker-cluster uit de onderhoudsmodus halen

    sudo crm configure property maintenance-mode=false
    
  7. Wis eventuele fouten tijdens het inschakelen en controleer of de resources health-azure-events zijn gestart op alle clusterknooppunten.

    sudo crm resource cleanup
    

    Het uitvoeren van query's voor de eerste keer voor geplande gebeurtenissen kan tot 2 minuten duren. Pacemaker-tests met geplande gebeurtenissen kunnen opnieuw opstarten of opnieuw implementeren voor de cluster-VM's. Zie de documentatie over geplande gebeurtenissen voor meer informatie.

    Notitie

    Nadat u de Pacemaker-resources voor de agent voor Azure-events hebt geconfigureerd, krijgt u mogelijk waarschuwingsberichten als u het cluster in of uit de onderhoudsmodus plaatst, zoals:

    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'
    Deze waarschuwingsberichten kunnen worden genegeerd.

Volgende stappen