Dela via


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.

    Diagram över Pacemaker på SLES-översikt.

    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.

    Diagram över SBD-enheten för delad Azure-disk för SLES Pacemaker-kluster.

    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.

  1. 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.

  2. 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.

  1. Skapa rotmappen för alla SBD-enheter.

    sudo mkdir /sbd
    
  2. 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
    
  3. 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
    
  4. 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
    
  5. Spara målcli-ändringarna.

    sudo targetcli saveconfig
    
  6. 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.
  1. [A] Installera iSCSI-paketet.

    sudo zypper install open-iscsi
    
  2. [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
    
  3. [1] Ändra initierarens namn på den första noden.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
  4. [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
    
  5. [2] Ändra initierarens namn på den andra noden.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
  6. [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
    
  7. [A] Starta om iSCSI-tjänsten för att tillämpa ändringen.

    sudo systemctl restart iscsid
    sudo systemctl restart iscsi
    
  8. [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
    
  9. [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
    
  10. [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
    
  11. [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
    
  12. [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
  13. [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
    
  14. [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

  15. [A] Skapa konfigurationsfilen softdog .

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    
  16. [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

  1. Justera värdena för din resursgrupp, Azure-region, virtuella datorer, logiska enhetsnummer (LUN) och så vidare.

    $ResourceGroup = "MyResourceGroup"
    $Location = "MyAzureRegion"
    
  2. 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"
    
  3. Med parametern -MaxSharesCount definierar du det maximala antalet klusternoder som ska koppla den delade disken för SBD-enheten.

    $ShareNodes = 2
    
  4. 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"
    
  5. 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"
    
  6. 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
    
  7. 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

  1. [A] Aktivera SBD-tjänsterna.

    sudo systemctl enable sbd
    
  2. [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
    
  3. [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.

  4. [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
    
  5. [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

  6. Skapa konfigurationsfilen softdog .

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    
  7. 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.
  1. [A] Uppdatera SLES.

    sudo zypper update
    

    Kommentar

    För SLES 15 SP4 kontrollerar du versionerna av paketen crmsh och pacemaker för att säkerställa att de uppfyller minimikraven för version:

    • crmsh-4.4.0+20221028.3e41444-150400.3.9.1 eller senare
    • pacemaker-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.
  2. [A] Installera komponenten som du behöver för klusterresurserna.

    sudo zypper in socat
    
  3. [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.
  4. [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
    
  5. [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"
    
  6. [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
    
  7. [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
    
  8. [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
    
  9. [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.

  10. [A] Installera paketet fence-agents-azure-arm.

    För SLES 12 SP5 måste du installera fence-agents-azure-arm paketet om du använder fence-agents version 4.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
    
  11. [A] Installera Azure Python SDK- och Azure Identity Python-modulen.

    För SLES 12 SP5, om din fence-agents version är lägre än 4.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.
  12. [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
    
  13. [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
      
  14. [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
    
  15. [A] Ändra hacluster-lösenordet till samma lösenord.

    sudo passwd hacluster
    
  16. [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. [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"
    
  2. [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.

  1. [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
  2. [1] Konfigurera resurserna i Pacemaker.

    #Place the cluster in maintenance mode
    sudo crm configure property maintenance-mode=true
    
  3. [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.

  4. [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
    
  5. [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".

  6. Ta Pacemaker-klustret ur underhållsläge

    sudo crm configure property maintenance-mode=false
    
  7. 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