Nastavení Pacemakeru na SUSE Linux Enterprise Serveru v Azure

Tento článek popisuje, jak nastavit Pacemaker na SUSE Linux Enterprise Server (SLES) v Azure.

Přehled

V Azure máte dvě možnosti nastavení ohraničení v clusteru Pacemaker pro SLES. Můžete použít agenta plotu Azure, který restartuje uzel, který selhal prostřednictvím rozhraní API Azure, nebo můžete použít zařízení SBD.

Použití zařízení SBD

Zařízení SBD můžete nakonfigurovat pomocí jedné ze dvou možností:

  • SBD s cílovým serverem iSCSI:

    Zařízení SBD vyžaduje alespoň jeden další virtuální počítač, který funguje jako cílový server iSCSI (Internet Small Computer System Interface) a poskytuje zařízení SBD. Tyto cílové servery iSCSI se ale dají sdílet s jinými clustery Pacemaker. Výhodou použití zařízení SBD je, že pokud už používáte místní zařízení SBD, nevyžadují žádné změny způsobu, jakým provozujete cluster Pacemaker.

    Pro cluster Pacemaker můžete použít až tři zařízení SBD, aby bylo možné zařízení SBD nedostupné (například během opravy operačního systému cílového serveru iSCSI). Pokud chcete použít více než jedno zařízení SBD na Pacemaker, nezapomeňte nasadit více cílových serverů iSCSI a připojit jeden SBD z každého cílového serveru iSCSI. Doporučujeme použít jedno zařízení SBD nebo tři. Pacemaker nemůže automaticky ohrazovat uzel clusteru, pokud jsou nakonfigurovaná jenom dvě zařízení SBD a jedna z nich není k dispozici. Pokud chcete být schopni ohrazení, když je jeden cílový server iSCSI, musíte použít tři zařízení SBD, a proto tři cílové servery iSCSI. To je nejodolnější konfigurace při používání sbd.

    Diagram Pacemakeru v přehledu SLES

    Důležité

    Pokud plánujete a nasazujete clusterové uzly Pacemaker s Linuxem a zařízení SBD, nepovolujte směrování mezi vašimi virtuálními počítači a virtuálními počítači, které jsou hostitelem zařízení SBD, aby prošla všemi dalšími zařízeními, jako je síťové virtuální zařízení (NVA).

    Události údržby a další problémy se síťovým virtuálním zařízením můžou mít negativní dopad na stabilitu a spolehlivost celkové konfigurace clusteru. Další informace najdete v tématu Pravidla směrování definovaná uživatelem.

  • SBD se sdíleným diskem Azure:

    Pokud chcete nakonfigurovat zařízení SBD, musíte ke všem virtuálním počítačům, které jsou součástí clusteru Pacemaker, připojit aspoň jeden sdílený disk Azure. Výhodou zařízení SBD, které používá sdílený disk Azure, je, že nemusíte nasazovat další virtuální počítače.

    Diagram zařízení sdíleného disku Azure SBD pro cluster SLES Pacemaker

    Tady je několik důležitých informací o zařízeních SBD při používání sdíleného disku Azure:

    • Sdílený disk Azure s SSD úrovně Premium se podporuje jako zařízení SBD.
    • Zařízení SBD, která používají sdílený disk Azure, se podporují na zařízeních s vysokou dostupností SLES 15 SP01 a novějších.
    • Zařízení SBD, která používají sdílený disk Azure Premium, se podporují v místně redundantním úložišti (LRS) a zónově redundantním úložišti (ZRS).
    • V závislosti na typu nasazení zvolte jako zařízení SBD odpovídající redundantní úložiště pro sdílený disk Azure.
    • Zařízení SBD využívající LRS pro sdílený disk Azure Premium (skuName – Premium_LRS) se podporuje pouze při nasazení ve skupině dostupnosti.
    • Zařízení SBD využívající ZRS pro sdílený disk Azure Premium (skuName – Premium_ZRS) se doporučuje s nasazením v zónách dostupnosti.
    • ZRS pro spravovaný disk je momentálně nedostupný ve všech oblastech se zónami dostupnosti. Další informace najdete v části Omezení ZRS v možnostech redundance pro spravované disky.
    • Sdílený disk Azure, který používáte pro zařízení SBD, nemusí být velký. Hodnota maxShares určuje, kolik uzlů clusteru může sdílený disk používat. Pro zařízení SBD můžete například použít velikosti disků P1 nebo P2 v clusteru se dvěma uzly, jako je SAP ASCS/ERS nebo vertikální navýšení kapacity SAP HANA.
    • Pro horizontální navýšení kapacity HANA pomocí replikace systému HANA (HSR) a Pacemakeru můžete použít sdílený disk Azure pro zařízení SBD v clusterech s až čtyřmi uzly na lokalitu replikace kvůli aktuálnímu limitu maximálního počtu sdílených složek.
    • Nedoporučujeme připojovat zařízení SBD sdíleného disku Azure napříč clustery Pacemaker.
    • Pokud používáte více zařízení SBD sdíleného disku Azure, zkontrolujte limit maximálního počtu datových disků, které je možné připojit k virtuálnímu počítači.
    • Další informace o omezeních sdílených disků Azure najdete v dokumentaci ke sdíleným diskům Azure v části Omezení.

Použití agenta azure plotu

Ohraničení můžete nastavit pomocí agenta plotu Azure. Agent plotu Azure vyžaduje spravované identity pro virtuální počítače clusteru nebo instanční objekt, který spravuje restartování neúspěšných uzlů prostřednictvím rozhraní API Azure. Agent plotu Azure nevyžaduje nasazení dalších virtuálních počítačů.

SBD s cílovým serverem iSCSI

Chcete-li použít zařízení SBD, které používá cílový server iSCSI pro ohraničení, postupujte podle pokynů v následujících částech.

Nastavení cílového serveru iSCSI

Nejprve musíte vytvořit cílové virtuální počítače iSCSI. Cílové servery iSCSI můžete sdílet s několika clustery Pacemaker.

  1. Nasaďte nové virtuální počítače SLES 12 SP3 nebo vyšší a připojte se k nim přes SSH. Počítače nemusí být velké. Stačí velikost virtuálních počítačů Standard_E2s_v3 nebo Standard_D2s_v3. Ujistěte se, že pro disk s operačním systémem používáte Premium Storage.

  2. Na cílových virtuálních počítačích iSCSI spusťte následující příkazy:

    a. Aktualizujte SLES.

    sudo zypper update
    

    Poznámka:

    Po upgradu nebo aktualizaci operačního systému možná budete muset operační systém restartovat.

    b. Odeberte balíčky.

    Abyste se vyhnuli známému problému s cílovým seznamem a SLES 12 SP3, odinstalujte následující balíčky. Chyby týkající se balíčků, které se nedají najít, můžete ignorovat.

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

    c. Nainstalujte cílové balíčky iSCSI.

    sudo zypper install targetcli-fb dbus-1-python
    

    d. Povolte cílovou službu iSCSI.

    sudo systemctl enable targetcli
    sudo systemctl start targetcli
    

Vytvoření zařízení iSCSI na cílovém serveru iSCSI

Pokud chcete vytvořit disky iSCSI pro clustery, které budou vaše systémy SAP používat, spusťte na všech cílových virtuálních počítačích iSCSI následující příkazy. V tomto příkladu se vytvoří zařízení SBD pro více clusterů. Ukazuje, jak byste pro více clusterů použili jeden cílový server iSCSI. Zařízení SBD se umístí na disk s operačním systémem. Ujistěte se, že máte dostatek místa.

  • Nfs: Identifikuje cluster NFS.
  • ascsnw1: Identifikuje cluster ASCS NW1.
  • dbnw1: Identifikuje databázový cluster NW1.
  • nfs-0 a nfs-1: Názvy hostitelů uzlů clusteru NFS.
  • nw1-xscs-0 a nw1-xscs-1: názvy hostitelů uzlů clusteru NW1 ASCS.
  • nw1-db-0 a nw1-db-1: názvy hostitelů uzlů databázového clusteru.

V následujících pokynech nahraďte názvy hostitelů uzlů clusteru a identifikátor SID systému SAP.

  1. Vytvořte kořenovou složku pro všechna zařízení SBD.

    sudo mkdir /sbd
    
  2. Vytvořte zařízení SBD pro server NFS.

    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. Vytvořte zařízení SBD pro server ASCS systému SAP 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. Vytvořte zařízení SBD pro databázový cluster SYSTÉMU 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. Uložte změny cílového seznamu.

    sudo targetcli saveconfig
    
  6. Zkontrolujte, jestli je všechno správně nastavené.

    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]
    

Nastavení zařízení SBD cílového serveru iSCSI

Připojte se k zařízení iSCSI, které jste vytvořili v posledním kroku z clusteru. Na uzlech nového clusteru, který chcete vytvořit, spusťte následující příkazy.

Poznámka:

  • [A]: Platí pro všechny uzly.
  • [1]: Platí pouze pro uzel 1.
  • [2]: Platí pouze pro uzel 2.
  1. [A] Nainstalujte balíček iSCSI.

    sudo zypper install open-iscsi
    
  2. [A] Připojte se k zařízením iSCSI. Nejprve povolte služby iSCSI a SBD.

    sudo systemctl enable iscsid
    sudo systemctl enable iscsi
    sudo systemctl enable sbd
    
  3. [1] Změňte název iniciátoru na prvním uzlu.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
  4. [1] Změňte obsah souboru tak, aby odpovídal seznamům řízení přístupu (ACL), které jste použili při vytváření zařízení iSCSI na cílovém serveru iSCSI (například pro server NFS).

    InitiatorName=iqn.2006-04.nfs-0.local:nfs-0
    
  5. [2] Změňte název iniciátoru na druhém uzlu.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
  6. [2] Změňte obsah souboru tak, aby odpovídal seznamům ACL, které jste použili při vytváření zařízení iSCSI na cílovém serveru iSCSI.

    InitiatorName=iqn.2006-04.nfs-1.local:nfs-1
    
  7. [A] Restartujte službu iSCSI, aby se změna použila.

    sudo systemctl restart iscsid
    sudo systemctl restart iscsi
    
  8. [A] Připojte zařízení iSCSI. V následujícím příkladu je 10.0.0.17 IP adresa cílového serveru iSCSI a 3260 je výchozí port. iqn.2006-04.nfs.local:nfs je jedním z cílových názvů uvedených při spuštění prvního příkazu. 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] Pokud chcete použít více zařízení SBD, připojte se také k druhému cílovému serveru iSCSI.

    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] Pokud chcete použít více zařízení SBD, připojte se také k třetímu cílovému serveru iSCSI.

    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] Ujistěte se, že jsou zařízení iSCSI dostupná, a poznamenejte si název zařízení (/dev/sde v následujícím příkladu).

    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] Načtěte ID zařízení iSCSI.

    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
    

    Příkaz zobrazí seznam tří ID zařízení pro každé zařízení SBD. Doporučujeme použít ID začínající rozhraním scsi-3. V předchozím příkladu jsou ID:

    • /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03
    • /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df
    • /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf
  13. [1] Vytvořte zařízení SBD.

    a. Pomocí ID zařízení iSCSI vytvořte nová zařízení SBD na prvním uzlu clusteru.

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

    b. Pokud chcete použít více než jedno zařízení, vytvořte také druhá a třetí zařízení SBD.

    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] Přizpůsobte konfiguraci SBD.

    a. Otevřete konfigurační soubor SBD.

    sudo vi /etc/sysconfig/sbd
    

    b. Změňte vlastnost zařízení SBD, povolte integraci Pacemakeru a změňte režim spuštění 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"
    [...]
    

    Poznámka:

    Pokud je hodnota vlastnosti SBD_DELAY_START nastavená na "ne", změňte hodnotu na ano. Musíte také zkontrolovat soubor služby SBD, abyste měli jistotu, že hodnota TimeoutStartSec je větší než hodnota SBD_DELAY_START. Další informace najdete v tématu Konfigurace souboru SBD

  15. [A] Vytvořte softdog konfigurační soubor.

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    
  16. [A] Načtěte modul.

    sudo modprobe -v softdog
    

SBD se sdíleným diskem Azure

Tato část platí jenom v případě, že chcete použít zařízení SBD se sdíleným diskem Azure.

Vytvoření a připojení sdíleného disku Azure pomocí PowerShellu

  1. Upravte hodnoty pro vaši skupinu prostředků, oblast Azure, virtuální počítače, čísla logických jednotek (LUN) atd.

    $ResourceGroup = "MyResourceGroup"
    $Location = "MyAzureRegion"
    
  2. Definujte velikost disku na základě dostupné velikosti disku pro disky SSD úrovně Premium. V tomto příkladu je zmíněna velikost disku P1 4G.

    $DiskSizeInGB = 4
    $DiskName = "SBD-disk1"
    
  3. Pomocí parametru -MaxSharesCount definujte maximální počet uzlů clusteru pro připojení sdíleného disku pro zařízení SBD.

    $ShareNodes = 2
    
  4. Pro zařízení SBD, které používá LRS pro sdílený disk Azure Premium, použijte následující SkuName úložiště:

    $SkuName = "Premium_LRS"
    
  5. Pro zařízení SBD, které používá ZRS pro sdílený disk Azure Premium, použijte následující SkuName úložiště:

    $SkuName = "Premium_ZRS"
    
  6. Nastavte sdílený disk Azure.

    $diskConfig = New-AzDiskConfig -Location $Location -SkuName $SkuName -CreateOption Empty -DiskSizeGB $DiskSizeInGB -MaxSharesCount $ShareNodes
    $dataDisk = New-AzDisk -ResourceGroupName $ResourceGroup -DiskName $DiskName -Disk $diskConfig
    
  7. Připojte disk k virtuálním počítačům clusteru.

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

    a. Přidejte sdílený disk Azure do uzlu clusteru 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. Přidejte sdílený disk Azure do uzlu clusteru 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
    

Pokud chcete nasadit prostředky pomocí Azure CLI nebo webu Azure Portal, můžete se také podívat na nasazení disku ZRS.

Nastavení zařízení SBD sdíleného disku Azure

  1. [A] Povolte služby SBD.

    sudo systemctl enable sbd
    
  2. [A] Ujistěte se, že je připojený disk dostupný.

    # 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] Načtěte ID připojených disků.

    # 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
    

    Příkazy uvádějí ID zařízení pro zařízení SBD. Doporučujeme použít ID začínající rozhraním scsi-3. V předchozím příkladu je ID /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19.

  4. [1] Vytvořte zařízení SBD.

    Pomocí ID zařízení z kroku 2 vytvořte nová zařízení SBD na prvním uzlu clusteru.

    # sudo sbd -d /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19 -1 60 -4 120 create
    
  5. [A] Přizpůsobte konfiguraci SBD.

    a. Otevřete konfigurační soubor SBD.

    sudo vi /etc/sysconfig/sbd
    

    b. Změňte vlastnost zařízení SBD, povolte integraci Pacemakeru a změňte režim spuštění zařízení SBD.

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

    Poznámka:

    Pokud je hodnota vlastnosti SBD_DELAY_START nastavená na "ne", změňte hodnotu na ano. Musíte také zkontrolovat soubor služby SBD, abyste měli jistotu, že hodnota TimeoutStartSec je větší než hodnota SBD_DELAY_START. Další informace najdete v tématu Konfigurace souboru SBD

  6. softdog Vytvořte konfigurační soubor.

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    
  7. Načtěte modul.

    sudo modprobe -v softdog
    

Použití agenta azure plotu

Tato část platí jenom v případě, že chcete použít zařízení s plotovým agentem Azure.

Vytvoření zařízení agenta plotu Azure

Tato část platí jenom v případě, že používáte zařízení pro ohraničení, které je založené na agentovi plotu Azure. Zařízení k autorizaci v Microsoft Azure používá spravovanou identitu nebo instanční objekt.

Pokud chcete vytvořit spravovanou identitu (MSI), vytvořte spravovanou identitu přiřazenou systémem pro každý virtuální počítač v clusteru. Pokud už spravovaná identita přiřazená systémem existuje, použije se. Spravované identity přiřazené uživatelem by se v tuto chvíli neměly používat s Pacemakerem. Agent azure plotu založený na spravované identitě se podporuje pro SLES 12 SP5 a SLES 15 SP1 a vyšší.

[1] Vytvoření vlastní role pro agenta plotu

Ve výchozím nastavení nemá spravovaná identita ani instanční objekt oprávnění pro přístup k vašim prostředkům Azure. Musíte udělit spravované identitě nebo instančnímu objektu oprávnění ke spuštění a zastavení (zrušení přidělení) všech virtuálních počítačů v clusteru. Pokud jste vlastní roli ještě nevytvořili, můžete to udělat pomocí PowerShellu nebo Azure CLI.

Pro vstupní soubor použijte následující obsah. Obsah musíte přizpůsobit svým předplatným. To znamená, že nahraďte xxxxxxxx-xxxx-xxxx-xxxxxxxx a y-y-y-y-ya vlastní ID předplatného. Pokud máte jenom jedno předplatné, odeberte druhou položku v části 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] Přiřazení vlastní role

Použijte spravovanou identitu nebo instanční objekt.

Přiřaďte vlastní roli "Role agenta plotu Linuxu", která byla vytvořena v poslední kapitole, ke každé spravované identitě virtuálních počítačů clusteru. Každá spravovaná identita přiřazená systémem virtuálního počítače potřebuje přiřazenou roli pro každý prostředek virtuálního počítače clusteru. Podrobný postup najdete v tématu Přiřazení přístupu ke spravované identitě k prostředku pomocí webu Azure Portal. Ověřte, že přiřazení role spravované identity každého virtuálního počítače obsahuje všechny virtuální počítače clusteru.

Důležité

Mějte na paměti, že přiřazení a odebrání autorizace u spravovaných identit může být zpožděné až do účinnosti.

Instalace clusteru

Poznámka:

  • [A]: Platí pro všechny uzly.
  • [1]: Platí pouze pro uzel 1.
  • [2]: Platí pouze pro uzel 2.
  1. [A] Aktualizujte SLES.

    sudo zypper update
    

    Poznámka:

    V případě SLES 15 SP4 ověřte verze crmsh balíčků a pacemaker ujistěte se, že splňují minimální požadavky na verzi:

    • crmsh-4.4.0+20221028.3e41444-150400.3.9.1 nebo novější
    • pacemaker-2.1.2+20211124.ada5c3b36-150400.4.6.1 nebo novější

    Důležité

    • SLES 12 SP5: Pokud je nainstalovaný python-azure-core-1.23.1-2.12.8, agent plotu Azure se nemusí spustit v clusteru Pacemaker a v /var/log/messages se zobrazí chybová zpráva Azure Resource Manager Python SDK se nenašla nebo není dostupná. Další podrobnosti najdete v pokynech v SUSE KBA 21532 .
    • SLES 15 SP4+: Po aktualizaci operačního systému můžou knihovny Azure pro Python používat interpret Pythonu 3.11, což způsobí selhání spuštění agenta plotu Azure v clusteru Pacemaker. V /var/log/messages se zobrazí chybová zpráva Azure Resource Manager Python SDK nebyla nalezena nebo není přístupná. Další podrobnosti najdete v pokynech v SUSE KBA 21504 .
  2. [A] Nainstalujte komponentu, kterou potřebujete pro prostředky clusteru.

    sudo zypper in socat
    
  3. [A] Nainstalujte komponentu azure-lb, kterou potřebujete pro prostředky clusteru.

    sudo zypper in resource-agents
    

    Poznámka:

    Zkontrolujte verzi balíčku agentů prostředků a ujistěte se, že jsou splněné minimální požadavky na verzi:

    • SLES 12 SP4/SP5: Verze musí být resource-agents-4.3.018.a7fb5035-3.30.1 nebo novější.
    • SLES 15/15 SP1: Verze musí být resource-agents-4.3.0184.6ee15eb2-4.13.1 nebo novější.
  4. [A] Nakonfigurujte operační systém.

    a. Pacemaker občas vytváří mnoho procesů, které mohou vyčerpat povolené číslo. Když k tomu dojde, prezenčních signálů mezi uzly clusteru může selhat a vést k převzetí služeb při selhání vašich prostředků. Doporučujeme zvýšit maximální počet povolených procesů nastavením následujícího parametru:

    # 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. Zmenšete velikost zašpiněné mezipaměti. Další informace najdete v tématu Nízký výkon zápisu na serverech SLES 11/12 s velkou pamětí RAM.

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

    c. Ujistěte se, že je vm.swappiness nastavená na 10, aby se snížilo využití prohození a upřednostnění paměti.

    sudo vi /etc/sysctl.conf
    # Change/set the following setting
    vm.swappiness = 10
    
  5. [A] Zkontrolujte verzi balíčku cloud-netconfig-azure .

    Spuštěním příkazu zypper info cloud-netconfig-azure zkontrolujte nainstalovanou verzi balíčku cloud-netconfig-azure. Pokud je verze starší než 1.3, doporučujeme aktualizovat balíček cloud-netconfig-azure na nejnovější dostupnou verzi.

    Tip

    Pokud je verze ve vašem prostředí 1.3 nebo novější, není už nutné potlačit správu síťových rozhraní modulem plug-in cloudové sítě.

    Pouze pokud je verze cloud-netconfig-azure nižší než 1.3, změňte konfigurační soubor pro síťové rozhraní, jak je znázorněno v následujícím kódu, aby se zabránilo odebrání virtuální IP adresy cloudové sítě (Pacemaker musí řídit přiřazení). Další informace naleznete v tématu 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] Povolte přístup SSH.

    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] Povolte přístup SSH.

    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] Povolte přístup SSH.

    # 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] Nainstalujte balíček plot-agents , pokud používáte zařízení pro ploty založené na agentovi plotu Azure.

    sudo zypper install fence-agents
    

    Důležité

    Nainstalovaná verze balíčku plot-agents musí být 4.4.0 nebo novější, aby bylo možné využívat rychlejší doby převzetí služeb při selhání s agentem plotu Azure, když je uzel clusteru ohraničený. Pokud používáte starší verzi, doporučujeme balíček aktualizovat.

    Důležité

    Pokud používáte spravovanou identitu, nainstalovaná verze balíčku plot-agents musí být -

    • SLES 12 SP5: plot-agents 4.9.0+git.1624456340.8d746be9-3.35.2 nebo novější
    • SLES 15 SP1 a vyšší: plot-agents 4.5.2+git.1592573838.1eee0863 nebo novější.

    Starší verze nebudou správně fungovat s konfigurací spravované identity.

  10. [A] Nainstalujte balíček plot-agents-azure-arm.

    Pokud používáte fence-agents verzi nebo novější verzi 4.9.0+git.1624456340.8d746be9-3.41.3 SLES 12 SP5 a pro SLES 15 SP4 a novější, musíte balíček nainstalovatfence-agents-azure-arm. Tento balíček bude obsahovat všechny požadované závislosti.

    # 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] Nainstalujte sadu Azure Python SDK a modul Azure Identity Python.

    Pro SLES 12 SP5, pokud je vaše fence-agents verze nižší než 4.9.0+git.1624456340.8d746be9-3.41.3a pro SLES 15 SP3 a níže, musíte nainstalovat pod další balíčky.

    # 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
    

    Důležité

    V závislosti na vaší verzi a typu image možná budete muset před instalací sady Azure Python SDK aktivovat rozšíření veřejného cloudu pro vaši verzi operačního systému. Rozšíření můžete zkontrolovat spuštěním SUSEConnect ---list-extensionspříkazu . Pokud chcete dosáhnout rychlejších dob převzetí služeb při selhání pomocí agenta azure plotu:

    • V SLES 12 SP5 nainstalujte verzi 4.6.2 nebo novější balíčku python-azure-mgmt-compute .
    • Pokud je váš balíček python-azure-mgmt-compute nebo python3-azure-mgmt-compute verze 17.0.0-6.7.1, aktualizujte verzi plot-agents a nainstalujte klientskou knihovnu Azure Identity pro Python, pokud chybí.
  12. [A] Nastavte rozlišení názvu hostitele.

    Můžete použít server DNS nebo upravit soubor /etc/hosts na všech uzlech. Tento příklad ukazuje, jak používat soubor /etc/hosts .

    V následujících příkazech nahraďte IP adresu a název hostitele.

    Důležité

    Pokud v konfiguraci clusteru používáte názvy hostitelů, je důležité mít spolehlivé rozlišení názvu hostitele. Komunikace clusteru selže, pokud jsou názvy nedostupné a které můžou vést ke zpoždění převzetí služeb při selhání clusteru.

    Výhodou používání /etc/hosts je, že váš cluster je nezávislý na DNS, což může být také kritickým bodem selhání.

    sudo vi /etc/hosts
    

    Do /etc/hosts vložte následující řádky. Změňte IP adresu a název hostitele tak, aby odpovídaly vašemu prostředí.

    # IP address of the first cluster node
    10.0.0.6 prod-cl1-0
    # IP address of the second cluster node
    10.0.0.7 prod-cl1-1
    
  13. [1] Nainstalujte cluster.

    • Pokud používáte zařízení SBD pro ohraničení (pro cílový server iSCSI nebo sdílený disk Azure):

      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
      
    • Pokud nepoužíváte zařízení SBD pro ohraničení:

      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] Přidejte uzel do clusteru.

    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] Změňte heslo hacluster na stejné heslo.

    sudo passwd hacluster
    
  16. [A] Upravte nastavení corosync.

    sudo vi /etc/corosync/corosync.conf
    

    a. Zkontrolujte v souboru následující část a upravte hodnoty, pokud tam nejsou nebo se liší. Nezapomeňte změnit token na 30000, aby se zachovala paměť. Další informace najdete v článku Údržba virtuálních počítačů v Azure pro Linux nebo 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. Restartujte službu corosync.

    sudo service corosync restart
    

Vytvoření zařízení pro ohraničení v clusteru Pacemaker

Tip

  • Abyste se vyhnuli plotovým závodům v clusteru pacemakeru se dvěma uzly, můžete nakonfigurovat další vlastnost clusteru priority-fencing-delay. Tato vlastnost představuje další zpoždění při ohraničení uzlu, který má vyšší celkovou prioritu zdroje, když dojde ke scénáři rozděleného mozku. Další podrobnosti najdete v průvodci správou rozšíření SUSE Linux Enterprise Server s vysokou dostupností.
  • Pokyny k nastavení vlastnosti clusteru priority-fencing-delay najdete v příslušném dokumentu s vysokou dostupností SAP ASCS/ERS (platí jenom pro ENSA2) a SAP HANA.
  1. [1] Pokud používáte zařízení SBD (cílový server iSCSI nebo sdílený disk Azure) jako zařízení pro ohraničení, spusťte následující příkazy. Povolte použití oplocení zařízení a nastavte zpoždění plotu.

    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] Pokud k oplocení používáte agenta plotu Azure, spusťte následující příkazy. Po přiřazení rolí k oběma uzlům clusteru můžete nakonfigurovat zařízení pro ohraničení v clusteru.

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

    Poznámka:

    Možnost pcmk_host_map se v příkazu vyžaduje jenom v případě, že názvy hostitelů a názvy virtuálních počítačů Azure nejsou identické. Zadejte mapování ve formátu název hostitele: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

Pokud používáte zařízení pro ohraničení na základě konfigurace instančního objektu, přečtěte si článek Změna hlavního názvu služby (SPN) na MSI pro clustery Pacemaker pomocí fencingu Azure a zjistěte, jak převést na konfiguraci spravované identity.

Důležité

Operace monitorování a šermování jsou deserializovány. V důsledku toho platí, že pokud existuje dlouhotrvající operace monitorování a souběžná událost ohraničení, nedojde ke zpoždění převzetí služeb při selhání clusteru, protože operace monitorování je již spuštěná.

Tip

Agent plotu Azure vyžaduje odchozí připojení k veřejným koncovým bodům, jak je uvedeno v dokumentaci, společně s možnými řešeními připojení veřejných koncových bodů pro virtuální počítače pomocí standardního interního nástroje pro vyrovnávání zatížení.

Konfigurace Pacemakeru pro naplánované události Azure

Azure nabízí naplánované události. Plánované události jsou poskytovány prostřednictvím služby metadat a umožňují aplikaci připravit se na tyto události. Agent prostředků azure-events-az monitoruje naplánované události Azure. Pokud se zjistí události a agent prostředků určí, že je k dispozici jiný uzel clusteru, nastaví atribut stavu clusteru. Když je atribut stavu clusteru nastavený pro uzel, omezení umístění aktivuje a všechny prostředky, jejichž název nezačíná na stav, se migrují mimo uzel s naplánovanou událostí. Jakmile je ovlivněný uzel clusteru bez spuštěných prostředků clusteru, je potvrzena naplánovaná událost a může spustit její akci, jako je restartování.

Důležité

Tento dokument dříve popsal použití agenta prostředků azure-events. Nový agent prostředků azure-events-az plně podporuje prostředí Azure nasazená v různých zónách dostupnosti. Doporučujeme využít novějšího agenta azure-events-az pro všechny systémy s vysokou dostupností SAP s Pacemakerem.

  1. [A] Ujistěte se, že je balíček pro agenta azure-events již nainstalovaný a aktuální.

    sudo zypper info resource-agents
    

    Minimální požadavky na verzi:

    • 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 a novější: resource-agents-4.10.0+git40.0f4de473-150400.3.19.1
  2. [1] Nakonfigurujte prostředky v Pacemakeru.

    #Place the cluster in maintenance mode
    sudo crm configure property maintenance-mode=true
    
  3. [1] Nastavení strategie a omezení uzlů stavu clusteru pacemaker

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

    Důležité

    Nedefinujte žádné další prostředky v clusteru počínaje stavem – kromě prostředků popsaných v dalších krocích dokumentace.

  4. [1] Nastavte počáteční hodnotu atributů clusteru. Spusťte pro každý uzel clusteru. Pro prostředí se škálováním na více instancí, včetně virtuálního počítače tvůrce většiny.

    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] Nakonfigurujte prostředky v Pacemakeru. Důležité: Prostředky musí začínat na 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
    

    Poznámka:

    Při konfiguraci prostředku health-azure-events je možné následující upozornění ignorovat.

    UPOZORNĚNÍ: health-azure-events: neznámý atribut allow-unhealthy-nodes.

  6. Využít cluster Pacemaker z režimu údržby

    sudo crm configure property maintenance-mode=false
    
  7. Vymažte všechny chyby během povolování a ověřte, že se prostředky stavu azure-events úspěšně spustily na všech uzlech clusteru.

    sudo crm resource cleanup
    

    První spuštění dotazu pro naplánované události může trvat až 2 minuty. Testování Pacemakeru s plánovanými událostmi může pro virtuální počítače clusteru používat akce restartování nebo opětovného nasazení. Další informace najdete v dokumentaci k plánovaným událostem .

    Poznámka:

    Po nakonfigurování prostředků Pacemaker pro agenta událostí Azure, pokud umístíte cluster do režimu údržby nebo mimo režim údržby, můžou se zobrazit upozornění, jako například:

    UPOZORNĚNÍ: cib-bootstrap-options: neznámý atribut "hostName_hostname"
    UPOZORNĚNÍ: cib-bootstrap-options: neznámý atribut Azure-events_globalPullState
    UPOZORNĚNÍ: cib-bootstrap-options: neznámý atribut "hostName_ název hostitele"
    Tyto zprávy upozornění je možné ignorovat.

Další kroky