Megosztás a következőn keresztül:


A Pacemaker beállítása Red Hat Enterprise Linuxon az Azure-ban

Ez a cikk bemutatja, hogyan konfigurálhat egy alapszintű Pacemaker-fürtöt a Red Hat Enterprise Linux szerveren (RHEL). Az utasítások az RHEL 7, RHEL 8 és RHEL 9 elemet fedik le.

Előfeltételek

Először olvassa el a következő SAP-megjegyzéseket és cikkeket:

Áttekintés

Fontos

A több virtuális hálózatra (VNetekre)/alhálózatokra kiterjedő Pacemaker-fürtökre nem vonatkoznak szabványos támogatási szabályzatok.

Az Azure-ban két lehetőség áll rendelkezésre az RHEL-hez tartozó pacemaker-fürt kerítésének konfigurálására: Az Azure kerítésügynöke, amely újraindít egy meghibásodott csomópontot az Azure API-kon keresztül, vagy használhat SBD-eszközt.

Fontos

Az Azure-ban az RHEL magas rendelkezésre állású fürtje tárolóalapú kerítéssel (fence_sbd) szoftveresen emulált felügyelőt használ. Fontos áttekinteni a szoftveres Emulált Watchdog ismert korlátait és a magas rendelkezésre állású RHEL-fürtökhöz tartozó támogatási irányelveket – sbd és fence_sbd, amikor az SBD-t választja kerítési mechanizmusként.

SBD-eszköz használata

Megjegyzés:

Az SBD-vel rendelkező kerítés mechanizmus a RHEL 8.8 és újabb, valamint a RHEL 9.0 és újabb rendszereken támogatott.

Az SBD-eszközt két lehetőség egyikével konfigurálhatja:

  • SBD iSCSI-célkiszolgálóval

    Az SBD-eszközhöz legalább egy további virtuális gép (VM) szükséges, amely iSCSI-célkiszolgálóként működik, és SBD-eszközt biztosít. Ezek az iSCSI-célkiszolgálók azonban megoszthatók más Pacemaker klaszterekkel. Az SBD-eszközök használatának előnye, hogy ha már SBD-eszközöket használ a helyszínen, nem kell megváltoztatnia a pacemaker-fürt működtetésének módját.

    Egy pacemaker-fürtökhöz legfeljebb három SBD-eszközt használhat fel, így egy SBD-eszköz elérhetetlenné válhat (például az iSCSI-célkiszolgáló operációs rendszerének javítása során). Ha pacemakerenként több SBD-eszközt szeretne használni, mindenképpen telepítsen több iSCSI-tárolókiszolgálót, és csatlakoztassa az egyes iSCSI-tárolókiszolgálókról egy SBD-t. Javasoljuk, hogy egy vagy három SBD-eszközt használjunk. A Pacemaker nem tudja automatikusan elkeríteni a fürtcsomópontot, ha csak két SBD-eszköz van konfigurálva, és az egyik nem érhető el. Ha azt szeretné, hogy egy iSCSI-célkiszolgáló leállásakor el lehessen végezni a kerítést, három SBD-eszközt kell használnia, és ezért három iSCSI-célkiszolgálót kell használnia. Ez a legrugalmasabb konfiguráció SBD-k használatakor.

    Pacemaker-diagram iSCSI célkiszolgálóval mint SBD-eszköz RHEL-ben

    Fontos

    Amikor a Linux pacemaker fürtcsomópontok és SBD-eszközök üzembe helyezését és konfigurálását tervezi, ne engedélyezze, hogy a virtuális gépek és az SBD-eszközök üzemeltetésére szolgáló virtuális gépek közötti útvonalak áthaladjanak bármely más eszközön, például egy hálózati virtuális eszközön (NVA) keresztül.

    A karbantartási események és az NVA egyéb problémái negatív hatással lehetnek az általános fürtkonfiguráció stabilitására és a megbízhatóságára. További információ: felhasználó által definiált útválasztási szabályok.

  • SBD azure-ral megosztott lemezzel

    Az SBD-eszköz konfigurálásához legalább egy megosztott Azure-lemezt kell csatolnia a Pacemaker-fürt részét képező összes virtuális géphez. Az Azure-beli megosztott lemezt használó SBD-eszköz előnye, hogy nem kell további virtuális gépeket üzembe helyeznie és konfigurálnia.

    Az Azure megosztott lemezes SBD-eszközének ábrája a RHEL Pacemaker klaszterhez.

    Íme néhány fontos szempont az SBD-eszközökkel kapcsolatban az Azure Shared Disk használatakor:

    • A Prémium SSD-vel rendelkező Azure-beli megosztott lemezek SBD-eszközként támogatottak.
    • Az Azure-beli megosztott lemezt használó SBD-eszközök támogatottak az RHEL 8.8 és újabb verzióiban.
    • Az Azure prémium szintű megosztási lemezt használó SBD-eszközöket helyileg redundáns tárolás (LRS) és zónaredundáns tárolás (ZRS) támogatja.
    • Az üzembe helyezés típusától függően SBD-eszközként válassza ki az Azure-beli megosztott lemez megfelelő redundáns tárolóját.
    • Az SBD-eszközöket, amelyek LRS-t használnak egy Azure prémium megosztott lemezhez (skuName – Premium_LRS), csak regionális telepítéssel támogatják, mint például a rendelkezésre állási készlettel.
    • A ZRS-t használó SBD-eszköz egy Azure prémium szintű megosztott lemezhez (skuName – Premium_ZRS) zónás üzembe helyezéssel, például rendelkezésre állási zónával vagy FD=1 méretezési csoporttal ajánlott.
    • A felügyelt lemezekhez készült ZRS jelenleg a regionális rendelkezésre állási dokumentumban felsorolt régiókban érhető el.
    • Az SBD-eszközökhöz használt Azure-beli megosztott lemeznek nem kell nagynak lennie. A maxShares érték határozza meg, hogy hány fürtcsomópont használhatja a megosztott lemezt. Használhat például P1 vagy P2 lemezméreteket az SBD-eszközhöz kétcsomópontos fürtön, például SAP ASCS/ERS vagy SAP HANA vertikális felskálázáson.
    • Ha HANA rendszer skálázható kialakítása HANA rendszer replikációval (HSR) és pacemakerrel történik, akkor az Azure-beli megosztott lemezt használhatja az olyan fürtök SBD-eszközeinek esetében, ahol a replikációs hely legfeljebb öt csomópontot tartalmaz, a maxShares jelenlegi korlátja miatt.
    • Nem javasoljuk, hogy Azure megosztott lemez SBD-eszközt csatoljon pacemaker-fürtökhöz.
    • Ha több Azure-beli megosztott lemez SBD-eszközt használ, ellenőrizze a virtuális géphez csatlakoztatható adatlemezek maximális számát.
    • Az Azure-beli megosztott lemezek korlátozásairól további információt az Azure megosztott lemez dokumentációjának "Korlátozások" szakaszában talál.

Azure-beli kerítésügynök használata

A kerítést egy Azure-beli kerítésügynök használatával állíthatja be. Az Azure kerítésügynöknek felügyelt identitásokra van szüksége a fürt virtuális gépeihez. Alternatív megoldásként használható egy szolgáltatásnév vagy egy felügyelt rendszeridentitás (MSI), amely az Azure API-kon keresztül kezeli a sikertelen csomópontok újraindítását. Az Azure kerítésügynök nem igényel további virtuális gépek üzembe helyezését.

SBD iSCSI-célkiszolgálóval

Ha olyan SBD-eszközt szeretne használni, amely iSCSI-célkiszolgálót használ a kerítéshez, kövesse a következő szakaszok utasításait.

Az iSCSI célkiszolgáló beállítása

Először létre kell hoznia az iSCSI-cél virtuális gépeket. Az iSCSI-célkiszolgálókat több Pacemaker fürtökkel is megoszthatja.

  1. Telepítse a támogatott RHEL OS-verzión futó virtuális gépeket, és csatlakozzon hozzájuk SSH-n keresztül. A virtuális gépeknek nem kell nagy méretűnek lenniük. Az olyan virtuálisgép-méretek, mint a Standard_E2s_v3 vagy a Standard_D2s_v3 elegendőek. Ügyeljen arra, hogy prémium szintű tárolót használjon az operációsrendszer-lemezhez.

  2. Nem szükséges az RHEL operációs rendszer használata az SAP-hoz a HA és az Update Services esetén, vagy az iSCSI célkiszolgálóhoz az SAP Apps OS lemezkép használata. Ehelyett egy szabványos RHEL OS-rendszerkép használható. Vegye figyelembe azonban, hogy a támogatási életciklus különböző operációsrendszer-termékkiadások között változik.

  3. Futtassa a következő parancsokat minden iSCSI-cél virtuális gépen.

    1. Frissítse az RHEL-t.

      sudo yum -y update
      

      Megjegyzés:

      Előfordulhat, hogy az operációs rendszer frissítése vagy frissítése után újra kell indítania a csomópontot.

    2. Telepítse az iSCSI-célcsomagot.

      sudo yum install targetcli
      
    3. Indítsa el és konfigurálja a célprogramot a rendszerindítási időpontban való indításhoz.

      sudo systemctl start target
      sudo systemctl enable target
      
    4. Port 3260 megnyitása a tűzfalon

      sudo firewall-cmd --add-port=3260/tcp --permanent
      sudo firewall-cmd --add-port=3260/tcp
      

iSCSI-eszköz létrehozása az iSCSI-tárolókiszolgálón

Az SAP-rendszerfürtök iSCSI-lemezeinek létrehozásához hajtsa végre az alábbi parancsokat minden iSCSI-cél virtuális gépen. A példa bemutatja az SBD-eszközök létrehozását több clusterhez, szemléltetve egyetlen iSCSI célkiszolgáló használatát több cluster esetében. Az SBD-eszköz az operációsrendszer-lemezen van konfigurálva, ezért győződjön meg arról, hogy elegendő hely áll rendelkezésre.

  • ascsnw1: Az NW1 ASCS/ERS klaszterét képviseli.
  • dbhn1: Az HN1 adatbázisfürtje.
  • sap-cl1 és sap-cl2: Az NW1 ASCS/ERS fürtcsomópontok állomásnevei.
  • hn1-db-0 és hn1-db-1: Az adatbázisfürt csomópontok állomásnevei.

Az alábbi utasításokban szükség szerint módosítsa a parancsot a megadott gazdagépnevekkel és SID-kkel.

  1. Hozza létre az összes SBD-eszköz gyökérmappáját.

    sudo mkdir /sbd
    
  2. Hozza létre az SBD-eszközt az NW1 rendszer ASCS/ERS kiszolgálóihoz.

    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.sap-cl1.local:sap-cl1
    sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.sap-cl2.local:sap-cl2
    
  3. Hozza létre a HN1 rendszer adatbázisfürtjének SBD-eszközét.

    sudo targetcli backstores/fileio create sbddbhn1 /sbd/sbddbhn1 50M write_back=false
    sudo targetcli iscsi/ create iqn.2006-04.dbhn1.local:dbhn1
    sudo targetcli iscsi/iqn.2006-04.dbhn1.local:dbhn1/tpg1/luns/ create /backstores/fileio/sbddbhn1
    sudo targetcli iscsi/iqn.2006-04.dbhn1.local:dbhn1/tpg1/acls/ create iqn.2006-04.hn1-db-0.local:hn1-db-0
    sudo targetcli iscsi/iqn.2006-04.dbhn1.local:dbhn1/tpg1/acls/ create iqn.2006-04.hn1-db-1.local:hn1-db-1
    
  4. Mentse a targetcli konfigurációt.

    sudo targetcli saveconfig
    
  5. Ellenőrizze, hogy minden megfelelően van-e beállítva

    sudo targetcli ls
    
    o- / ......................................................................................................................... [...]
      o- backstores .............................................................................................................. [...]
      | o- block .................................................................................................. [Storage Objects: 0]
      | o- fileio ................................................................................................. [Storage Objects: 2]
      | | o- sbdascsnw1 ............................................................... [/sbd/sbdascsnw1 (50.0MiB) write-thru activated]
      | | | o- alua ................................................................................................... [ALUA Groups: 1]
      | | |   o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
      | | o- sbddbhn1 ................................................................... [/sbd/sbddbhn1 (50.0MiB) write-thru activated]
      | |   o- alua ................................................................................................... [ALUA Groups: 1]
      | |     o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
      | o- pscsi .................................................................................................. [Storage Objects: 0]
      | o- ramdisk ................................................................................................ [Storage Objects: 0]
      o- iscsi ............................................................................................................ [Targets: 2]
      | o- iqn.2006-04.dbhn1.local:dbhn1 ..................................................................................... [TPGs: 1]
      | | o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
      | |   o- acls .......................................................................................................... [ACLs: 2]
      | |   | o- iqn.2006-04.hn1-db-0.local:hn1-db-0 .................................................................. [Mapped LUNs: 1]
      | |   | | o- mapped_lun0 ............................................................................... [lun0 fileio/sbdhdb (rw)]
      | |   | o- iqn.2006-04.hn1-db-1.local:hn1-db-1 .................................................................. [Mapped LUNs: 1]
      | |   |   o- mapped_lun0 ............................................................................... [lun0 fileio/sbdhdb (rw)]
      | |   o- luns .......................................................................................................... [LUNs: 1]
      | |   | o- lun0 ............................................................. [fileio/sbddbhn1 (/sbd/sbddbhn1) (default_tg_pt_gp)]
      | |   o- portals .................................................................................................... [Portals: 1]
      | |     o- 0.0.0.0:3260 ..................................................................................................... [OK]
      | o- iqn.2006-04.ascsnw1.local:ascsnw1 ................................................................................. [TPGs: 1]
      |   o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
      |     o- acls .......................................................................................................... [ACLs: 2]
      |     | o- iqn.2006-04.sap-cl1.local:sap-cl1 .................................................................... [Mapped LUNs: 1]
      |     | | o- mapped_lun0 ........................................................................... [lun0 fileio/sbdascsers (rw)]
      |     | o- iqn.2006-04.sap-cl2.local:sap-cl2 .................................................................... [Mapped LUNs: 1]
      |     |   o- mapped_lun0 ........................................................................... [lun0 fileio/sbdascsers (rw)]
      |     o- luns .......................................................................................................... [LUNs: 1]
      |     | o- lun0 ......................................................... [fileio/sbdascsnw1 (/sbd/sbdascsnw1) (default_tg_pt_gp)]
      |     o- portals .................................................................................................... [Portals: 1]
      |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
      o- loopback ......................................................................................................... [Targets: 0]
    

Az iSCSI-célkiszolgáló SBD-eszközének beállítása

[A]: Az összes csomópontra vonatkozik. [1]: Csak az 1. csomópontra vonatkozik. [2]: Csak a 2. csomópontra vonatkozik.

A fürtcsomópontokon csatlakozzon és fedezze fel a korábbi szakaszban létrehozott iSCSI-eszközt. Futtassa a következő parancsokat az új fürt létrehozásához szükséges csomópontokon.

  1. [A] Az iSCSI-kezdeményező segédprogramok telepítése vagy frissítése az összes fürtcsomóponton.

    sudo yum install -y iscsi-initiator-utils
    
  2. [A] Fürt- és SBD-csomagok telepítése az összes fürtcsomópontra.

    sudo yum install -y pcs pacemaker sbd fence-agents-sbd
    
  3. [A] Engedélyezze az iSCSI szolgáltatást.

    sudo systemctl enable iscsid iscsi
    
  4. [1] Módosítsa a kezdeményező nevét a klaszter első csomópontján.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
    # Change the content of the file to match the access control ists (ACLs) you used when you created the iSCSI device on the iSCSI target server (for example, for the ASCS/ERS servers)
    InitiatorName=iqn.2006-04.sap-cl1.local:sap-cl1
    
  5. [2] Módosítsa a kezdeményező nevét a fürt második csomópontján.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
    # Change the content of the file to match the access control ists (ACLs) you used when you created the iSCSI device on the iSCSI target server (for example, for the ASCS/ERS servers)
    InitiatorName=iqn.2006-04.sap-cl2.local:sap-cl2
    
  6. [A] Indítsa újra az iSCSI szolgáltatást a módosítások alkalmazásához.

    sudo systemctl restart iscsid 
    sudo systemctl restart iscsi
    
  7. [A] Csatlakoztassa az iSCSI-eszközöket. Az alábbi példában a 10.0.0.17 az iSCSI-célkiszolgáló IP-címe, a 3260 pedig az alapértelmezett port. A célnév iqn.2006-04.ascsnw1.local:ascsnw1 megjelenik az első parancs iscsiadm -m discoveryfuttatásakor.

    sudo iscsiadm -m discovery --type=st --portal=10.0.0.17:3260
    sudo iscsiadm -m node -T iqn.2006-04.ascsnw1.local:ascsnw1 --login --portal=10.0.0.17:3260
    sudo iscsiadm -m node -p 10.0.0.17:3260 -T iqn.2006-04.ascsnw1.local:ascsnw1 --op=update --name=node.startup --value=automatic
    
  8. [A] Ha több SBD-eszközt használ, csatlakozzon a második iSCSI-célkiszolgálóhoz is.

    sudo iscsiadm -m discovery --type=st --portal=10.0.0.18:3260
    sudo iscsiadm -m node -T iqn.2006-04.ascsnw1.local:ascsnw1 --login --portal=10.0.0.18:3260
    sudo iscsiadm -m node -p 10.0.0.18:3260 -T iqn.2006-04.ascsnw1.local:ascsnw1 --op=update --name=node.startup --value=automatic
    
  9. [A] Ha több SBD-eszközt használ, csatlakozzon a harmadik iSCSI-célkiszolgálóhoz is.

    sudo iscsiadm -m discovery --type=st --portal=10.0.0.19:3260
    sudo iscsiadm -m node -T iqn.2006-04.ascsnw1.local:ascsnw1 --login --portal=10.0.0.19:3260
    sudo iscsiadm -m node -p 10.0.0.19:3260 -T iqn.2006-04.ascsnw1.local:ascsnw1 --op=update --name=node.startup --value=automatic
    
  10. [A] Győződjön meg arról, hogy az iSCSI-eszközök elérhetők, és jegyezze fel az eszköz nevét. Az alábbi példában három iSCSI-eszközt fedezünk fel a csomópont három iSCSI-tárolókiszolgálóhoz való csatlakoztatásával.

    lsscsi
    
    [0:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sde
    [1:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sda
    [1:0:0:1]    disk    Msft     Virtual Disk     1.0   /dev/sdb
    [1:0:0:2]    disk    Msft     Virtual Disk     1.0   /dev/sdc
    [1:0:0:3]    disk    Msft     Virtual Disk     1.0   /dev/sdd
    [2:0:0:0]    disk    LIO-ORG  sbdascsnw1       4.0   /dev/sdf
    [3:0:0:0]    disk    LIO-ORG  sbdascsnw1       4.0   /dev/sdh
    [4:0:0:0]    disk    LIO-ORG  sbdascsnw1       4.0   /dev/sdg
    
  11. [A] Az iSCSI-eszközök azonosítóinak lekérése.

    ls -l /dev/disk/by-id/scsi-* | grep -i sdf
    
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-1LIO-ORG_sbdhdb:85d254ed-78e2-4ec4-8b0d-ecac2843e086 -> ../../sdf
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2 -> ../../sdf
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-SLIO-ORG_sbdhdb_85d254ed-78e2-4ec4-8b0d-ecac2843e086 -> ../../sdf
    
    ls -l /dev/disk/by-id/scsi-* | grep -i sdh
    
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-1LIO-ORG_sbdhdb:87122bfc-8a0b-4006-b538-d0a6d6821f04 -> ../../sdh
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-3600140587122bfc8a0b4006b538d0a6d -> ../../sdh
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-SLIO-ORG_sbdhdb_87122bfc-8a0b-4006-b538-d0a6d6821f04 -> ../../sdh
    
    ls -l /dev/disk/by-id/scsi-* | grep -i sdg
    
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-1LIO-ORG_sbdhdb:d2ddc548-060c-49e7-bb79-2bb653f0f34a -> ../../sdg
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-36001405d2ddc548060c49e7bb792bb65 -> ../../sdg
    # lrwxrwxrwx 1 root root  9 Jul 15 20:21 /dev/disk/by-id/scsi-SLIO-ORG_sbdhdb_d2ddc548-060c-49e7-bb79-2bb653f0f34a -> ../../sdg
    
    

    A parancs három eszközazonosítót sorol fel minden SBD-eszközhöz. Azt javasoljuk, hogy az scsi-3-mal kezdődő azonosítót használja. Az előző példában az azonosítók a következők:

    • /dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2
    • /dev/disk/by-id/scsi-3600140587122bfc8a0b4006b538d0a6d
    • /dev/disk/by-id/scsi-36001405d2ddc548060c49e7bb792bb65
  12. [1] Hozza létre az SBD-eszközt.

    1. Az iSCSI-eszközök eszközazonosítójával hozza létre az új SBD-eszközöket az első fürtcsomóponton.

      sudo sbd -d /dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2 -1 60 -4 120 create
      
    2. Ha több SBD-eszközt szeretne használni, hozza létre a második és a harmadik SBD-eszközt is.

      sudo sbd -d /dev/disk/by-id/scsi-3600140587122bfc8a0b4006b538d0a6d -1 60 -4 120 create
      sudo sbd -d /dev/disk/by-id/scsi-36001405d2ddc548060c49e7bb792bb65 -1 60 -4 120 create
      
  13. [A] Az SBD konfigurációjának adaptálása

    1. Nyissa meg az SBD konfigurációs fájlját.

      sudo vi /etc/sysconfig/sbd
      
    2. Módosítsa az SBD-eszköz tulajdonságát, engedélyezze a pacemaker-integrációt, és módosítsa az SBD indítási módját.

      [...]
      SBD_DEVICE="/dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2;/dev/disk/by-id/scsi-3600140587122bfc8a0b4006b538d0a6d;/dev/disk/by-id/scsi-36001405d2ddc548060c49e7bb792bb65"
      [...]
      SBD_PACEMAKER=yes
      [...]
      SBD_STARTMODE=always
      [...]
      SBD_DELAY_START=yes
      [...]
      
  14. [A] Futtassa a következő parancsot a softdog modul betöltéséhez.

    modprobe softdog
    
  15. [A] Futtassa a következő parancsot annak ellenőrzéséhez, hogy a csomópont újraindítása után automatikusan betöltődik-e softdog .

    echo softdog > /etc/modules-load.d/watchdog.conf
    systemctl restart systemd-modules-load
    
  16. [A] Az SBD szolgáltatás időtúllépési értéke alapértelmezés szerint 90 s. Ha azonban az SBD_DELAY_START érték yes-re van állítva, az SBD szolgáltatás késlelteti a kezdést a msgwait időtúllépés után. Ezért az SBD szolgáltatás időtúllépési értékének meg kell haladnia az msgwait időtúllépést, ha SBD_DELAY_START engedélyezve van.

    sudo mkdir /etc/systemd/system/sbd.service.d
    echo -e "[Service]\nTimeoutSec=144" | sudo tee /etc/systemd/system/sbd.service.d/sbd_delay_start.conf
    sudo systemctl daemon-reload
    
    systemctl show sbd | grep -i timeout
    # TimeoutStartUSec=2min 24s
    # TimeoutStopUSec=2min 24s
    

SBD az Azure megosztott lemezzel

Ez a szakasz csak akkor érvényes, ha SBD-eszközt szeretne használni egy Azure-beli megosztott lemezzel.

Megosztott Azure-lemez konfigurálása a PowerShell-lel

Ha azure-beli megosztott lemezt szeretne létrehozni és csatolni a PowerShell-lel, hajtsa végre az alábbi utasításokat. Ha az Azure CLI-vel vagy az Azure Portallal szeretne erőforrásokat üzembe helyezni, tekintse meg a ZRS-lemezek üzembe helyezését is.

$ResourceGroup = "MyResourceGroup"
$Location = "MyAzureRegion"
$DiskSizeInGB = 4
$DiskName = "SBD-disk1"
$ShareNodes = 2
$LRSSkuName = "Premium_LRS"
$ZRSSkuName = "Premium_ZRS"  
$vmNames = @("prod-cl1-0", "prod-cl1-1")  # VMs to attach the disk

# ZRS Azure shared disk: Configure an Azure shared disk with ZRS for a premium shared disk
$zrsDiskConfig = New-AzDiskConfig -Location $Location -SkuName $ZRSSkuName -CreateOption Empty -DiskSizeGB $DiskSizeInGB -MaxSharesCount $ShareNodes
$zrsDataDisk = New-AzDisk -ResourceGroupName $ResourceGroup -DiskName $DiskName -Disk $zrsDiskConfig

# Attach ZRS disk to cluster VMs
foreach ($vmName in $vmNames) {
  $vm = Get-AzVM -ResourceGroupName $resourceGroup -Name $vmName
  Add-AzVMDataDisk -VM $vm -Name $diskName -CreateOption Attach -ManagedDiskId $zrsDataDisk.Id -Lun 0
  Update-AzVM -VM $vm -ResourceGroupName $resourceGroup -Verbose
}

# LRS Azure shared disk: Configure an Azure shared disk with LRS for a premium shared disk
$lrsDiskConfig = New-AzDiskConfig -Location $Location -SkuName $LRSSkuName -CreateOption Empty -DiskSizeGB $DiskSizeInGB -MaxSharesCount $ShareNodes
$lrsDataDisk = New-AzDisk -ResourceGroupName $ResourceGroup -DiskName $DiskName -Disk $lrsDiskConfig

# Attach LRS disk to cluster VMs
foreach ($vmName in $vmNames) {
  $vm = Get-AzVM -ResourceGroupName $resourceGroup -Name $vmName
  Add-AzVMDataDisk -VM $vm -Name $diskName -CreateOption Attach -ManagedDiskId $lrsDataDisk.Id -Lun 0
  Update-AzVM -VM $vm -ResourceGroupName $resourceGroup -Verbose
}

Azure-beli megosztott lemez SBD-eszköz beállítása

  1. [A] Fürt- és SBD-csomagok telepítése az összes fürtcsomópontra.

    sudo yum install -y pcs pacemaker sbd fence-agents-sbd
    
  2. [A] Győződjön meg arról, hogy a csatolt lemez elérhető.

    lsblk
    
    # NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    # sda                 8:0    0    4G  0 disk
    # sdb                 8:16   0   64G  0 disk
    # ├─sdb1              8:17   0  500M  0 part /boot
    # ├─sdb2              8:18   0   63G  0 part
    # │ ├─rootvg-tmplv  253:0    0    2G  0 lvm  /tmp
    # │ ├─rootvg-usrlv  253:1    0   10G  0 lvm  /usr
    # │ ├─rootvg-homelv 253:2    0    1G  0 lvm  /home
    # │ ├─rootvg-varlv  253:3    0    8G  0 lvm  /var
    # │ └─rootvg-rootlv 253:4    0    2G  0 lvm  /
    # ├─sdb14             8:30   0    4M  0 part
    # └─sdb15             8:31   0  495M  0 part /boot/efi
    # sr0                11:0    1 1024M  0 rom
    
    lsscsi
    
    # [0:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sdb
    # [0:0:0:2]    cd/dvd  Msft     Virtual DVD-ROM  1.0   /dev/sr0
    # [1:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sda
    # [1:0:0:1]    disk    Msft     Virtual Disk     1.0   /dev/sdc
    
  3. [A] Kérje le a csatlakoztatott megosztott lemez eszközazonosítóját.

    ls -l /dev/disk/by-id/scsi-* | grep -i sda
    
    # lrwxrwxrwx 1 root root  9 Jul 15 22:24 /dev/disk/by-id/scsi-14d534654202020200792c2f5cc7ef14b8a7355cb3cef0107 -> ../../sda
    # lrwxrwxrwx 1 root root  9 Jul 15 22:24 /dev/disk/by-id/scsi-3600224800792c2f5cc7e55cb3cef0107 -> ../../sda
    

    A csatolt megosztott lemez parancslistájának eszközazonosítója. Azt javasoljuk, hogy az scsi-3-mal kezdődő azonosítót használja. Ebben a példában az azonosító a /dev/disk/by-id/scsi-3600224800792c2f5cc7e55cb3cef0107.

  4. [1] Az SBD-eszköz létrehozása

    # Use the device ID from step 3 to create the new SBD device on the first cluster node
    sudo sbd -d /dev/disk/by-id/scsi-3600224800792c2f5cc7e55cb3cef0107 -1 60 -4 120 create
    
  5. [A] Az SBD konfigurációjának adaptálása

    1. Nyissa meg az SBD konfigurációs fájlját.

      sudo vi /etc/sysconfig/sbd
      
    2. Az SBD-eszköz tulajdonságának módosítása, a pacemaker-integráció engedélyezése és az SBD indítási módjának módosítása

      [...]
      SBD_DEVICE="/dev/disk/by-id/scsi-3600224800792c2f5cc7e55cb3cef0107"
      [...]
      SBD_PACEMAKER=yes
      [...]
      SBD_STARTMODE=always
      [...]
      SBD_DELAY_START=yes
      [...]
      
  6. [A] Futtassa a következő parancsot a softdog modul betöltéséhez.

    modprobe softdog
    
  7. [A] Futtassa a következő parancsot annak ellenőrzéséhez, hogy a csomópont újraindítása után automatikusan betöltődik-e softdog .

    echo softdog > /etc/modules-load.d/watchdog.conf
    systemctl restart systemd-modules-load
    
  8. [A] Az SBD szolgáltatás időtúllépési értéke alapértelmezés szerint 90 másodperc. Ha azonban az SBD_DELAY_START érték yes-re van állítva, az SBD szolgáltatás késlelteti a kezdést a msgwait időtúllépés után. Ezért az SBD szolgáltatás időtúllépési értékének meg kell haladnia az msgwait időtúllépést, ha SBD_DELAY_START engedélyezve van.

    sudo mkdir /etc/systemd/system/sbd.service.d
    echo -e "[Service]\nTimeoutSec=144" | sudo tee /etc/systemd/system/sbd.service.d/sbd_delay_start.conf
    sudo systemctl daemon-reload
    
    systemctl show sbd | grep -i timeout
    # TimeoutStartUSec=2min 24s
    # TimeoutStopUSec=2min 24s
    

Az Azure kerítésügynökének konfigurálása

A kerítéseszköz vagy felügyelt identitást, vagy egy szolgáltatásazonosítót használ az Azure-erőforrások elleni engedélyezéshez. Az identitáskezelési módszertől függően kövesse a megfelelő eljárásokat –

  1. Identitáskezelés konfigurálása

    Felügyelt identitás vagy szolgáltatásnév használata.

    Felügyelt identitás (MSI) létrehozásához hozzon létre egy rendszer által hozzárendelt felügyelt identitást a fürt minden virtuális gépéhez. Ha már létezik rendszer által hozzárendelt felügyelt identitás, akkor az lesz használva. Jelenleg ne használjon felhasználó által hozzárendelt felügyelt identitásokat a Pacemakerrel. A felügyelt identitáson alapuló kerítéseszköz az RHEL 7.9 és az RHEL 8.x/RHEL 9.x rendszeren támogatott.

  2. Egyéni szerepkör létrehozása a kerítésügynökhöz

    A felügyelt identitás és a szolgáltatásnév sem rendelkezik alapértelmezés szerint az Azure-erőforrások eléréséhez szükséges engedélyekkel. Adjon engedélyeket a felügyelt identitásnak vagy szolgáltatásfióknak a fürt összes virtuális gépének elindítására és leállítására (kikapcsolására). Ha még nem hozta létre az egyéni szerepkört, a PowerShell vagy az Azure CLI használatával hozhatja létre.

    Használja a következő tartalmat a bemeneti fájlhoz. A tartalmat hozzá kell igazítania az előfizetéseihez, vagyis le kell cserélnie a xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx és yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy helyére az előfizetése azonosítóit. Ha csak egy előfizetéssel rendelkezik, távolítsa el a második bejegyzést.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": []
    }
    
  3. Az egyéni szerepkör hozzárendelése

    Felügyelt identitás vagy szolgáltatásnév használata.

    Rendelje hozzá a legutóbbi szakaszban létrehozott egyéni szerepkört Linux Fence Agent Role a fürt virtuális gépeinek összes felügyelt identitásához. Minden rendszer által hozzárendelt felügyelt identitás esetén hozzá kell rendelni a szerepkört minden fürtbe tartozó virtuális gép erőforrásához. További információ: Felügyelt identitáshozzáférés hozzárendelése egy erőforráshoz az Azure Portal használatával. Ellenőrizze, hogy minden VM felügyelt identitásszerep-hozzárendelése tartalmazza-e az összes fürt VM-et.

    Fontos

    Vegye figyelembe, hogy a jogok hozzárendelése és visszavonása felügyelt identitásokkal késhet a hatályosulásig.

Szerverfürt telepítése

Az RHEL 7 és az RHEL 8/RHEL 9 parancsai és konfigurációi közötti különbségek a dokumentumban vannak megjelölve.

  1. [A] Telepítse az RHEL HA bővítményt.

    sudo yum install -y pcs pacemaker nmap-ncat
    
  2. [A] Az RHEL 9.x-en telepítse az erőforrás-ügynököket a felhőbeli üzembe helyezéshez.

    sudo yum install -y resource-agents-cloud
    
  3. [A] Telepítse a kerítésügynök-csomagot, ha egy Azure-beli kerítésügynökön alapuló kerítéseszközt használ.

    sudo yum install -y fence-agents-azure-arm 
    

    Fontos

    Az Azure kerítésügynök (vagy újabb) alábbi verzióit javasoljuk azoknak az ügyfeleknek, akik felügyelt identitásokat szeretnének használni az Azure-erőforrásokhoz a kerítésügynök szolgáltatásnév-nevei helyett:

    • RHEL 8.4: kerítés-ügynökök-4.2.1-54.el8.
    • RHEL 8.2: kerítés-ügynökök-4.2.1-41.el8_2.4
    • RHEL 8.1: kerítés-ügynökök-4.2.1-30.el8_1.4
    • RHEL 7.9: kerítés-ügynökök-4.2.1-41.el7_9.4.

    Fontos

    Az RHEL 9-ben a következő csomagverziókat (vagy újabb verziókat) javasoljuk az Azure kerítésügynökkel kapcsolatos problémák elkerülése érdekében:

    • kerítés-ügynökök-4.10.0-20.el9_0.7
    • kerítés-ügynökök-common-4.10.0-20.el9_0.6
    • ha-cloud-support-4.10.0-20.el9_0.6.x86_64.rpm

    Ellenőrizze az Azure kerítésügynök verzióját. Szükség esetén frissítse a minimálisan szükséges verzióra vagy újabb verzióra.

    # Check the version of the Azure Fence Agent
    sudo yum info fence-agents-azure-arm
    

    Fontos

    Ha frissítenie kell az Azure kerítésügynököt, és ha egyéni szerepkört használ, frissítse az egyéni szerepkört a powerOff művelet belefoglalásához. További információ: Egyéni szerepkör létrehozása a kerítésügynökhöz.

  4. [A] Állítsa be a hosztnév felbontását.

    Használhat DNS-kiszolgálót, vagy módosíthatja a fájlt az /etc/hosts összes csomóponton. Ez a példa bemutatja a /etc/hosts fájl használatát. Cserélje le az IP-címet és a gazdagépnevet a következő parancsokban.

    Fontos

    Ha hostneveket használ a fürtkonfigurációban, elengedhetetlen a megbízható hostnévfeloldás. A klaszter kommunikációja meghiúsul, ha a nevek nem érhetők el, ami a klaszter feladatátvételének késéséhez vezethet.

    A /etc/hosts használatának előnye, hogy a fürt függetlenné válik DNS-től, ami szintén hibalehetőséget jelenthet.

    sudo vi /etc/hosts
    

    Szúrja be a következő sorokat a /etc/hosts. Módosítsa az IP-címet és a gazdagépnevet úgy, hogy megfeleljen a környezetének.

    # 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
    
  5. [A] Módosítsa a hacluster jelszót ugyanarra a jelszóra.

    sudo passwd hacluster
    
  6. [A] Adjon hozzá tűzfalszabályokat a Pacemakerhez.

    Adja hozzá a következő tűzfalszabályokat a fürtcsomópontok közötti összes fürtkommunikációhoz.

    sudo firewall-cmd --add-service=high-availability --permanent
    sudo firewall-cmd --add-service=high-availability
    
  7. [A] Alapvető klaszterszolgáltatások engedélyezése.

    Futtassa az alábbi parancsokat a Pacemaker szolgáltatás engedélyezéséhez és elindításához.

    sudo systemctl start pcsd.service
    sudo systemctl enable pcsd.service
    
  8. [1] Hozzon létre egy Pacemaker-klasztert.

    Futtassa az alábbi parancsokat a csomópontok hitelesítésére, majd a fürt létrehozására. Állítsa a tokent 30000 értékre a memóriamegőrző karbantartás engedélyezéséhez. További információkért tekintse meg ezt a Linuxról szóló cikket.

    Ha RHEL 7.x-en fürtöt épít, használja a következő parancsokat:

    sudo pcs cluster auth prod-cl1-0 prod-cl1-1 -u hacluster
    sudo pcs cluster setup --name nw1-azr prod-cl1-0 prod-cl1-1 --token 30000
    sudo pcs cluster start --all
    

    Ha az RHEL 8.x/RHEL 9.x rendszeren épít fürtöt, használja a következő parancsokat:

    sudo pcs host auth prod-cl1-0 prod-cl1-1 -u hacluster
    sudo pcs cluster setup nw1-azr prod-cl1-0 prod-cl1-1 totem token=30000
    sudo pcs cluster start --all
    

    Ellenőrizze a fürt állapotát a következő parancs futtatásával:

    # Run the following command until the status of both nodes is online
    sudo pcs status
    
    # Cluster name: nw1-azr
    # WARNING: no stonith devices and stonith-enabled is not false
    # Stack: corosync
    # Current DC: prod-cl1-1 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum
    # Last updated: Fri Aug 17 09:18:24 2018
    # Last change: Fri Aug 17 09:17:46 2018 by hacluster via crmd on prod-cl1-1
    #
    # 2 nodes configured
    # 0 resources configured
    #
    # Online: [ prod-cl1-0 prod-cl1-1 ]
    #
    # No resources
    #
    # Daemon Status:
    #   corosync: active/disabled
    #   pacemaker: active/disabled
    #   pcsd: active/enabled
    
  9. [A] Állítsa be a várt szavazatokat.

    # Check the quorum votes 
    pcs quorum status
    
    # If the quorum votes are not set to 2, execute the next command
    sudo pcs quorum expected-votes 2
    

    Jótanács

    Ha többcsomópontos fürtöt, vagyis két csomópontnál több csomópontot tartalmazó fürtöt hoz létre, ne állítsa a szavazatokat 2-re.

  10. [1] Egyidejű kerítésműveletek engedélyezése.

    sudo pcs property set concurrent-fencing=true
    

Kerítéseszköz létrehozása a Pacemaker-fürtön

Jótanács

  • A két csomópontból álló pacemaker klaszterben előforduló konfliktusok elkerülése érdekében konfigurálhatja a priority-fencing-delay klasztertulajdonságot. Ez a tulajdonság további késést vezet be egy olyan csomópont elszigetelésében, amelynek magasabb az összesített erőforrás-prioritása megosztott agy állapot esetén. További információért lásd: Képes a Pacemaker kizárni azt a fürtcsomópontot, amelyen a legkevesebb erőforrás fut?
  • A tulajdonság priority-fencing-delay a Pacemaker 2.0.4-6.el8-s vagy újabb verziójára és kétcsomópontos fürtön alkalmazható. Ha konfigurálja a priority-fencing-delay fürttulajdonságot, nem szükséges beállítania a pcmk_delay_max tulajdonságot. Ha azonban a Pacemaker verziója kisebb, mint 2.0.4-6.el8, be kell állítania a tulajdonságot pcmk_delay_max .
  • A priority-fencing-delay fürttulajdonság beállításának módjáról szóló utasításokért tekintse meg a megfelelő SAP ASCS/ERS és SAP HANA felskálázási HA dokumentumokat.

A kiválasztott fencing mechanizmus alapján kövesse az egyik szakaszt a vonatkozó utasításokért: SBD, mint kerítéseszköz vagy Azure kerítésügynök, mint kerítéseszköz.

SBD mint kerítéseszköz

  1. [A] SBD-szolgáltatás engedélyezése

    sudo systemctl enable sbd
    
  2. [1] Az iSCSI-tárolókiszolgálók vagy az Azure megosztott lemez használatával konfigurált SBD-eszköz esetében futtassa az alábbi parancsokat.

    sudo pcs property set stonith-timeout=144
    sudo pcs property set stonith-enabled=true
    
    # Replace the device IDs with your device ID. 
    pcs stonith create sbd fence_sbd \
    devices=/dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2,/dev/disk/by-id/scsi-3600140587122bfc8a0b4006b538d0a6d,/dev/disk/by-id/scsi-36001405d2ddc548060c49e7bb792bb65 \
    op monitor interval=600 timeout=15
    
  3. [1] Indítsa újra a fürtöt

    sudo pcs cluster stop --all
    
    # It would take time to start the cluster as "SBD_DELAY_START" is set to "yes"
    sudo pcs cluster start --all
    

    Megjegyzés:

    Ha a pacemaker-fürt indításakor a következő hibaüzenet jelenik meg, figyelmen kívül hagyhatja az üzenetet. Másik lehetőségként elindíthatja a klasztert a paranccsal pcs cluster start --all --request-timeout 140.

    Hiba: nem lehet elindítani az összes csomópont csomópontját1/csomópont2: Nem lehet csatlakozni a csomópont1/csomópont2 csomóponthoz, ellenőrizze, hogy a pcsd fut-e ott, vagy próbálkozzon a magasabb időtúllépés beállításával --request-timeout (a művelet 60000 ezredmásodperc után időtúllépést eredményezett, és 0 bájt érkezett)

Az Azure kerítésügynöke mint kerítéseszköz

  1. [1] Miután szerepköröket rendelt mindkét fürtcsomóponthoz, konfigurálhatja a fürtben lévő kerítéseszközöket.

    sudo pcs property set stonith-timeout=900
    sudo pcs property set stonith-enabled=true
    
  2. [1] Futtassa a megfelelő parancsot attól függően, hogy felügyelt identitást vagy szolgáltatási főazonosítót használ-e az Azure kerítéselőagense számára.

    Megjegyzés:

    Az Azure Government Cloud használatakor meg kell adnia cloud= a beállítást a kerítésügynök konfigurálásakor. Például cloud=usgov az Azure USA kormányzati felhője esetében. Az Azure kormányzati felhőn biztosított Red Hat-támogatás részleteiért tekintse meg az RHEL magas rendelkezésre állású fürtök támogatási szabályzatait – Microsoft Azure Virtual Machines mint fürttagok.

    Jótanács

    Ez a beállítás pcmk_host_map csak akkor szükséges a parancsban, ha az RHEL-gazdagépnevek és az Azure-beli virtuális gépek nevei nem azonosak. Adja meg a leképezést a gazdagépnév:vm-név formátumban. További információért lásd: Milyen formátumot kell használnom a csomópontleképezések megadásához a fencing eszközök számára a pcmk_host_map-ban?

    Az RHEL 7.x esetén a következő paranccsal konfigurálja a kerítéseszközt:

    sudo pcs stonith create rsc_st_azure fence_azure_arm msi=true resourceGroup="resource group" \ 
    subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
    power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \
    op monitor interval=3600
    

    Az RHEL 8.x/9.x esetén a következő paranccsal konfigurálja a kerítéseszközt:

    # Run following command if you are setting up fence agent on (two-node cluster and pacemaker version greater than 2.0.4-6.el8) OR (HANA scale out)
    sudo pcs stonith create rsc_st_azure fence_azure_arm msi=true resourceGroup="resource group" \
    subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
    power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 \
    op monitor interval=3600
    
    # Run following command if you are setting up fence agent on (two-node cluster and pacemaker version less than 2.0.4-6.el8)
    sudo pcs stonith create rsc_st_azure fence_azure_arm msi=true resourceGroup="resource group" \
    subscriptionId="subscription id" pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
    power_timeout=240 pcmk_reboot_timeout=900 pcmk_monitor_timeout=120 pcmk_monitor_retries=4 pcmk_action_limit=3 pcmk_delay_max=15 \
    op monitor interval=3600
    

Ha egy szolgáltatásnév-konfiguráción alapuló kerítési eszközt használ, olvassa el a cikket arról, hogyan válthat SPN-ről MSI-re az Azure kerítés használatával a Pacemaker-fürtök esetében, és ismerje meg, hogyan konvertálható felügyelt identitás konfigurációvá.

A monitorozási és kerítési műveletek deszerializálva vannak. Ennek eredményeképpen, ha egy hosszabb ideig futó monitorozási művelet és egyidejű lekerítési esemény van, a klaszter feladatátvétele nem késik, mert a monitorozási művelet már fut.

Jótanács

Az Azure kerítésügynökhöz kimenő kapcsolat szükséges a nyilvános végpontokhoz. A lehetséges megoldásokkal kapcsolatos további információkért tekintse meg a standard ILB-t használó virtuális gépek nyilvános végpontkapcsolatát.

Pacemaker konfigurálása azure-beli ütemezett eseményekhez

Az Azure ütemezett eseményeket kínál. Az ütemezett események a metaadat-szolgáltatáson keresztül érhetők el, és lehetővé teszik, hogy az alkalmazás felkészüljön az ilyen eseményekre.

Az azure-events-az erőforrásügynök figyeli az ütemezett Azure-eseményeket. Ha eseményeket észlelnek, és az erőforrás-ügynök megállapítja, hogy elérhető egy másik fürtcsomópont, egy csomópontszintű állapotattribútumot beállít #health-azure-1000000 értékre.

** Ha egy csomóponthoz beállítják ezt a speciális fürt egészségi állapot attribútumot, a fürt egészségtelennek tekinti a csomópontot, és minden erőforrást áthelyeznek az érintett csomópontról. A helykorlátozás biztosítja, hogy az "egészség-" kezdetű nevű erőforrások kizárásra kerüljenek, mivel az ügynöknek ebben a nem egészséges állapotban kell futnia. Ha az érintett fürtcsomópont nem futtat fürterőforrásokat, az ütemezett esemény végrehajthatja a műveletét, például az újraindítást anélkül, hogy az erőforrások futtatásának kockázata fennáll.

Az #heath-azure attribútum vissza 0 lesz állítva a pacemaker indításakor az összes esemény feldolgozása után, és ismét kifogástalan állapotúként jelöli meg a csomópontot.

  1. [A] Győződjön meg arról, hogy az azure-events-az ügynök csomagja már telepítve van és naprakész.

    RHEL 8.x: sudo dnf info resource-agents
    RHEL 9.x: sudo dnf info resource-agents-cloud
    

    Minimális verziókövetelmények:

    • RHEL 8.4: resource-agents-4.1.1-90.13
    • RHEL 8.6: resource-agents-4.9.0-16.9
    • RHEL 8.8: resource-agents-4.9.0-40.1
    • RHEL 9.0: resource-agents-cloud-4.10.0-9.6
    • RHEL 9.2 és újabb: resource-agents-cloud-4.10.0-34.1
  2. [1] Konfigurálja az erőforrásokat a Pacemakerben.

    #Place the cluster in maintenance mode
    sudo pcs property set maintenance-mode=true
    
  3. [1] Állítsa be a Pacemaker-fürt állapotcsomópont-stratégiáját és a korlátozást.

    sudo pcs property set node-health-strategy=custom
    
    sudo pcs constraint location 'regexp%!health-.*' \
    rule score-attribute='#health-azure' \
    defined '#uname'
    

    Fontos

    Ne definiáljon más erőforrásokat a fürtben health- a következő lépésekben leírt erőforrásokon kívül.

  4. [1] Állítsa be a fürtattribútumok kezdeti értékét. Futtassa minden egyes fürtcsomóponton, valamint a skálázott környezetekben, beleértve a többségi döntéshozó virtuális gépet is.

    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] Konfigurálja az erőforrásokat a Pacemakerben. Győződjön meg arról, hogy az erőforrások a következővel kezdődnek health-azure: .

    sudo pcs resource create health-azure-events \
    ocf:heartbeat:azure-events-az \
    meta failure-timeout=120s \
    op monitor interval=10s timeout=240s \
    op start timeout=10s start-delay=90s
    
    sudo pcs resource clone health-azure-events allow-unhealthy-nodes=true
    
  6. Vegye ki a Pacemaker-fürtöt a karbantartási módból.

    sudo pcs property set maintenance-mode=false
    
  7. Törölje a hibákat az engedélyezés során, és ellenőrizze, hogy az health-azure-events erőforrások sikeresen elindultak-e az összes fürtcsomóponton.

    sudo pcs resource cleanup
    

    Az ütemezett események első lekérdezésvégrehajtása akár két percet is igénybe vehet. Az ütemezett eseményekkel végzett Pacemaker tesztelés során újraindítási vagy újbóli üzembe helyezési műveletek alkalmazhatók a fürt virtuális gépeihez. További információ: Ütemezett események.

Választható kerítéskonfiguráció

Jótanács

Ez a szakasz csak akkor alkalmazható, ha a speciális kerítéseszközt fence_kdumpszeretné konfigurálni.

Ha diagnosztikai adatokat kell gyűjtenie a virtuális gépen belül, hasznos lehet egy másik kerítéseszközt konfigurálni a kerítésügynök fence_kdumpalapján. Az fence_kdump ügynök képes észlelni, hogy egy csomópont belépett a kdump összeomlás utáni helyreállításba, és lehetővé teheti az összeomlás utáni helyreállítási szolgáltatás befejezését, mielőtt más fencing módszereket hív meg. Vegye figyelembe, hogy fence_kdump az Azure-beli virtuális gépek használatakor nem helyettesíti a hagyományos kerítési mechanizmusokat, például az SBD-t vagy az Azure-kerítésügynököt.

Fontos

Vegye figyelembe, hogy ha fence_kdump első szintű kerítéseszközként van konfigurálva, késéseket okoz a kerítésműveletekben, illetve késlelteti az alkalmazáserőforrások feladatátvételét.

Ha a rendszer sikeresen észlel egy összeomlási memóriaképet, késlelteti az izolációt, amíg az összeomlás utáni helyreállítási szolgáltatás be nem fejeződik. Ha a meghiúsult csomópont nem érhető el, vagy ha nem válaszol, a kerítést késlelteti a meghatározott idő, a konfigurált iterációk száma és az fence_kdump időtúllépés. További információért tekintse meg: Hogyan konfigurálhatom a fence_kdump-ot egy Red Hat Pacemaker fürtben?.

Előfordulhat, hogy a javasolt fence_kdump időtúllépést egy adott környezethez kell igazítani.

Javasoljuk, hogy csak akkor konfigurálja fence_kdump a kerítést, ha az szükséges a virtuális gépen belüli diagnosztikák gyűjtéséhez, és mindig a hagyományos kerítési módszerekkel, például az SBD-vel vagy az Azure kerítésügynökével kombinálva.

Az alábbi Red Hat KB-cikkek fontos információkat tartalmaznak a kerítés konfigurálásáról fence_kdump :

Futtassa az alábbi választható lépéseket, hogy az Azure kerítésügynök konfigurációja mellett adjon hozzá fence_kdump-t elsőszintű kerítéskonfigurációként.

  1. [A] Ellenőrizze, hogy aktív-e kdump és konfigurálva van-e.

    systemctl is-active kdump
    # Expected result
    # active
    
  2. [A] Telepítse a fence_kdump kerítésügynököt.

    yum install fence-agents-kdump
    
  3. [1] Hozzon létre egy kerítéseszközt fence_kdump a klaszterben.

    pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1" timeout=30
    
  4. [1] Konfigurálja a kerítési szinteket úgy, hogy a fence_kdump kerítés mechanizmusa legyen az első.

    pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1"
    pcs stonith level add 1 prod-cl1-0 rsc_st_kdump
    pcs stonith level add 1 prod-cl1-1 rsc_st_kdump
    # Replace <stonith-resource-name> to the resource name of the STONITH resource configured in your pacemaker cluster (example based on above configuration - sbd or rsc_st_azure)
    pcs stonith level add 2 prod-cl1-0 <stonith-resource-name>
    pcs stonith level add 2 prod-cl1-1 <stonith-resource-name>
    
    # Check the fencing level configuration 
    pcs stonith level
    # Example output
    # Target: prod-cl1-0
    # Level 1 - rsc_st_kdump
    # Level 2 - <stonith-resource-name>
    # Target: prod-cl1-1
    # Level 1 - rsc_st_kdump
    # Level 2 - <stonith-resource-name>
    
  5. [A] Engedélyezze a szükséges portokat fence_kdump a tűzfalon keresztül.

    firewall-cmd --add-port=7410/udp
    firewall-cmd --add-port=7410/udp --permanent
    
  6. [A] Végezze el a fence_kdump_nodes konfigurációt /etc/kdump.conf annak érdekében, hogy bizonyos fence_kdump verzióknál elkerülje a kexec-tools időtúllépés miatti meghibásodását. További információért tekintse meg a fence_kdump időtúllép, amikor a fence_kdump_nodes nincs megadva a kexec-tools 2.0.15-ös vagy újabb verziójával, és a fence_kdump meghiúsul "X másodperc utáni időtúllépéssel" RHEL 6 vagy 7 magas rendelkezésre állású fürtben, amikor a kexec-tools verziója régebbi, mint 2.0.14. Egy kétcsomópontos fürt példakonfigurációja itt található. A módosítás /etc/kdump.conf után a kdump-lemezképet újra létre kell hozni. Az újrageneráláshoz indítsa újra a kdump szolgáltatást.

    vi /etc/kdump.conf
    # On node prod-cl1-0 make sure the following line is added
    fence_kdump_nodes  prod-cl1-1
    # On node prod-cl1-1 make sure the following line is added
    fence_kdump_nodes  prod-cl1-0
    
    # Restart the service on each node
    systemctl restart kdump
    
  7. [A] Győződjön meg arról, hogy a initramfs képfájl tartalmazza a fence_kdump és a hosts fájlokat. További információért tekintse meg: Hogyan konfigurálhatom a fence_kdump-ot egy Red Hat Pacemaker fürtben?.

    lsinitrd /boot/initramfs-$(uname -r)kdump.img | egrep "fence|hosts"
    # Example output 
    # -rw-r--r--   1 root     root          208 Jun  7 21:42 etc/hosts
    # -rwxr-xr-x   1 root     root        15560 Jun 17 14:59 usr/libexec/fence_kdump_send
    
  8. Teszteld a konfigurációt egy csomópont összeomlásával. További információért tekintse meg: Hogyan konfigurálhatom a fence_kdump-ot egy Red Hat Pacemaker fürtben?.

    Fontos

    Ha a fürt már produktív felhasználásban van, tervezze meg a tesztet ennek megfelelően, mert egy csomópont összeomlása hatással van az alkalmazásra.

    echo c > /proc/sysrq-trigger
    

Következő lépések