Azure'da SUSE Linux Enterprise Server'da Pacemaker'ı ayarlama

Bu makalede, Pacemaker'ın Azure'da SUSE Linux Enterprise Server (SLES) üzerinde nasıl ayarlanacağı açıklanır.

Genel bakış

Azure'da SLES için Pacemaker kümesinde eskrim ayarlamaya yönelik iki seçeneğiniz vardır. Başarısız bir düğümü Azure API'leri aracılığıyla yeniden başlatan bir Azure çit aracısını veya SBD cihazını kullanabilirsiniz.

SBD cihazı kullanma

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

  • iSCSI hedef sunucusu ile SBD:

    SBD cihazı, İnternet Küçük Bilgisayar 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 Pacemaker kümeleriyle paylaşılabilir. SBD cihazı kullanmanın avantajı, şirket içinde zaten SBD cihazları kullanıyorsanız 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 Pacemaker kümesi için en fazla üç SBD cihazı kullanabilirsiniz (örneğin, iSCSI hedef sunucusunun işletim sistemi düzeltme eki uygulama sırasında). Pacemaker 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ılırsa ve bunlardan biri kullanılamıyorsa küme düğümünün çitini otomatik olarak kaldıramaz. 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.

    SLES üzerinde Pacemaker'a genel bakış diyagramı.

    Önemli

    Linux Pacemaker kümelenmiş düğümleri ve SBD cihazlarını planlayıp dağıtırken, sanal makinelerinizle 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 makineler dağıtmanız gerekmeyecek olmasıdır.

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

    Azure paylaşılan diski kullanırken SBD cihazları hakkında 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ı, SLES Yüksek Kullanılabilirlik 15 SP01 ve sonraki sürümlerde desteklenir.
    • Azure premium paylaşılan disk 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ümesindeki dağıtımda desteklenir.
    • Azure premium paylaşılan diski (skuName - Premium_ZRS) için ZRS kullanan bir SBD cihazı, kullanılabilirlik alanlarında dağıtımla birlikte önerilir.
    • Yönetilen disk için ZRS şu anda kullanılabilirlik alanları olan tüm bölgelerde kullanılamıyor. Daha fazla bilgi için yönetilen diskler için yedeklilik seçenekleri bölümündeki ZRS "Sınırlamalar" bölümünü gözden geçirin.
    • 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 en fazla dört düğüme sahip kümelerde SBD cihazları için bir Azure paylaşılan diski kullanabilirsiniz.
    • Pacemaker kümelerine Azure paylaşılan disk SBD cihazı eklemenizi önermeyiz.
    • 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üğümlerin yeniden başlatılmasını yöneten bir hizmet sorumlusu 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. Yeni SLES 12 SP3 veya üzeri sanal makineleri dağıtın ve bunlara SSH aracılığıyla bağlanın. Makinelerin büyük olması gerekmez. Standard_E2s_v3 veya Standard_D2s_v3 sanal makine boyutları yeterlidir. İşletim sistemi diski için Premium depolamayı kullandığınızdan emin olun.

  2. iSCSI hedef sanal makinelerinde aşağıdaki komutları çalıştırın:

    a. SLES'i güncelleştirin.

    sudo zypper update
    

    Not

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

    b. Paketleri kaldırın.

    targetcli ve SLES 12 SP3 ile ilgili bilinen bir sorunu önlemek için aşağıdaki paketleri kaldırın. Bulunamaz paketler hakkındaki hataları yoksayabilirsiniz.

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

    c. iSCSI hedef paketlerini yükleyin.

    sudo zypper install targetcli-fb dbus-1-python
    

    d. iSCSI hedef hizmetini etkinleştirin.

    sudo systemctl enable targetcli
    sudo systemctl start targetcli
    

iSCSI hedef sunucusunda iSCSI cihazı oluşturma

SAP sistemleriniz tarafından kullanılacak kümelerin iSCSI disklerini oluşturmak için tüm iSCSI hedef sanal makinelerinde aşağıdaki komutları çalıştırın. Örnekte, birden çok küme için SBD cihazları oluşturulur. Birden çok küme için bir iSCSI hedef sunucusunu nasıl kullanacağınızı gösterir. SBD cihazları işletim sistemi diskinde yer alır. Yeterli alanınız olduğundan emin olun.

  • nfs: NFS kümesini tanımlar.
  • ascsnw1: NW1 ASCS kümesini tanımlar.
  • dbnw1: NW1 veritabanı kümesini tanımlar.
  • nfs-0 ve nfs-1: NFS küme düğümlerinin konak adları.
  • nw1-xscs-0 ve nw1-xscs-1: NW1 ASCS küme düğümlerinin konak adları.
  • nw1-db-0 ve nw1-db-1: Veritabanı kümesi düğümlerinin konak adları.

Aşağıdaki yönergelerde, küme düğümlerinizin konak adlarını ve SAP sisteminizin SID'sini değiştirin.

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

    sudo mkdir /sbd
    
  2. NFS sunucusu için SBD cihazı oluşturun.

    sudo targetcli backstores/fileio create sbdnfs /sbd/sbdnfs 50M write_back=false
    sudo targetcli iscsi/ create iqn.2006-04.nfs.local:nfs
    sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/luns/ create /backstores/fileio/sbdnfs
    sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/acls/ create iqn.2006-04.nfs-0.local:nfs-0
    sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/acls/ create iqn.2006-04.nfs-1.local:nfs-1
    
  3. SAP System NW1'in ASCS sunucusu 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.nw1-xscs-0.local:nw1-xscs-0
    sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.nw1-xscs-1.local:nw1-xscs-1
    
  4. SAP System NW1 veritabanı kümesi için SBD cihazı oluşturun.

    sudo targetcli backstores/fileio create sbddbnw1 /sbd/sbddbnw1 50M write_back=false
    sudo targetcli iscsi/ create iqn.2006-04.dbnw1.local:dbnw1
    sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/luns/ create /backstores/fileio/sbddbnw1
    sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/acls/ create iqn.2006-04.nw1-db-0.local:nw1-db-0
    sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/acls/ create iqn.2006-04.nw1-db-1.local:nw1-db-1
    
  5. Targetcli değişikliklerini kaydedin.

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

    sudo targetcli ls
    
    o- / .......................................................................................................... [...]
    o- backstores ............................................................................................... [...]
    | o- block ................................................................................... [Storage Objects: 0]
    | o- fileio .................................................................................. [Storage Objects: 3]
    | | o- sbdascsnw1 ................................................ [/sbd/sbdascsnw1 (50.0MiB) write-thru activated]
    | | | o- alua .................................................................................... [ALUA Groups: 1]
    | | |   o- default_tg_pt_gp ........................................................ [ALUA state: Active/optimized]
    | | o- sbddbnw1 .................................................... [/sbd/sbddbnw1 (50.0MiB) write-thru activated]
    | | | o- alua .................................................................................... [ALUA Groups: 1]
    | | |   o- default_tg_pt_gp ........................................................ [ALUA state: Active/optimized]
    | | o- sbdnfs ........................................................ [/sbd/sbdnfs (50.0MiB) write-thru activated]
    | |   o- alua .................................................................................... [ALUA Groups: 1]
    | |     o- default_tg_pt_gp ........................................................ [ALUA state: Active/optimized]
    | o- pscsi ................................................................................... [Storage Objects: 0]
    | o- ramdisk ................................................................................. [Storage Objects: 0]
    o- iscsi ............................................................................................. [Targets: 3]
    | o- iqn.2006-04.ascsnw1.local:ascsnw1 .................................................................. [TPGs: 1]
    | | o- tpg1 ................................................................................ [no-gen-acls, no-auth]
    | |   o- acls ........................................................................................... [ACLs: 2]
    | |   | o- iqn.2006-04.nw1-xscs-0.local:nw1-xscs-0 ............................................... [Mapped LUNs: 1]
    | |   | | o- mapped_lun0 ............................................................ [lun0 fileio/sbdascsnw1 (rw)]
    | |   | o- iqn.2006-04.nw1-xscs-1.local:nw1-xscs-1 ............................................... [Mapped LUNs: 1]
    | |   |   o- mapped_lun0 ............................................................ [lun0 fileio/sbdascsnw1 (rw)]
    | |   o- luns ........................................................................................... [LUNs: 1]
    | |   | o- lun0 .......................................... [fileio/sbdascsnw1 (/sbd/sbdascsnw1) (default_tg_pt_gp)]
    | |   o- portals ..................................................................................... [Portals: 1]
    | |     o- 0.0.0.0:3260 ...................................................................................... [OK]
    | o- iqn.2006-04.dbnw1.local:dbnw1 ...................................................................... [TPGs: 1]
    | | o- tpg1 ................................................................................ [no-gen-acls, no-auth]
    | |   o- acls ........................................................................................... [ACLs: 2]
    | |   | o- iqn.2006-04.nw1-db-0.local:nw1-db-0 ................................................... [Mapped LUNs: 1]
    | |   | | o- mapped_lun0 .............................................................. [lun0 fileio/sbddbnw1 (rw)]
    | |   | o- iqn.2006-04.nw1-db-1.local:nw1-db-1 ................................................... [Mapped LUNs: 1]
    | |   |   o- mapped_lun0 .............................................................. [lun0 fileio/sbddbnw1 (rw)]
    | |   o- luns ........................................................................................... [LUNs: 1]
    | |   | o- lun0 .............................................. [fileio/sbddbnw1 (/sbd/sbddbnw1) (default_tg_pt_gp)]
    | |   o- portals ..................................................................................... [Portals: 1]
    | |     o- 0.0.0.0:3260 ...................................................................................... [OK]
    | o- iqn.2006-04.nfs.local:nfs .......................................................................... [TPGs: 1]
    |   o- tpg1 ................................................................................ [no-gen-acls, no-auth]
    |     o- acls ........................................................................................... [ACLs: 2]
    |     | o- iqn.2006-04.nfs-0.local:nfs-0 ......................................................... [Mapped LUNs: 1]
    |     | | o- mapped_lun0 ................................................................ [lun0 fileio/sbdnfs (rw)]
    |     | o- iqn.2006-04.nfs-1.local:nfs-1 ......................................................... [Mapped LUNs: 1]
    |     |   o- mapped_lun0 ................................................................ [lun0 fileio/sbdnfs (rw)]
    |     o- luns ........................................................................................... [LUNs: 1]
    |     | o- lun0 .................................................. [fileio/sbdnfs (/sbd/sbdnfs) (default_tg_pt_gp)]
    |     o- portals ..................................................................................... [Portals: 1]
    |       o- 0.0.0.0:3260 ...................................................................................... [OK]
    o- loopback .......................................................................................... [Targets: 0]
    o- vhost ............................................................................................. [Targets: 0]
    o- xen-pvscsi ........................................................................................ [Targets: 0]
    

iSCSI hedef sunucusu SBD cihazını ayarlama

Kümeden son adımda oluşturduğunuz iSCSI cihazına bağlanın. Oluşturmak istediğiniz yeni kümenin düğümlerinde aşağıdaki komutları çalıştırın.

Not

  • [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.
  1. [A] iSCSI paketini yükleyin.

    sudo zypper install open-iscsi
    
  2. [A] iSCSI cihazlarına bağlanın. İlk olarak, iSCSI ve SBD hizmetlerini etkinleştirin.

    sudo systemctl enable iscsid
    sudo systemctl enable iscsi
    sudo systemctl enable sbd
    
  3. [1] İlk düğümdeki başlatıcı adını değiştirin.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
  4. [1] iSCSI cihazını iSCSI hedef sunucusunda oluştururken kullandığınız erişim denetim listelerine (ACL' ler) uyacak şekilde dosyanın içeriğini değiştirin (örneğin, NFS sunucusu için).

    InitiatorName=iqn.2006-04.nfs-0.local:nfs-0
    
  5. [2] İkinci düğümdeki başlatıcı adını değiştirin.

    sudo vi /etc/iscsi/initiatorname.iscsi
    
  6. [2] Dosyanın içeriğini, iSCSI hedef sunucusunda iSCSI cihazını oluştururken kullandığınız ACL'ler ile eşleşecek şekilde değiştirin.

    InitiatorName=iqn.2006-04.nfs-1.local:nfs-1
    
  7. [A] Değişikliği uygulamak için iSCSI hizmetini yeniden başlatın.

    sudo systemctl restart iscsid
    sudo systemctl restart iscsi
    
  8. [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. iqn.2006-04.nfs.local:nfs , ilk komutunu iscsiadm -m discoveryçalıştırdığınızda listelenen hedef adlardan biridir.

    sudo iscsiadm -m discovery --type=st --portal=10.0.0.17:3260   
    sudo iscsiadm -m node -T iqn.2006-04.nfs.local:nfs --login --portal=10.0.0.17:3260
    sudo iscsiadm -m node -p 10.0.0.17:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automatic
    
  9. [A] Birden çok SBD cihazı kullanmak istiyorsanı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.nfs.local:nfs --login --portal=10.0.0.18:3260
    sudo iscsiadm -m node -p 10.0.0.18:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automatic
    
  10. [A] Birden çok SBD cihazı kullanmak istiyorsanı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.nfs.local:nfs --login --portal=10.0.0.19:3260
    sudo iscsiadm -m node -p 10.0.0.19:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automatic
    
  11. [A] iSCSI cihazlarının kullanılabilir olduğundan emin olun ve cihaz adını (/dev/sde, aşağıdaki örnekte) not edin.

    lsscsi
    
    # [2:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sda
    # [3:0:1:0]    disk    Msft     Virtual Disk     1.0   /dev/sdb
    # [5:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sdc
    # [5:0:0:1]    disk    Msft     Virtual Disk     1.0   /dev/sdd
    # [6:0:0:0]    disk    LIO-ORG  sbdnfs           4.0   /dev/sdd
    # [7:0:0:0]    disk    LIO-ORG  sbdnfs           4.0   /dev/sde
    # [8:0:0:0]    disk    LIO-ORG  sbdnfs           4.0   /dev/sdf
    
  12. [A] iSCSI cihazlarının kimliklerini alın.

    ls -l /dev/disk/by-id/scsi-* | grep sdd
    
    # lrwxrwxrwx 1 root root  9 Aug  9 13:20 /dev/disk/by-id/scsi-1LIO-ORG_sbdnfs:afb0ba8d-3a3c-413b-8cc2-cca03e63ef42 -> ../../sdd
    # lrwxrwxrwx 1 root root  9 Aug  9 13:20 /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03 -> ../../sdd
    # lrwxrwxrwx 1 root root  9 Aug  9 13:20 /dev/disk/by-id/scsi-SLIO-ORG_sbdnfs_afb0ba8d-3a3c-413b-8cc2-cca03e63ef42 -> ../../sdd
    
    ls -l /dev/disk/by-id/scsi-* | grep sde
    
    # lrwxrwxrwx 1 root root  9 Feb  7 12:39 /dev/disk/by-id/scsi-1LIO-ORG_cl1:3fe4da37-1a5a-4bb6-9a41-9a4df57770e4 -> ../../sde
    # lrwxrwxrwx 1 root root  9 Feb  7 12:39 /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df -> ../../sde
    # lrwxrwxrwx 1 root root  9 Feb  7 12:39 /dev/disk/by-id/scsi-SLIO-ORG_cl1_3fe4da37-1a5a-4bb6-9a41-9a4df57770e4 -> ../../sde
    
    ls -l /dev/disk/by-id/scsi-* | grep sdf
    
    # lrwxrwxrwx 1 root root  9 Aug  9 13:32 /dev/disk/by-id/scsi-1LIO-ORG_sbdnfs:f88f30e7-c968-4678-bc87-fe7bfcbdb625 -> ../../sdf
    # lrwxrwxrwx 1 root root  9 Aug  9 13:32 /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf -> ../../sdf
    # lrwxrwxrwx 1 root root  9 Aug  9 13:32 /dev/disk/by-id/scsi-SLIO-ORG_sbdnfs_f88f30e7-c968-4678-bc87-fe7bfcbdb625 -> ../../sdf
    

    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-36001405afb0ba8d3a3c413b8cc2cca03
    • /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df
    • /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf
  13. [1] SBD cihazını oluşturun.

    a. İ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-36001405afb0ba8d3a3c413b8cc2cca03 -1 60 -4 120 create
    

    b. 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-360014053fe4da371a5a4bb69a419a4df -1 60 -4 120 create
    sudo sbd -d /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf -1 60 -4 120 create
    
  14. [A] SBD yapılandırmasını uyarla.

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

    sudo vi /etc/sysconfig/sbd
    

    b. 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-36001405afb0ba8d3a3c413b8cc2cca03;/dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df;/dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf"
    [...]
    SBD_PACEMAKER="yes"
    [...]
    SBD_STARTMODE="always"
    [...]
    

    Not

    SBD_DELAY_START özellik değeri "hayır" olarak ayarlanırsa, değeri "evet" olarak değiştirin. TimeoutStartSec değerinin SBD_DELAY_START değerinden büyük olduğundan emin olmak için SBD hizmet dosyasını da denetlemeniz gerekir. Daha fazla bilgi için bkz . SBD dosya yapılandırması

  15. [A] Yapılandırma dosyasını oluşturun softdog .

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    
  16. [A] Modülü yükleyin.

    sudo modprobe -v softdog
    

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 oluşturma ve ekleme

  1. Kaynak grubunuz, Azure bölgeniz, sanal makineleriniz, mantıksal birim numaralarınız (LUN' lar) vb. değerlerini ayarlayın.

    $ResourceGroup = "MyResourceGroup"
    $Location = "MyAzureRegion"
    
  2. Premium SSD'ler için kullanılabilir disk boyutuna göre diskin boyutunu tanımlayın. Bu örnekte, P1 disk boyutu 4G'den bahsedilmektedir.

    $DiskSizeInGB = 4
    $DiskName = "SBD-disk1"
    
  3. -MaxSharesCount parametresiyle, SBD cihazı için paylaşılan diski eklemek üzere küme düğümlerinin en fazla sayısını tanımlayın.

    $ShareNodes = 2
    
  4. Azure premium paylaşılan diski için LRS kullanan bir SBD cihazı için aşağıdaki depolama SkuName'ini kullanın:

    $SkuName = "Premium_LRS"
    
  5. Azure premium paylaşılan diski için ZRS kullanan bir SBD cihazı için aşağıdaki depolama SkuName'ini kullanın:

    $SkuName = "Premium_ZRS"
    
  6. Azure paylaşılan diski ayarlama.

    $diskConfig = New-AzDiskConfig -Location $Location -SkuName $SkuName -CreateOption Empty -DiskSizeGB $DiskSizeInGB -MaxSharesCount $ShareNodes
    $dataDisk = New-AzDisk -ResourceGroupName $ResourceGroup -DiskName $DiskName -Disk $diskConfig
    
  7. Diski küme VM'lerine ekleyin.

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

    a. Azure paylaşılan diskini küme düğümü 1'e ekleyin.

    $vm = Get-AzVM -ResourceGroupName $ResourceGroup -Name $VM1
    $vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
    Update-AzVm -VM $vm -ResourceGroupName $ResourceGroup -Verbose
    

    b. Azure paylaşılan diskini küme düğümü 2'ye ekleyin.

    $vm = Get-AzVM -ResourceGroupName $ResourceGroup -Name $VM2
    $vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
    Update-AzVm -VM $vm -ResourceGroupName $ResourceGroup -Verbose
    

Azure CLI veya Azure portalını kullanarak kaynakları dağıtmak istiyorsanız ZRS diski dağıtma bölümüne de başvurabilirsiniz.

Azure paylaşılan disk SBD cihazı ayarlama

  1. [A] SBD hizmetlerini etkinleştirin.

    sudo systemctl enable sbd
    
  2. [A] Ekli diskin kullanılabilir olduğundan emin olun.

    # lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    fd0      2:0    1    4K  0 disk
    sda      8:0    0   30G  0 disk
    ├─sda1   8:1    0    2M  0 part
    ├─sda2   8:2    0  512M  0 part /boot/efi
    ├─sda3   8:3    0    1G  0 part /boot
    ├─sda4   8:4    0 28.5G  0 part /
    sdb      8:16   0  256G  0 disk
    ├─sdb1   8:17   0  256G  0 part /mnt
    sdc      8:32   0    4G  0 disk
    sr0     11:0    1 1024M  0 rom
    
    # lsscsi
    [1:0:0:0]    cd/dvd  Msft     Virtual CD/ROM   1.0   /dev/sr0
    [2:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sda
    [3:0:1:0]    disk    Msft     Virtual Disk     1.0   /dev/sdb
    [5:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sdc
    
  3. [A] Ekli disklerin kimliklerini alın.

    # ls -l /dev/disk/by-id/scsi-* | grep sdc
    lrwxrwxrwx 1 root root  9 Nov  8 16:55 /dev/disk/by-id/scsi-14d534654202020204208a67da80744439b513b2a9728af19 -> ../../sdc
    lrwxrwxrwx 1 root root  9 Nov  8 16:55 /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19 -> ../../sdc
    

    Komutlar, SBD cihazının cihaz kimliklerini listeler. scsi-3 ile başlayan kimliği kullanmanızı öneririz. Yukarıdaki örnekte, kimlik /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19 şeklindedir.

  4. [1] SBD cihazını oluşturun.

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

    # sudo sbd -d /dev/disk/by-id/scsi-3600224804208a67da8073b2a9728af19 -1 60 -4 120 create
    
  5. [A] SBD yapılandırmasını uyarla.

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

    sudo vi /etc/sysconfig/sbd
    

    b. SBD cihazının özelliğini değiştirin, Pacemaker tümleştirmesini etkinleştirin ve SBD cihazının başlangıç modunu değiştirin.

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

    Not

    SBD_DELAY_START özellik değeri "hayır" olarak ayarlanırsa, değeri "evet" olarak değiştirin. TimeoutStartSec değerinin SBD_DELAY_START değerinden büyük olduğundan emin olmak için SBD hizmet dosyasını da denetlemeniz gerekir. Daha fazla bilgi için bkz . SBD dosya yapılandırması

  6. softdog Yapılandırma dosyasını oluşturun.

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    
  7. Modülü yükleyin.

    sudo modprobe -v softdog
    

Azure çit aracısı kullanma

Bu bölüm yalnızca Azure çit aracısı ile eskrim cihazı kullanmak istiyorsanız geçerlidir.

Azure çit aracısı cihazı oluşturma

Bu bölüm yalnızca Azure çit aracısını temel alan bir eskrim cihazı kullanıyorsanız geçerlidir. Eskrim cihazı, Microsoft Azure'a karşı yetkilendirmek için yönetilen kimlik veya hizmet sorumlusu kullanır.

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 mevcutsa kullanılır. Kullanıcı tarafından atanan yönetilen kimlikler şu anda Pacemaker ile kullanılmamalıdır. Yönetilen kimliğe dayalı Azure çit aracısı, SLES 12 SP5 ve SLES 15 SP1 ve üzeri için desteklenir.

[1] Çit aracısı için özel rol oluşturma

Varsayılan olarak, yönetilen kimlik veya hizmet sorumlusu azure kaynaklarınıza erişim iznine sahip değildir. Yönetilen kimliğe veya hizmet sorumlusuna kümedeki tüm sanal makineleri başlatmak ve durdurmak (serbest bırakmak) için izin vermeniz gerekir. Özel rolü henüz oluşturmadıysanız PowerShell veya Azure CLI kullanarak bunu yapabilirsiniz.

Giriş dosyası için aşağıdaki içeriği kullanın. İçeriği aboneliklerinize uyarlamanız gerekir. Yani, xxxxx-xxxx-xxxx-xxxx-xxxxxxx ve yy-y-y-y-y yerine kendi abonelik kimliklerinizi yazın. Yalnızca bir aboneliğiniz varsa AssignableScopes altındaki ikinci girdiyi kaldı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": []
}

[A] Ö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 "Linux Çit Aracısı Rolü" özel rolünü atayın. Her VM sistem tarafından atanan yönetilen kimlik, her küme VM'sinin kaynağı için atanmış role ihtiyaç duyar. Ayrıntılı adımlar için bkz . Azure portalını kullanarak kaynağa yönetilen kimlik erişimi atama. Her VM'nin yönetilen kimlik rolü atamalarının tüm küme VM'lerini içerdiğini doğrulayın.

Kümeyi yükleme

Not

  • [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.
  1. [A] SLES'i güncelleştirin.

    sudo zypper update
    

    Not

    SLES 15 SP4 için, en düşük sürüm gereksinimlerini karşıladığından emin olmak için ve pacemaker paketlerinin sürümlerini crmsh doğrulayın:

    • crmsh-4.4.0+20221028.3e41444-150400.3.9.1 veya üzeri
    • pacemaker-2.1.2+20211124.ada5c3b36-150400.4.6.1 veya üzeri

    Önemli

    • SLES 12 SP5: python-azure-core-1.23.1-2.12.8 yüklüyse, Azure çit aracısı bir Pacemaker kümesinde başlatılamayabilir ve /var/log/messages içinde "Azure Resource Manager Python SDK bulunamadı veya erişilebilir değil" hata iletisini görüntüleyebilir. Daha fazla ayrıntı için SUSE KBA 21532'deki yönergeleri izleyin.
    • SLES 15 SP4+: İşletim sistemini güncelleştirdikten sonra Python için Azure kitaplıkları Python 3.11 yorumlayıcısını kullanabilir ve bu da Azure çit aracısının Pacemaker kümesinde başlatılaamamasına neden olabilir. "Azure Resource Manager Python SDK'sı bulunamadı veya erişilebilir değil" hata iletisi /var/log/messages içinde görünür. Daha fazla ayrıntı için SUSE KBA 21504'teki yönergeleri izleyin.
  2. [A] Küme kaynakları için ihtiyacınız olan bileşeni yükleyin.

    sudo zypper in socat
    
  3. [A] Küme kaynakları için ihtiyacınız olan azure-lb bileşenini yükleyin.

    sudo zypper in resource-agents
    

    Not

    Kaynak aracıları paketinin sürümünü denetleyin ve en düşük sürüm gereksinimlerinin karşılandığından emin olun:

    • SLES 12 SP4/SP5: Sürüm resource-agents-4.3.018.a7fb5035-3.30.1 veya üzeri olmalıdır.
    • SLES 15/15 SP1: Sürüm resource-agents-4.3.0184.6ee15eb2-4.13.1 veya üzeri olmalıdır.
  4. [A] İşletim sistemini yapılandırın.

    a. Pacemaker bazen izin verilen sayıyı tüketebilecek birçok işlem oluşturur. Bu durumda küme düğümleri arasındaki sinyal başarısız olabilir ve kaynaklarınızın yük devretmesine yol açabilir. Aşağıdaki parametreyi ayarlayarak izin verilen işlem sayısı üst sınırını artırmanızı öneririz:

    # Edit the configuration file
    sudo vi /etc/systemd/system.conf
    
    # Change the DefaultTasksMax
    #DefaultTasksMax=512
    DefaultTasksMax=4096
    
    # Activate this setting
    sudo systemctl daemon-reload
    
    # Test to ensure that the change was successful
    sudo systemctl --no-pager show | grep DefaultTasksMax
    

    b. Kirli önbelleğin boyutunu küçültün. Daha fazla bilgi için bkz . Büyük RAM'e sahip SLES 11/12 sunucularında düşük yazma performansı.

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

    c. Takas kullanımını azaltmak ve belleği tercih etmek için vm.swappiness değerinin 10 olarak ayarlandığından emin olun.

    sudo vi /etc/sysctl.conf
    # Change/set the following setting
    vm.swappiness = 10
    
  5. [A] cloud-netconfig-azure paket sürümünü denetleyin.

    cloud-netconfig-azure zypper info cloud-netconfig-azure komutunu çalıştırarak cloud-netconfig-azure paketinin yüklü sürümünü denetleyin. Sürüm 1.3'ten eskiyse cloud-netconfig-azure paketini kullanılabilir en son sürüme güncelleştirmenizi öneririz.

    İpucu

    Ortamınızdaki sürüm 1.3 veya üzeriyse, ağ arabirimlerinin bulut ağ eklentisi tarafından yönetilmesini engellemek artık gerekli değildir.

    Yalnızca cloud-netconfig-azure sürümü 1.3'ten düşükse, bulut ağ eklentisinin sanal IP adresini kaldırmasını önlemek için aşağıdaki kodda gösterildiği gibi ağ arabiriminin yapılandırma dosyasını değiştirin (Pacemaker atamayı denetlemelidir). Daha fazla bilgi için bkz . SUSE KB 7023633.

    # Edit the configuration file
    sudo vi /etc/sysconfig/network/ifcfg-eth0 
    
    # Change CLOUD_NETCONFIG_MANAGE
    # CLOUD_NETCONFIG_MANAGE="yes"
    CLOUD_NETCONFIG_MANAGE="no"
    
  6. [1] SSH erişimini etkinleştirin.

    sudo ssh-keygen
    
    # Enter file in which to save the key (/root/.ssh/id_rsa), and then select Enter
    # Enter passphrase (empty for no passphrase), and then select Enter
    # Enter same passphrase again, and then select Enter
    
    # copy the public key
    sudo cat /root/.ssh/id_rsa.pub
    
  7. [2] SSH erişimini etkinleştirin.

    sudo ssh-keygen
    
    # Enter file in which to save the key (/root/.ssh/id_rsa), and then select Enter
    # Enter passphrase (empty for no passphrase), and then select Enter
    # Enter same passphrase again, and then select Enter
    
    # Insert the public key you copied in the last step into the authorized keys file on the second server
    sudo vi /root/.ssh/authorized_keys   
    
    # copy the public key
    sudo cat /root/.ssh/id_rsa.pub
    
  8. [1] SSH erişimini etkinleştirin.

    # insert the public key you copied in the last step into the authorized keys file on the first server
    sudo vi /root/.ssh/authorized_keys
    
  9. [A] Azure çit aracısını temel alan bir çit cihazı kullanıyorsanız çit aracıları paketini yükleyin.

    sudo zypper install fence-agents
    

    Önemli

    Küme düğümü çitle çevrili olduğunda Azure çit aracısıyla daha hızlı yük devretme sürelerinden yararlanmak için çit aracıları paketinin yüklü sürümü 4.4.0 veya üzeri olmalıdır. Önceki bir sürümü çalıştırıyorsanız paketi güncelleştirmenizi öneririz.

    Önemli

    Yönetilen kimlik kullanılıyorsa çit aracıları paketinin yüklü sürümü şu olmalıdır:

    • SLES 12 SP5: çit aracıları 4.9.0+git.1624456340.8d746be9-3.35.2 veya üzeri
    • SLES 15 SP1 ve üzeri: çit aracıları 4.5.2+git.1592573838.1eee0863 veya üzeri.

    Önceki sürümler yönetilen kimlik yapılandırmasıyla düzgün çalışmaz.

  10. [A] fence-agents-azure-arm paketini yükleyin.

    SLES 12 SP5 için, sürüm 4.9.0+git.1624456340.8d746be9-3.41.3 veya üzerini kullanıyorsanız fence-agents ve SLES 15 SP4 ve daha yeni sürümler için paketi yüklemeniz fence-agents-azure-arm gerekir. Bu paket tüm gerekli bağımlılıkları içerecektir.

    # On SLES 12 SP5 with fence-agents version 4.9.0+git.1624456340.8d746be9-3.41.3 or higher. You might need to activate the public cloud extension first
    SUSEConnect -p sle-module-public-cloud/12/x86_64
    sudo zypper install fence-agents-azure-arm
    
    # On SLES 15 SP4 and later. You might need to activate the public cloud extension first. In this example, the SUSEConnect 
    SUSEConnect -p sle-module-public-cloud/15.4/x86_64
    sudo zypper install fence-agents-azure-arm
    
  11. [A] Azure Python SDK'sı ve Azure Identity Python modülünü yükleyin.

    SLES 12 SP5 için, sürümünüz fence-agents daha düşükse 4.9.0+git.1624456340.8d746be9-3.41.3ve SLES 15 SP3 ve altı için aşağıdaki ek paketleri yüklemeniz gerekir.

    # You might need to activate the public cloud extension first
    SUSEConnect -p sle-module-public-cloud/12/x86_64
    sudo zypper install python-azure-mgmt-compute
    sudo zypper install python-azure-identity
    
    # You might need to activate the public cloud extension first. In this example, the SUSEConnect command is for SLES 15 SP1
    SUSEConnect -p sle-module-public-cloud/15.1/x86_64
    sudo zypper install python3-azure-mgmt-compute
    sudo zypper install python3-azure-identity
    

    Önemli

    Sürümünüze ve görüntü türüne bağlı olarak, Azure Python SDK'sını yükleyebilmek için önce işletim sistemi sürümünüz için genel bulut uzantısını etkinleştirmeniz gerekebilir. komutunu çalıştırarak SUSEConnect ---list-extensionsuzantıyı de kontrol edebilirsiniz. Azure çit aracısı ile daha hızlı yük devretme süreleri elde etmek için:

    • SLES 12 SP5'te python-azure-mgmt-compute paketinin 4.6.2 veya sonraki bir sürümünü yükleyin.
    • python-azure-mgmt-compute veya python3-azure-mgmt-compute paketi sürümünüz 17.0.0-6.7.1 ise, SUSE KBA'daki yönergeleri izleyerek çit aracıları sürümünü güncelleştirin ve eksikse Python modülü için Azure Identity istemci kitaplığını yükleyin.
  12. [A] Konak adı çözümlemesini ayarlayın.

    Bir DNS sunucusu kullanabilir veya tüm düğümlerde /etc/hosts dosyasını değiştirebilirsiniz. Bu örnekte /etc/hosts dosyasının nasıl kullanılacağı gösterilmektedir.

    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 bir konak adı çözümlemesine sahip olmak önemlidir. Adlar kullanılamıyorsa küme iletişimi başarısız olur ve bu durum küme yük devretme gecikmelerine yol açabilir.

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

    sudo vi /etc/hosts
    

    /etc/hosts içine aşağıdaki satırları ekleyin. 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
    
  13. [1] Kümeyi yükleyin.

    • Eskrim için SBD cihazları kullanıyorsanız (iSCSI hedef sunucusu veya Azure paylaşılan diski için):

      sudo crm cluster init
      # ! NTP is not configured to start at system boot.
      # Do you want to continue anyway (y/n)? y
      # /root/.ssh/id_rsa already exists - overwrite (y/n)? n
      # Address for ring0 [10.0.0.6] Select Enter
      # Port for ring0 [5405] Select Enter
      # SBD is already configured to use /dev/disk/by-id/scsi-36001405639245768818458b930abdf69;/dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03;/dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf - overwrite (y/n)? n
      # Do you wish to configure an administration IP (y/n)? n
      
    • Eskrim için SBD cihazları kullanmıyorsanız:

      sudo crm cluster init
      # ! NTP is not configured to start at system boot.
      # Do you want to continue anyway (y/n)? y
      # /root/.ssh/id_rsa already exists - overwrite (y/n)? n
      # Address for ring0 [10.0.0.6] Select Enter
      # Port for ring0 [5405] Select Enter
      # Do you wish to use SBD (y/n)? n
      # WARNING: Not configuring SBD - STONITH will be disabled.
      # Do you wish to configure an administration IP (y/n)? n
      
  14. [2] Düğümü kümeye ekleyin.

    sudo crm cluster join
    # ! NTP is not configured to start at system boot.
    # Do you want to continue anyway (y/n)? y
    # IP address or hostname of existing node (for example, 192.168.1.1) []10.0.0.6
    # /root/.ssh/id_rsa already exists - overwrite (y/n)? n
    
  15. [A] Hacluster parolasını aynı parolayla değiştirin.

    sudo passwd hacluster
    
  16. [A] Corosync ayarlarını yapın.

    sudo vi /etc/corosync/corosync.conf
    

    a. Dosyada aşağıdaki bölüme bakın ve değerlerin orada olup olmadığını veya farklı olup olmadığını ayarlayın. Bellek koruma bakımına izin vermek için belirteci 30000 olarak değiştirdiğinizden emin olun. Daha fazla bilgi için Linux veya Windows için "Azure'da sanal makineler için bakım" makalesine bakın.

    [...]
      token:          30000
      token_retransmits_before_loss_const: 10
      join:           60
      consensus:      36000
      max_messages:   20
    
      interface { 
         [...] 
      }
      transport:      udpu
    } 
    nodelist {
      node {
       ring0_addr:10.0.0.6
      }
      node {
       ring0_addr:10.0.0.7
      } 
    }
    logging {
      [...]
    }
    quorum {
         # Enable and configure quorum subsystem (default: off)
         # See also corosync.conf.5 and votequorum.5
         provider: corosync_votequorum
         expected_votes: 2
         two_node: 1
    }
    

    b. Corosync hizmetini yeniden başlatın.

    sudo service corosync restart
    

Pacemaker kümesinde eskrim cihazı oluşturma

İpucu

  • İki düğümlü pacemaker kümesindeki çit yarışlarını önlemek için ek "priority-fencing-delay" küme özelliğini yapılandırabilirsiniz. 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. Ek ayrıntılar için bkz . SUSE Linux Enterprise Server yüksek kullanılabilirlik uzantısı yönetim kılavuzu.
  • "priority-fencing-delay" küme özelliğini ayarlama yönergeleri, ilgili SAP ASCS/ERS (yalnızca ENSA2'de geçerlidir) ve SAP HANA ölçek artırma yüksek kullanılabilirlik belgesinde bulunabilir.
  1. [1] Eskrim cihazı olarak bir SBD cihazı (iSCSI hedef sunucusu veya Azure paylaşılan diski) kullanıyorsanız aşağıdaki komutları çalıştırın. Eskrim cihazının kullanımını etkinleştirin ve çit gecikmesini ayarlayın.

    sudo crm configure property stonith-timeout=144
    sudo crm configure property stonith-enabled=true
    
    # List the resources to find the name of the SBD device
    sudo crm resource list
    sudo crm resource stop stonith-sbd
    sudo crm configure delete stonith-sbd
    sudo crm configure primitive stonith-sbd stonith:external/sbd \
       params pcmk_delay_max="15" \
       op monitor interval="600" timeout="15"
    
  2. [1] Eskrim için bir Azure çit aracısı kullanıyorsanız aşağıdaki komutları çalıştırın. Her iki küme düğümüne de rol atadıktan sonra kümedeki eskrim cihazlarını yapılandırabilirsiniz.

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

    Not

    'pcmk_host_map' seçeneği yalnızca konak adları ve Azure VM adları aynı değilse komutta gereklidir. Eşlemeyi hostname:vm-name biçiminde belirtin.

# Adjust the command with your subscription ID and resource group of the VM

sudo crm configure primitive rsc_st_azure stonith:fence_azure_arm \
params msi=true subscriptionId="subscription ID" resourceGroup="resource group" \
pcmk_monitor_retries=4 pcmk_action_limit=3 power_timeout=240 pcmk_reboot_timeout=900 pcmk_delay_max=15 pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
op monitor interval=3600 timeout=120

sudo crm configure property stonith-timeout=900

Hizmet sorumlusu yapılandırmasına bağlı olarak eskrim cihazı kullanıyorsanız Azure eskrim kullanarak SpN'den MSI'ye geçiş adımlarını okuyun ve yönetilen kimlik yapılandırmasına nasıl dönüştürüleceğini öğrenin.

Önemli

İ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ı, standart ILB kullanan VM'ler için Genel uç nokta bağlantısı bölümünde olası çözümlerin yanı sıra genel uç noktalara giden bağlantı gerektirir.

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

Azure zamanlanmış olaylar sunar. Zamanlanmış olaylar meta veri hizmeti aracılığıyla sağlanır ve uygulamanın bu tür olaylara hazırlanması için zaman tanır. Zamanlanmış Azure olayları için azure-events-az kaynak aracısı 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ı "health-" ile başlamayan tüm kaynaklar zamanlanmış olayla düğümden uzağa geçirilir. Etkilenen küme düğümü çalışan küme kaynaklarına sahip değilse, zamanlanmış olay kabul edilir ve yeniden başlatma gibi eylemini yürütebilir.

Önemli

Daha önce bu belgede azure-events kaynak aracısı kullanımı açıklandı. Yeni kaynak aracısı azure-events-az , farklı kullanılabilirlik alanlarına dağıtılan Azure ortamlarını tam olarak destekler. Pacemaker ile tüm SAP yüksek oranda kullanılabilir sistemler için daha yeni azure-events-az aracısını kullanmanız önerilir.

  1. [A] Azure-events aracısı paketinin zaten yüklü ve güncel olduğundan emin olun.

    sudo zypper info resource-agents
    

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

    • SLES 12 SP5: resource-agents-4.3.018.a7fb5035-3.98.1
    • SLES 15 SP1: resource-agents-4.3.0184.6ee15eb2-150100.4.72.1
    • SLES 15 SP2: resource-agents-4.4.0+git57.70549516-150200.3.56.1
    • SLES 15 SP3: resource-agents-4.8.0+git30.d0077df0-150300.8.31.1
    • SLES 15 SP4 ve daha yenisi: resource-agents-4.10.0+git40.0f4de473-150400.3.19.1
  2. [1] Pacemaker'daki kaynakları yapılandırın.

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

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

    Önemli

    Belgenin sonraki adımlarında açıklanan kaynakların yanı sıra kümede "health-" ile 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 komutunu çalıştırın. Çoğunluk oluşturucu VM dahil olmak üzere ölçeği genişletme ortamları için.

    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. Önemli: Kaynakların 'health-azure' ile başlaması gerekir.

    sudo crm configure primitive health-azure-events ocf:heartbeat:azure-events-az \
    meta allow-unhealthy-nodes=true failure-timeout=120s \
    op start start-delay=60s \
    op monitor interval=10s
    
    sudo crm configure clone health-azure-events-cln health-azure-events
    

    Not

    'health-azure-events' kaynağı yapılandırılırken aşağıdaki uyarı iletisi yoksayılabilir.

    UYARI: health-azure-events: bilinmeyen 'allow-unhealthy-node' özniteliği.

  6. Pacemaker kümesini bakım modundan çıkarma

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

    sudo crm resource cleanup
    

    Zamanlanmış olaylar için ilk kez sorgu yürütme 2 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 zamanlanmış olaylar belgelerine bakın.

    Not

    Azure-events aracısı için Pacemaker kaynaklarını yapılandırdıktan sonra kümeyi bakım moduna veya dışına yerleştirirseniz aşağıdaki gibi uyarı iletileri alabilirsiniz:

    UYARI: cib-bootstrap-options: bilinmeyen 'hostName_hostname' özniteliği
    UYARI: cib-bootstrap-options: bilinmeyen 'azure-events_globalPullState' özniteliği
    UYARI: cib-bootstrap-options: bilinmeyen özniteliği 'hostName_ hostname'
    Bu uyarı iletileri yoksayılabilir.

Sonraki adımlar