Aracılığıyla paylaş


Azure'da Red Hat Enterprise Linux üzerinde Pacemaker'ı ayarlama

Bu makalede, Red Hat Enterprise Server'da (RHEL) temel pacemaker kümesinin nasıl yapılandırıldığı açıklanır. Yönergeler RHEL 7, RHEL 8 ve RHEL 9'ı kapsar.

Önkoşullar

Önce aşağıdaki SAP Notlarını ve makaleleri okuyun:

Genel bakış

Önemli

Birden çok Sanal ağı (VNet)/alt ağı kapsayan pacemaker kümeleri standart destek ilkeleri kapsamında değildir.

Azure'da RHEL için bir pacemaker kümesinde eskrimi yapılandırmak için kullanabileceğiniz iki seçenek vardır: Azure çit aracısı, başarısız bir düğümü Azure API'leri aracılığıyla yeniden başlatır veya SBD cihazını kullanabilirsiniz.

Önemli

Azure'da, depolama tabanlı eskrim (fence_sbd) ile RHEL yüksek kullanılabilirlik kümesi yazılım öykünmüş watchdog kullanır. Eskrim mekanizması olarak SBD'yi seçerken RHEL Yüksek Kullanılabilirlik Kümeleri için Yazılım Öykünmüş İzleme Sınırlamaları ve Destek İlkeleri - sbd ve fence_sbd gözden geçirmek önemlidir.

SBD cihazı kullanma

Not

SBD ile eskrim mekanizması RHEL 8.8 ve üzeri ile RHEL 9.0 ve üzeri sürümlerde desteklenir.

SBD cihazını iki seçenekten birini kullanarak yapılandırabilirsiniz:

  • iSCSI hedef sunucusu ile SBD

    SBD cihazı, İnternet Küçük İşlem Sistemi Arabirimi (iSCSI) hedef sunucusu işlevi gören ve bir SBD cihazı sağlayan en az bir ek sanal makine (VM) gerektirir. Ancak bu iSCSI hedef sunucuları diğer kalp pili kümeleriyle paylaşılabilir. SBD cihazı kullanmanın avantajı, şirket içinde zaten SBD cihazları kullanıyorsanız, bu cihazların pacemaker kümesini çalıştırma şekliniz üzerinde herhangi bir değişiklik gerektirmemeleridir.

    Bir SBD cihazının kullanılamaz duruma gelmesine izin vermek için bir kalp pili kümesi için en fazla üç SBD cihazı kullanabilirsiniz (örneğin, iSCSI hedef sunucusunun işletim sistemi düzeltme eki uygulama sırasında). Kalp pili başına birden fazla SBD cihazı kullanmak istiyorsanız, birden çok iSCSI hedef sunucusu dağıttığınızdan ve her iSCSI hedef sunucusundan bir SBD bağladığınızdan emin olun. Bir veya üç SBD cihazı kullanmanızı öneririz. Pacemaker, yalnızca iki SBD cihazı yapılandırılmışsa ve bunlardan biri kullanılamıyorsa küme düğümünü otomatik olarak çitle aktaramaz. Bir iSCSI hedef sunucusu kapatıldığında çitleri kapatabilmek istiyorsanız, üç SBD cihazı ve dolayısıyla üç iSCSI hedef sunucusu kullanmanız gerekir. BU, SBD kullanırken en dayanıklı yapılandırmadır.

    RHEL'de SBD cihazı olarak iSCSI hedef sunucusuna sahip pacemaker diyagramı

    Önemli

    Linux pacemaker küme düğümlerini ve SBD cihazlarını dağıtmayı ve yapılandırmayı planlarken, sanal makineleriniz ile SBD cihazlarını barındıran VM'ler arasındaki yönlendirmenin ağ sanal gereci (NVA) gibi diğer cihazlardan geçmesine izin vermeyin.

    Bakım olayları ve NVA ile ilgili diğer sorunlar, genel küme yapılandırmasının kararlılığı ve güvenilirliği üzerinde olumsuz bir etkiye sahip olabilir. Daha fazla bilgi için bkz . kullanıcı tanımlı yönlendirme kuralları.

  • Azure paylaşılan diski ile SBD

    SBD cihazı yapılandırmak için pacemaker kümesinin parçası olan tüm sanal makinelere en az bir Azure paylaşılan diski eklemeniz gerekir. Azure paylaşılan diski kullanan SBD cihazının avantajı, ek sanal makineleri dağıtmanız ve yapılandırmanız gerekmeyecek olmasıdır.

    RHEL Pacemaker kümesi için Azure paylaşılan disk SBD cihazının diyagramı.

    Azure Paylaşılan Disk kullanılarak yapılandırılırken SBD cihazlarıyla ilgili dikkat edilmesi gereken bazı önemli noktalar şunlardır:

    • Premium SSD ile Azure paylaşılan diski SBD cihazı olarak desteklenir.
    • Azure paylaşılan diski kullanan SBD cihazları RHEL 8.8 ve sonraki sürümlerde desteklenir.
    • Azure premium paylaşım diski kullanan SBD cihazları yerel olarak yedekli depolama (LRS) ve alanlar arası yedekli depolama (ZRS) üzerinde desteklenir.
    • Dağıtımınızın türüne bağlı olarak, SBD cihazınız olarak Azure paylaşılan diski için uygun yedekli depolama alanını seçin.
    • Azure premium paylaşılan diski (skuName - Premium_LRS) için LRS kullanan bir SBD cihazı yalnızca kullanılabilirlik kümesi gibi bölgesel dağıtımlarda desteklenir.
    • Azure premium paylaşılan diski (skuName - Premium_ZRS) için ZRS kullanan bir SBD cihazı, kullanılabilirlik alanı veya FD=1 ile ölçek kümesi gibi bölgesel dağıtımla önerilir.
    • Yönetilen disk için ZRS şu anda bölgesel kullanılabilirlik belgesinde listelenen bölgelerde kullanılabilir.
    • SBD cihazları için kullandığınız Azure paylaşılan diskinin büyük olması gerekmez. maxShares değeri, paylaşılan diski kaç küme düğümlerinin kullanabileceğini belirler. Örneğin, SAP ASCS/ERS veya SAP HANA ölçeği artırma gibi iki düğümlü kümede SBD cihazınız için P1 veya P2 disk boyutlarını kullanabilirsiniz.
    • HANA sistem çoğaltması (HSR) ve pacemaker ile HANA ölçeğini genişletme için, geçerli maxShares sınırı nedeniyle çoğaltma sitesi başına beş düğüme kadar olan kümelerde SBD cihazları için azure paylaşılan diski kullanabilirsiniz.
    • Pacemaker kümelerine Azure paylaşılan disk SBD cihazı eklemenizi önermiyoruz.
    • Birden çok Azure paylaşılan disk SBD cihazı kullanıyorsanız, vm'ye eklenebilen maksimum veri diski sayısı sınırına bakın.
    • Azure paylaşılan disklerinin sınırlamaları hakkında daha fazla bilgi için, Azure paylaşılan disk belgelerinin "Sınırlamalar" bölümünü dikkatlice gözden geçirin.

Azure çit aracısı kullanma

Azure çit aracısını kullanarak eskrim ayarlayabilirsiniz. Azure çit aracısı, küme VM'leri için yönetilen kimlikler veya Azure API'leri aracılığıyla başarısız düğümleri yeniden başlatmayı yöneten bir hizmet sorumlusu veya yönetilen sistem kimliği (MSI) gerektirir. Azure çit aracısı ek sanal makinelerin dağıtımını gerektirmez.

iSCSI hedef sunucusu ile SBD

Eskrim için iSCSI hedef sunucusu kullanan bir SBD cihazı kullanmak için sonraki bölümlerdeki yönergeleri izleyin.

iSCSI hedef sunucusunu ayarlama

Önce iSCSI hedef sanal makinelerini oluşturmanız gerekir. iSCSI hedef sunucularını birden çok pacemaker kümesiyle paylaşabilirsiniz.

  1. Desteklenen RHEL işletim sistemi sürümünde çalışan sanal makineleri dağıtın ve bunlara SSH aracılığıyla bağlanın. VM'lerin büyük boyutlu olması gerekmez. Standard_E2s_v3 veya Standard_D2s_v3 gibi VM boyutları yeterlidir. İşletim sistemi diski için Premium depolamayı kullandığınızdan emin olun.

  2. SAP için RHEL'i HA ve Güncelleştirme Hizmetleri ile veya iSCSI hedef sunucusu için SAP Apps işletim sistemi görüntüsü için RHEL'i kullanmak gerekmez. Bunun yerine standart bir RHEL işletim sistemi görüntüsü kullanılabilir. Ancak, destek yaşam döngüsünün farklı işletim sistemi ürün sürümleri arasında farklılık gösterdiğini unutmayın.

  3. Tüm iSCSI hedef sanal makinelerinde aşağıdaki komutları çalıştırın.

    1. RHEL'i güncelleştirin.

      sudo yum -y update
      

      Not

      İşletim sistemini yükseltdikten veya güncelleştirdikten sonra düğümü yeniden başlatmanız gerekebilir.

    2. iSCSI hedef paketini yükleyin.

      sudo yum install targetcli
      
    3. Başlatma sırasında başlamak için hedefi başlatın ve yapılandırın.

      sudo systemctl start target
      sudo systemctl enable target
      
    4. Güvenlik duvarında bağlantı noktasını 3260 açma

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

iSCSI hedef sunucusunda iSCSI cihazı oluşturma

SAP sistem kümeleriniz için iSCSI diskleri oluşturmak için her iSCSI hedef sanal makinesinde aşağıdaki komutları yürütebilirsiniz. Örnekte, birden çok küme için tek bir iSCSI hedef sunucusunun kullanımını gösteren birkaç küme için SBD Cihazları oluşturma işlemi gösterilmektedir. SBD cihazı işletim sistemi diskinde yapılandırıldığından yeterli alan olduğundan emin olun.

  • ascsnw1: NW1'in ASCS/ERS kümesini temsil eder.
  • dbhn1: HN1 veritabanı kümesini temsil eder.
  • sap-cl1 ve sap-cl2: NW1 ASCS/ERS küme düğümlerinin konak adları.
  • hn1-db-0 ve hn1-db-1: Veritabanı kümesi düğümlerinin ana bilgisayar adları.

Aşağıdaki yönergelerde, komutu gerektiği gibi belirli konak adlarınızla ve SID'lerle değiştirin.

  1. Tüm SBD cihazları için kök klasörü oluşturun.

    sudo mkdir /sbd
    
  2. NW1 sisteminin ASCS/ERS sunucuları için SBD cihazı oluşturun.

    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. Sistem HN1'in veritabanı kümesi için SBD cihazı oluşturun.

    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. Targetcli yapılandırmasını kaydedin.

    sudo targetcli saveconfig
    
  5. Her şeyin doğru ayarlandığından emin olun

    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]
    

iSCSI hedef sunucusu SBD cihazını ayarlama

[A]: Tüm düğümler için geçerlidir. [1]: Yalnızca düğüm 1 için geçerlidir. [2]: Yalnızca düğüm 2 için geçerlidir.

Küme düğümlerinde, önceki bölümde oluşturulan iSCSI cihazını bağlayın ve bulun. Oluşturmak istediğiniz yeni kümenin düğümlerinde aşağıdaki komutları çalıştırın.

  1. [A] Tüm küme düğümlerine iSCSI başlatıcı yardımcı programlarını yükleyin veya güncelleştirin.

    sudo yum install -y iscsi-initiator-utils
    
  2. [A] Tüm küme düğümlerine küme ve SBD paketleri yükleyin.

    sudo yum install -y pcs pacemaker sbd fence-agents-sbd
    
  3. [A] iSCSI hizmetini etkinleştirin.

    sudo systemctl enable iscsid iscsi
    
  4. [1] Kümenin ilk düğümünde başlatıcı adını değiştirin.

    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] Kümenin ikinci düğümünde başlatıcı adını değiştirin.

    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] Değişiklikleri uygulamak için iSCSI hizmetini yeniden başlatın.

    sudo systemctl restart iscsid 
    sudo systemctl restart iscsi
    
  7. [A] iSCSI cihazlarını bağlayın. Aşağıdaki örnekte, 10.0.0.17, iSCSI hedef sunucusunun IP adresidir ve 3260 varsayılan bağlantı noktasıdır. hedef adı iqn.2006-04.ascsnw1.local:ascsnw1 , ilk komutunu iscsiadm -m discoveryçalıştırdığınızda listelenir.

    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] Birden çok SBD cihazı kullanıyorsanız, ikinci iSCSI hedef sunucusuna da bağlanın.

    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] Birden çok SBD cihazı kullanıyorsanız, üçüncü iSCSI hedef sunucusuna da bağlanın.

    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] iSCSI cihazlarının kullanılabilir olduğundan emin olun ve cihaz adını not edin. Aşağıdaki örnekte, düğümü üç iSCSI hedef sunucusuna bağlayarak üç iSCSI cihazı bulunur.

    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] iSCSI cihazlarının kimliklerini alın.

    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
    
    

    Komut, her SBD cihazı için üç cihaz kimliği listeler. scsi-3 ile başlayan kimliği kullanmanızı öneririz. Yukarıdaki örnekte kimlikler şunlardır:

    • /dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2
    • /dev/disk/by-id/scsi-3600140587122bfc8a0b4006b538d0a6d
    • /dev/disk/by-id/scsi-36001405d2ddc548060c49e7bb792bb65
  12. [1] SBD cihazını oluşturun.

    1. İlk küme düğümünde yeni SBD cihazları oluşturmak için iSCSI cihazlarının cihaz kimliğini kullanın.

      sudo sbd -d /dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2 -1 60 -4 120 create
      
    2. Ayrıca, birden fazla SBD kullanmak istiyorsanız ikinci ve üçüncü SBD cihazlarını da oluşturun.

      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] SBD yapılandırmasını uyarlama

    1. SBD yapılandırma dosyasını açın.

      sudo vi /etc/sysconfig/sbd
      
    2. SBD cihazının özelliğini değiştirin, pacemaker tümleştirmesini etkinleştirin ve SBD'nin başlangıç modunu değiştirin.

      [...]
      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] Modülü yüklemek softdog için aşağıdaki komutu çalıştırın.

    modprobe softdog
    
  15. [A] Düğüm yeniden başlatıldıktan sonra otomatik olarak yüklendiğinden emin olmak softdog için aşağıdaki komutu çalıştırın.

    echo softdog > /etc/modules-load.d/watchdog.conf
    systemctl restart systemd-modules-load
    
  16. [A] SBD hizmeti zaman aşımı değeri varsayılan olarak 90 sn olarak ayarlanmıştır. Ancak, değer olarak ayarlanırsa SBD_DELAY_START yes, SBD hizmeti zaman aşımından sonraya kadar başlatılmasını msgwait geciktirecektir. Bu nedenle SBD hizmet zaman aşımı değeri etkinleştirildiğinde SBD_DELAY_START zaman aşımını msgwait aşmalıdır.

    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
    

Azure paylaşılan diski ile SBD

Bu bölüm yalnızca Azure paylaşılan diski ile SBD Cihazı kullanmak istiyorsanız geçerlidir.

PowerShell ile Azure paylaşılan diski yapılandırma

PowerShell ile Azure paylaşılan diski oluşturmak ve eklemek için aşağıdaki yönergeleri yürütür. Azure CLI veya Azure portalını kullanarak kaynakları dağıtmak istiyorsanız ZRS diski dağıtma bölümüne de başvurabilirsiniz.

$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 paylaşılan disk SBD cihazı ayarlama

  1. [A] Tüm küme düğümlerine küme ve SBD paketleri yükleyin.

    sudo yum install -y pcs pacemaker sbd fence-agents-sbd
    
  2. [A] Ekli diskin kullanılabilir olduğundan emin olun.

    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] Ekli paylaşılan diskin cihaz kimliğini alın.

    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
    

    Ekli paylaşılan disk için komut listesi cihaz kimliği. scsi-3 ile başlayan kimliği kullanmanızı öneririz. Bu örnekte kimlik : /dev/disk/by-id/scsi-3600224800792c2f5cc7e55cb3cef0107.

  4. [1] SBD cihazı oluşturma

    # 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] SBD yapılandırmasını uyarlama

    1. SBD yapılandırma dosyasını açın.

      sudo vi /etc/sysconfig/sbd
      
    2. SBD cihazının özelliğini değiştirin, pacemaker tümleştirmesini etkinleştirin ve SBD'nin başlangıç modunu değiştirin

      [...]
      SBD_DEVICE="/dev/disk/by-id/scsi-3600224800792c2f5cc7e55cb3cef0107"
      [...]
      SBD_PACEMAKER=yes
      [...]
      SBD_STARTMODE=always
      [...]
      SBD_DELAY_START=yes
      [...]
      
  6. [A] Modülü yüklemek softdog için aşağıdaki komutu çalıştırın.

    modprobe softdog
    
  7. [A] Düğüm yeniden başlatıldıktan sonra otomatik olarak yüklendiğinden emin olmak softdog için aşağıdaki komutu çalıştırın.

    echo softdog > /etc/modules-load.d/watchdog.conf
    systemctl restart systemd-modules-load
    
  8. [A] SBD hizmeti zaman aşımı değeri varsayılan olarak 90 saniye olarak ayarlanmıştır. Ancak, değer olarak ayarlanırsa SBD_DELAY_START yes, SBD hizmeti zaman aşımından sonraya kadar başlatılmasını msgwait geciktirecektir. Bu nedenle SBD hizmet zaman aşımı değeri etkinleştirildiğinde SBD_DELAY_START zaman aşımını msgwait aşmalıdır.

    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
    

Azure çit aracısı yapılandırması

Eskrim cihazı, Azure kaynağı için yönetilen bir kimlik veya Azure'a karşı yetkilendirmek için bir hizmet sorumlusu kullanır. Kimlik yönetimi yöntemine bağlı olarak, uygun yordamları izleyin -

  1. Kimlik yönetimini yapılandırma

    Yönetilen kimliği veya hizmet sorumlusunu kullanın.

    Yönetilen kimlik (MSI) oluşturmak için kümedeki her vm için sistem tarafından atanan bir yönetilen kimlik oluşturun. Sistem tarafından atanan yönetilen kimlik zaten varsa, bu kimlik kullanılır. Şu anda Pacemaker ile kullanıcı tarafından atanan yönetilen kimlikleri kullanmayın. Yönetilen kimliğe dayalı bir çit cihazı RHEL 7.9 ve RHEL 8.x/RHEL 9.x üzerinde desteklenir.

  2. Çit aracısı için özel rol oluşturma

    Hem yönetilen kimliğin hem de hizmet sorumlusunun varsayılan olarak Azure kaynaklarınıza erişme izinleri yoktur. Kümenin tüm VM'lerini başlatmak ve durdurmak (kapatmak) için yönetilen kimliğe veya hizmet sorumlusuna izin vermeniz gerekir. Özel rolü henüz oluşturmadıysanız PowerShell veya Azure CLI kullanarak oluşturabilirsiniz.

    Giriş dosyası için aşağıdaki içeriği kullanın. İçeriği aboneliklerinize uyarlamanız, yani aboneliğinizin kimlikleriyle değiştirmeniz xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy gerekir. Yalnızca bir aboneliğiniz varsa içindeki ikinci girdiyi AssignableScopeskaldırın.

    {
          "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. Özel rolü atama

    Yönetilen kimliği veya hizmet sorumlusunu kullanın.

    Küme VM'lerinin her yönetilen kimliğine son bölümde oluşturulan özel rolü Linux Fence Agent Role atayın. Her VM sistem tarafından atanan yönetilen kimlik, her küme VM'sinin kaynağı için atanmış role ihtiyaç duyar. Daha fazla bilgi için bkz . Azure portalını kullanarak kaynağa yönetilen kimlik erişimi atama. Her vm'nin yönetilen kimlik rolü atamasının tüm küme VM'lerini içerdiğini doğrulayın.

Küme yüklemesi

Komutlardaki veya RHEL 7 ile RHEL 8/RHEL 9 arasındaki yapılandırma farklılıkları belgede işaretlenir.

  1. [A] RHEL HA eklentisini yükleyin.

    sudo yum install -y pcs pacemaker nmap-ncat
    
  2. [A] RHEL 9.x'te bulut dağıtımı için kaynak aracılarını yükleyin.

    sudo yum install -y resource-agents-cloud
    
  3. [A] Azure çit aracısını temel alan bir çit cihazı kullanıyorsanız çit aracıları paketini yükleyin.

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

    Önemli

    Çit aracısı için hizmet sorumlusu adları yerine Azure kaynakları için yönetilen kimlikleri kullanmak isteyen müşteriler için azure çit aracısının (veya sonraki bir sürümü) aşağıdaki sürümlerini öneririz:

    • RHEL 8.4: çit ajanları-4.2.1-54.el8.
    • RHEL 8.2: çit-ajanları-4.2.1-41.el8_2.4
    • RHEL 8.1: çit-ajanları-4.2.1-30.el8_1.4
    • RHEL 7.9: çit ajanları-4.2.1-41.el7_9.4.

    Önemli

    RHEL 9'da, Azure çit aracısıyla ilgili sorunları önlemek için aşağıdaki paket sürümlerini (veya üzerini) öneririz:

    • çit-ajanlar-4.10.0-20.el9_0.7
    • çit-ajanlar-common-4.10.0-20.el9_0.6
    • ha-cloud-support-4.10.0-20.el9_0.6.x86_64.rpm

    Azure çit aracısının sürümünü denetleyin. Gerekirse, gerekli en düşük sürüme veya sonraki bir sürüme güncelleştirin.

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

    Önemli

    Azure çit aracısını güncelleştirmeniz gerekiyorsa ve özel bir rol kullanıyorsanız özel rolü powerOff eylemini içerecek şekilde güncelleştirdiğinizden emin olun. Daha fazla bilgi için bkz . Çit aracısı için özel rol oluşturma.

  4. [A] Konak adı çözümlemesi ayarlayın.

    Bir DNS sunucusu kullanabilir veya dosyayı tüm düğümlerde değiştirebilirsiniz /etc/hosts . Bu örnekte dosyanın nasıl kullanılacağı gösterilmektedir /etc/hosts . Aşağıdaki komutlarda IP adresini ve ana bilgisayar adını değiştirin.

    Önemli

    Küme yapılandırmasında konak adları kullanıyorsanız, güvenilir ana bilgisayar adı çözümlemesine sahip olmak çok önemlidir. Adlar kullanılabilir değilse küme iletişimi başarısız olur ve bu da küme yük devretme gecikmelerine neden olabilir.

    Kullanmanın /etc/hosts avantajı, kümenizin DNS'lerden bağımsız hale gelmesidir ve bu da tek bir hata noktası olabilir.

    sudo vi /etc/hosts
    

    aşağıdaki satırları öğesine /etc/hostsekleyin. IP adresini ve ana bilgisayar adını ortamınızla eşleşecek şekilde değiştirin.

    # 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] Parolayı hacluster aynı parolayla değiştirin.

    sudo passwd hacluster
    
  6. [A] Pacemaker için güvenlik duvarı kuralları ekleyin.

    Küme düğümleri arasındaki tüm küme iletişimine aşağıdaki güvenlik duvarı kurallarını ekleyin.

    sudo firewall-cmd --add-service=high-availability --permanent
    sudo firewall-cmd --add-service=high-availability
    
  7. [A] Temel küme hizmetlerini etkinleştirin.

    Pacemaker hizmetini etkinleştirmek ve başlatmak için aşağıdaki komutları çalıştırın.

    sudo systemctl start pcsd.service
    sudo systemctl enable pcsd.service
    
  8. [1] Pacemaker kümesi oluşturma.

    Düğümlerin kimliğini doğrulamak ve kümeyi oluşturmak için aşağıdaki komutları çalıştırın. Bellek koruma bakımına izin vermek için belirteci 30000 olarak ayarlayın. Daha fazla bilgi için Linux için bu makaleye bakın.

    RHEL 7.x üzerinde bir küme oluşturuyorsanız aşağıdaki komutları kullanın:

    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
    

    RHEL 8.x/RHEL 9.x üzerinde bir küme oluşturuyorsanız aşağıdaki komutları kullanın:

    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
    

    Aşağıdaki komutu çalıştırarak küme durumunu doğrulayın:

    # 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] Beklenen oyları ayarlayın.

    # 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
    

    İpucu

    Çok düğümlü bir küme oluşturuyorsanız, yani ikiden fazla düğüme sahip bir küme, oyları 2 olarak ayarlamaz.

  10. [1] Eş zamanlı çit eylemlerine izin ver.

    sudo pcs property set concurrent-fencing=true
    

Pacemaker kümesinde eskrim cihazı oluşturma

İpucu

  • İki düğümlü bir pacemaker kümesinde çit yarışlarından kaçınmak için küme özelliğini yapılandırabilirsiniz priority-fencing-delay . Bu özellik, bölünmüş beyin senaryosu oluştuğunda toplam kaynak önceliğini daha yüksek olan bir düğümün eskriminde ek gecikmeye neden olur. Daha fazla bilgi için bkz . Pacemaker küme düğümünü en az çalışan kaynakla çevreleyebilir mi?.
  • Özellik priority-fencing-delay Pacemaker sürüm 2.0.4-6.el8 veya üzeri için ve iki düğümlü bir kümede geçerlidir. Küme özelliğini yapılandırdıysanız priority-fencing-delay , özelliğini ayarlamanız pcmk_delay_max gerekmez. Ancak Pacemaker sürümü 2.0.4-6.el8'den küçükse özelliğini ayarlamanız pcmk_delay_max gerekir.
  • Küme özelliğini ayarlama priority-fencing-delay yönergeleri için ilgili SAP ASCS/ERS ve SAP HANA ölçek artırma HA belgelerine bakın.

Seçilen eskrim mekanizmasına bağlı olarak, ilgili yönergeler için yalnızca bir bölümü izleyin: eskrim cihazı olarak SBD veya eskrim cihazı olarak Azure çit aracısı.

Eskrim cihazı olarak SBD

  1. [A] SBD hizmetini etkinleştirme

    sudo systemctl enable sbd
    
  2. [1] iSCSI hedef sunucuları veya Azure paylaşılan diski kullanılarak yapılandırılan SBD cihazı için aşağıdaki komutları çalıştırın.

    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] Kümeyi yeniden başlatın

    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
    

    Not

    Pacemaker kümesini başlatırken aşağıdaki hatayla karşılaşırsanız, iletiyi göz ardı edebilirsiniz. Alternatif olarak, komutunu pcs cluster start --all --request-timeout 140kullanarak kümeyi başlatabilirsiniz.

    Hata: tüm düğümler başlatılamıyor node1/node2: Node1/node2'ye bağlanılamıyor, pcsd'nin orada çalışıp çalışmadığını denetleyin veya seçeneğiyle --request-timeout daha yüksek zaman aşımı ayarlamayı deneyin (İşlem 0 bayt ile 60000 milisaniye sonra zaman aşımına uğradı)

Eskrim cihazı olarak Azure çit aracısı

  1. [1] Her iki küme düğümüne de rol atadıktan sonra kümedeki eskrim cihazlarını yapılandırabilirsiniz.

    sudo pcs property set stonith-timeout=900
    sudo pcs property set stonith-enabled=true
    
  2. [1] Yönetilen kimlik mi yoksa Azure çit aracısı için hizmet sorumlusu mu kullandığınıza bağlı olarak uygun komutu çalıştırın.

    Not

    Azure kamu bulutu kullanırken çit aracısını yapılandırırken seçeneği belirtmeniz cloud= gerekir. Örneğin, cloud=usgov Azure ABD kamu bulutu için. Azure kamu bulutunda RedHat desteği hakkında ayrıntılı bilgi için bkz. RHEL Yüksek Kullanılabilirlik Kümeleri için Destek İlkeleri - Küme Üyeleri olarak Microsoft Azure Sanal Makineler.

    İpucu

    Bu seçenek pcmk_host_map yalnızca RHEL ana bilgisayar adları ve Azure VM adları aynı değilse komutta gereklidir. Eşlemeyi hostname:vm-name biçiminde belirtin. Daha fazla bilgi için bkz. pcmk_host_map'da eskrim cihazlarına düğüm eşlemelerini belirtmek için hangi biçimi kullanmalıyım?.

    RHEL 7.x için çit cihazını yapılandırmak için aşağıdaki komutu kullanın:

    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
    

    RHEL 8.x/9.x için çit cihazını yapılandırmak için aşağıdaki komutu kullanın:

    # 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
    

Hizmet sorumlusu yapılandırmasına dayalı bir eskrim cihazı kullanıyorsanız Azure eskrim kullanarak SPN'den Pacemaker kümeleri için MSI'ye geçme'yi okuyun ve yönetilen kimlik yapılandırmasına dönüştürmeyi öğrenin.

İzleme ve eskrim işlemleri seri durumdan çıkarılır. Sonuç olarak, daha uzun süre çalışan bir izleme işlemi ve eşzamanlı eskrim olayı varsa, izleme işlemi zaten çalıştığından küme yük devretmesinde gecikme olmaz.

İpucu

Azure çit aracısı genel uç noktalara giden bağlantı gerektirir. Olası çözümlerin yanı sıra daha fazla bilgi için bkz . Standart ILB kullanan VM'ler için genel uç nokta bağlantısı.

Pacemaker'ı Azure zamanlanmış olayları için yapılandırma

Azure zamanlanmış olaylar sunar. Zamanlanmış olaylar meta veri hizmeti aracılığıyla gönderilir ve uygulamanın bu tür olaylara hazırlanması için zaman tanır.

Pacemaker kaynak aracısı azure-events-az zamanlanmış Azure olaylarını izler. Olaylar algılanırsa ve kaynak aracısı başka bir küme düğümünü kullanılabilir olarak belirlerse, küme durumu özniteliğini ayarlar.

Bir düğüm için küme durumu özniteliği ayarlandığında, konum kısıtlaması tetiklenir ve adı olmayan health- tüm kaynaklar zamanlanmış olayla düğümden uzağa geçirilir. Etkilenen küme düğümü küme kaynaklarını çalıştırdıktan sonra zamanlanan olay kabul edilir ve yeniden başlatma gibi eylemini yürütebilir.

  1. [A] Aracı paketinin azure-events-az zaten yüklü ve güncel olduğundan emin olun.

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

    En düşük sürüm gereksinimleri:

    • 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 ve daha yenisi: resource-agents-cloud-4.10.0-34.1
  2. [1] Pacemaker'daki kaynakları yapılandırın.

    #Place the cluster in maintenance mode
    sudo pcs property set maintenance-mode=true
    
  3. [1] Pacemaker kümesi sistem durumu düğümü stratejisini ve kısıtlamasını ayarlayın.

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

    Önemli

    Sonraki adımlarda açıklanan kaynakların yanı sıra kümede ile health- başlayan başka hiçbir kaynak tanımlamayın.

  4. [1] Küme özniteliklerinin ilk değerini ayarlayın. Her küme düğümü için ve çoğunluk oluşturucu VM'si de dahil olmak üzere ölçeği genişletme ortamları için komutunu çalıştırın.

    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] Pacemaker'daki kaynakları yapılandırın. Kaynakların ile health-azurebaşladığından emin olun.

    sudo pcs resource create health-azure-events \
    ocf:heartbeat:azure-events-az \
    op monitor interval=10s timeout=240s \
    op start timeout=10s start-delay=90s
    
    sudo pcs resource clone health-azure-events allow-unhealthy-nodes=true failure-timeout=120s
    
  6. Pacemaker kümesini bakım modundan çıkartın.

    sudo pcs property set maintenance-mode=false
    
  7. Etkinleştirme sırasındaki hataları temizleyin ve kaynakların tüm küme düğümlerinde başarıyla başlatıldığını health-azure-events doğrulayın.

    sudo pcs resource cleanup
    

    Zamanlanmış olaylar için ilk kez sorgu yürütme iki dakika kadar sürebilir. Zamanlanmış olaylarla pacemaker testi, küme VM'leri için yeniden başlatma veya yeniden dağıtma eylemlerini kullanabilir. Daha fazla bilgi için bkz . Zamanlanmış olaylar.

İsteğe bağlı eskrim yapılandırması

İpucu

Bu bölüm yalnızca özel eskrim cihazını fence_kdumpyapılandırmak istiyorsanız geçerlidir.

SANAL makine içinde tanılama bilgileri toplamanız gerekiyorsa, çit aracısını fence_kdumptemel alan başka bir eskrim cihazı yapılandırmak yararlı olabilir. Aracı, fence_kdump bir düğümün kdump kilitlenme kurtarmasına girdiğini algılayabilir ve diğer eskrim yöntemleri çağrılmadan önce kilitlenme kurtarma hizmetinin tamamlanmasını sağlayabilir. fence_kdump Azure VM'lerini kullanırken SBD veya Azure çit aracısı gibi geleneksel çit mekanizmalarının yerini almadığını unutmayın.

Önemli

Birinci düzey bir eskrim cihazı olarak yapılandırıldığında fence_kdump , eskrim işlemlerinde ve sırasıyla uygulama kaynakları yük devretmesinde gecikmelere neden olduğunu unutmayın.

Kilitlenme dökümü başarıyla algılanırsa, kilitlenme kurtarma hizmeti tamamlanana kadar eskrim geciktirilir. Başarısız düğüme ulaşılamıyorsa veya yanıt vermiyorsa, eskrim belirlenen zamana, yapılandırılan yineleme sayısına ve zaman aşımına fence_kdump göre geciktirilir. Daha fazla bilgi için bkz. Red Hat Pacemaker kümesinde fence_kdump yapılandırma Nasıl yaparım??

Önerilen fence_kdump zaman aşımının belirli bir ortama uyarlanması gerekebilir.

Eskrim işlemini yalnızca VM içinde tanılama toplamak için gerektiğinde ve her zaman SBD veya Azure çit aracısı gibi geleneksel çit yöntemleriyle birlikte yapılandırmanızı fence_kdump öneririz.

Aşağıdaki Red Hat KB makaleleri, eskrim yapılandırma fence_kdump hakkında önemli bilgiler içerir:

Azure çit aracısı yapılandırmasına ek olarak birinci düzey eskrim yapılandırması olarak eklemek fence_kdump için aşağıdaki isteğe bağlı adımları çalıştırın.

  1. [A] Etkin ve yapılandırılmış olduğunu doğrulayın kdump .

    systemctl is-active kdump
    # Expected result
    # active
    
  2. [A] Çit aracısını fence_kdump takın.

    yum install fence-agents-kdump
    
  3. [1] Kümede bir fence_kdump eskrim cihazı oluşturun.

    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] Önce eskrim mekanizmasının fence_kdump devreye girdiği şekilde eskrim düzeylerini yapılandırın.

    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] Güvenlik duvarı üzerinden için fence_kdump gerekli bağlantı noktalarına izin verin.

    firewall-cmd --add-port=7410/udp
    firewall-cmd --add-port=7410/udp --permanent
    
  6. [A] Bazı kexec-tools sürümlerde zaman aşımıyla başarısız olmaması fence_kdump için içinde /etc/kdump.conf yapılandırmayı gerçekleştirinfence_kdump_nodes. Daha fazla bilgi için bkz . kexec-tools sürüm 2.0.15 veya üzeri ile fence_kdump_nodes belirtilmediğinde fence_kdump zaman aşımına uğrar ve fence_kdump 2.0.14'ten eski kexec-tools sürümleriyle bir RHEL 6 veya 7 Yüksek Kullanılabilirlik kümesinde "X saniyeden sonra zaman aşımı" ile başarısız olur. İki düğümlü küme için örnek yapılandırma burada sunulmuştur. içinde /etc/kdump.confdeğişiklik yaptıktan sonra kdump görüntüsünün yeniden üretilmesi gerekir. Yeniden oluşturmak için hizmeti yeniden başlatın kdump .

    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] Görüntü dosyasının initramfs ve hosts dosyalarını içerdiğinden fence_kdump emin olun. Daha fazla bilgi için bkz. Red Hat Pacemaker kümesinde fence_kdump yapılandırma Nasıl yaparım??

    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. Bir düğümü kilitleyerek yapılandırmayı test edin. Daha fazla bilgi için bkz. Red Hat Pacemaker kümesinde fence_kdump yapılandırma Nasıl yaparım??

    Önemli

    Küme zaten üretken kullanımdaysa, bir düğümün kilitlenmesinin uygulamayı etkilemesi nedeniyle testi uygun şekilde planlayın.

    echo c > /proc/sysrq-trigger
    

Sonraki adımlar

  • Bkz. SAP için Azure Sanal Makineler planlama ve uygulama.
  • Bkz. SAP için Azure Sanal Makineler dağıtımı.
  • Bkz. SAP için Azure Sanal Makineler DBMS dağıtımı.
  • AZURE VM'lerinde HA oluşturma ve SAP HANA'nın olağanüstü durum kurtarmasını planlama hakkında bilgi edinmek için bkz. Azure Sanal Makineler'de SAP HANA'nın Yüksek Kullanılabilirliği.