Azure 'da SUSE Linux Enterprise Server paceyapıcısı ayarlama

Azure 'da bir Paceoluşturucu kümesi kurmak için iki seçenek vardır. Azure API 'Leri aracılığıyla başarısız olan bir düğümü yeniden başlatma işlemini ele alan ve bir SBD cihazı kullanabileceğiniz bir düğüm oluşturma Aracısı kullanabilirsiniz.

SBD cihazı, Iscsı hedef sunucusu olarak davranan ve bir SBD cihazı sağlayan en az bir ek sanal makine gerektirir. Bu Iscsı hedef sunucuları, diğer Paceüreticisi kümeleriyle paylaşılabilir. Bir SBD cihaz kullanmanın avantajı, zaten şirket içinde SBD cihazları kullanıyorsanız, paceoluşturucu kümesini nasıl çalıştıracaksınız üzerinde herhangi bir değişiklik yapılmasını gerektirmez. Bir Paceoluşturucu kümesi için en fazla üç SBD cihazı kullanarak bir SBD cihazının kullanılamaz hale gelmesine izin verebilirsiniz (örneğin, Iscsı hedef sunucusu 'nda işletim sistemi düzeltme eki uygulama). Her Paceyapıcısı için birden fazla SBD cihazı kullanmak istiyorsanız, birden çok Iscsı hedef sunucusu dağıttığınızdan ve her bir Iscsı hedef sunucusundan bir SBD 'nin bağlanmasına emin olun. Tek bir SBD cihazı veya üçten birini kullanmanızı öneririz. Yalnızca iki SBD cihazı yapılandırırsanız ve bunlardan biri kullanılabilir değilse pacemaker bir küme düğümünü otomatik olarak dilimlayamaz. Bir Iscsı hedef sunucusu çalışırken sınır oluşturabilmek istiyorsanız, SBDs kullanırken en esnek yapılandırma olan üç SBD cihazı ve bu nedenle üç Iscsı hedef sunucusu kullanmanız gerekir.

Azure çit Aracısı ek sanal makinelerin dağıtılmasını gerektirmez.

SLES 'de pacemaker genel bakış

Önemli

Linux pacemaker kümelenmiş düğümlerini ve SBD cihazlarını planlarken ve dağıttığınızda, tüm küme yapılandırmasının genel güvenilirliği, dahil edilen VM 'Ler ve SBD cihazlarını barındıran VM 'Ler arasındaki yönlendirmenin NVA 'largibi başka herhangi bir cihazdan geçirilmediğinden emin olmak için gereklidir. Aksi takdirde, NVA ile ilgili sorunlar ve bakım olayları, genel küme yapılandırmasının kararlılığı ve güvenilirliği üzerinde olumsuz bir etkiye sahip olabilir. Bu tür engelleri önlemek için, Linux Paceoluşturucu kümelenmiş düğümlerini ve SBD cihazlarını planlarken ve dağıttığınızda, NVA 'lar veya Kullanıcı tanımlı yönlendirme kurallarının , NVA 'lar ve benzer cihazlar aracılığıyla trafiği yönlendiren yönlendirme kurallarını tanımlamayın.

SBD sınırlama

Bir SBD cihazını sınırlama için kullanmak istiyorsanız bu adımları izleyin.

Iscsı hedef sunucularını ayarlama

Önce Iscsı hedef sanal makinelerini oluşturmanız gerekir. Iscsı hedef sunucuları, birden çok Paceüreticisi kümesi ile paylaşılabilir.

  1. Yeni SLES 12 SP1 veya üzeri sanal makineler dağıtın ve SSH aracılığıyla bunlara bağlanın. Makinelerin büyük olması gerekmez. Standard_E2s_v3 veya Standard_D2s_v3 gibi bir sanal makine boyutu yeterlidir. işletim sistemi diski Premium depolamayı kullandığınızdan emin olun.

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

  1. SLES 'yi Güncelleştir

    sudo zypper update
    

    Not

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

  2. Paketleri kaldır

    Targetclı ve SLES 12 SP3 ile ilgili bilinen bir sorundan kaçınmak için aşağıdaki paketleri kaldırın. Bulunamayan paketlerle ilgili hataları yoksayabilirsiniz

    sudo zypper remove lio-utils python-rtslib python-configshell targetcli
    
  3. Iscsı hedef paketlerini yükler

    sudo zypper install targetcli-fb dbus-1-python
    
  4. Iscsı hedef hizmetini etkinleştirme

    sudo systemctl enable targetcli
    sudo systemctl start targetcli
    

Iscsı hedef sunucusunda Iscsı cihazı oluşturma

SAP sistemleriniz tarafından kullanılan kümeler için Iscsı diskleri oluşturmak üzere tüm iSCSI hedef sanal makinelerinde aşağıdaki komutları çalıştırın. Aşağıdaki örnekte, birden çok küme için SBD cihazları oluşturulur. Birden çok küme için bir Iscsı hedef sunucusunu nasıl kullanacağınızı gösterir. SBD cihazları işletim sistemi diskine yerleştirilir. Yeterli alana sahip olduğunuzdan emin olun.

nfs, NFS kümesini tanımlamak için kullanılır, ascsnw1 , NW1 öğesinin ascs kümesini tanımlamak için kullanılır. dbnw1 , NFS -0 ve NFS-1 ' in veritabanı kümesini tanımlamak için kullanılır, NFS küme düğümlerinin ana bilgisayar adları, NW1-xscs-0 ve NW1-xscs-1 , NW1 ascs küme düğümlerinin ana bilgisayar adları ve NW1-DB-0 ve NW1-DB-1 veritabanı kümesi düğümlerinin ana bilgisayar adı. Bunları, Küme düğümlerinizin ana bilgisayar adları ve SAP sisteminizin SID 'SI ile değiştirin.

# Create the root folder for all SBD devices
sudo mkdir /sbd

# Create the SBD device for the NFS server
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

# Create the SBD device for the ASCS server of SAP System NW1
sudo targetcli backstores/fileio create sbdascsnw1 /sbd/sbdascsnw1 50M write_back=false
sudo targetcli iscsi/ create iqn.2006-04.ascsnw1.local:ascsnw1
sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/luns/ create /backstores/fileio/sbdascsnw1
sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.nw1-xscs-0.local:nw1-xscs-0
sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.nw1-xscs-1.local:nw1-xscs-1

# Create the SBD device for the database cluster of SAP System NW1
sudo targetcli backstores/fileio create sbddbnw1 /sbd/sbddbnw1 50M write_back=false
sudo targetcli iscsi/ create iqn.2006-04.dbnw1.local:dbnw1
sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/luns/ create /backstores/fileio/sbddbnw1
sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/acls/ create iqn.2006-04.nw1-db-0.local:nw1-db-0
sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/acls/ create iqn.2006-04.nw1-db-1.local:nw1-db-1

# save the targetcli changes
sudo targetcli saveconfig

Her şeyin doğru şekilde ayarlandığını kontrol edebilirsiniz

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]

SBD cihazı ayarlama

kümeden son adımda oluşturulan iscsı cihazına Bağlan. Oluşturmak istediğiniz yeni kümenin düğümlerinde aşağıdaki komutları çalıştırın. Şu öğeler, [A] ön eki olan tüm düğümlere uygulanabilir, [1] -yalnızca düğüm 1 veya [2] için geçerlidir-yalnızca node 2 için geçerlidir.

  1. [A] iscsı cihazlarına Bağlan

    İlk olarak, Iscsı ve SBD hizmetlerini etkinleştirin.

    sudo systemctl enable iscsid
    sudo systemctl enable iscsi
    sudo systemctl enable sbd
    
  2. [1] ilk düğümde Başlatıcı adını değiştirin

    sudo vi /etc/iscsi/initiatorname.iscsi
    

    Dosya içeriğini Iscsı hedef sunucusunda iSCSI cihazı oluştururken kullandığınız ACL 'Lerle eşleşecek şekilde değiştirin (örneğin, NFS sunucusu için).

    InitiatorName=iqn.2006-04.nfs-0.local:nfs-0
    
  3. [2] ikinci düğümdeki Başlatıcı adını değiştirin

    sudo vi /etc/iscsi/initiatorname.iscsi
    

    İSCSI hedef sunucusunda Iscsı cihazını oluştururken kullandığınız ACL 'Lerle eşleşecek şekilde dosyanın içeriğini değiştirin

    InitiatorName=iqn.2006-04.nfs-1.local:nfs-1
    
  4. [A] iSCSI hizmetini yeniden başlatın

    Şimdi değişikliği uygulamak için Iscsı hizmetini yeniden başlatın

    sudo systemctl restart iscsid
    sudo systemctl restart iscsi
    

    iscsı cihazlarını Bağlan. Aşağıdaki örnekte, 10.0.0.17, Iscsı hedef sunucusunun IP adresidir ve 3260 varsayılan bağlantı noktasıdır. IQN. 2006-04. NFS. Local: NFS , aşağıda yer alan ilk komutu çalıştırdığınızda listelenen hedef adlarından biridir (ı adm-d bulma).

    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
    
    # If you want to use multiple SBD devices, also connect to the second iSCSI target server
    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
    
    # If you want to use multiple SBD devices, also connect to the third iSCSI target server
    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
    

    Iscsı cihazlarının kullanılabilir olduğundan ve cihaz adını (aşağıdaki örnekte/dev/SDE) göz önünde bulunduğundan emin olun

    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
    

    Şimdi Iscsı 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 bir SBD cihazı için üç cihaz kimliği listeler. Yukarıdaki örnekte, SCSI-3 ile başlayan KIMLIĞI kullanmanızı öneririz.

    • /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03
    • /dev/disk/by-id/scsi-360014053fe4dad371a5a4bb69a419a4df
    • /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf
  5. [1] SBD cihazı oluşturma

    İlk küme düğümünde yeni SBD cihazlarını oluşturmak için Iscsı cihazlarının cihaz KIMLIĞINI kullanın.

    sudo sbd -d /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03 -1 60 -4 120 create
    
    # Also create the second and third SBD devices if you want to use more than one.
    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
    
  6. [A] SBD yapılandırmasını uyarlayın

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

    sudo vi /etc/sysconfig/sbd
    

    SBD cihazının özelliğini değiştirin, pacemaker tümleştirmesini etkinleştirin ve SBD 'in 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"
    [...]
    

    softdogYapılandırma dosyasını oluşturma

    echo softdog | sudo tee /etc/modules-load.d/softdog.conf
    

    Şimdi modülü yükleyin

    sudo modprobe -v softdog
    

Küme yüklemesi

Şu öğeler, [A] ön eki olan tüm düğümlere uygulanabilir, [1] -yalnızca düğüm 1 veya [2] için geçerlidir-yalnızca node 2 için geçerlidir.

  1. [A] bir güncelleştirme SLES

    sudo zypper update
    
  2. [A] küme kaynakları için gerekli olan bileşeni yükler

    sudo zypper in socat
    
  3. [A] küme kaynakları için gerekli olan Azure-lb bileşenini yükler

    sudo zypper in resource-agents
    

    Not

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

    • SLES 12 SP4/SP5 için sürüm en az Resource-Agents-4.3.018. a7fb5035-3.30.1 olmalıdır.
    • SLES 15/15 SP1 için sürüm en az Resource-Agents-4.3.0184.6 ee15eb2-4.13.1 olmalıdır.
  4. [A] işletim sistemini yapılandırma

    Bazı durumlarda, Paceyapıcısı birçok işlem oluşturur ve bu nedenle izin verilen işlem sayısını tüketmektedir. Böyle bir durumda, küme düğümleri arasında bir sinyal başarısız olabilir ve kaynaklarınızın yük devretmesine yol açabilir. Aşağıdaki parametreyi ayarlayarak izin verilen en fazla işlem sayısını artırmayı öneririz.

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

    Kirli önbelleğin boyutunu küçültün. Daha fazla bilgi için bkz. büyük RAM Ile 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
    
  5. [A] Cloud-NETCONFIG-ha kümesi için Azure yapılandırma

    Not

    Zypper Info Cloud-netconfig-Azure' ı çalıştırarak, yüklü paket bulutu-netconfig-Azure sürümünü denetleyin. Ortamınızdaki sürüm 1,3 veya üzeri ise, bulut ağı eklentisi tarafından ağ arabirimlerinin yönetimini bastırmak artık gerekli değildir. Sürüm 1,3 ' den düşükse, paket bulutu-netconfig-Azure 'ı kullanılabilir en son sürüme güncelleştirmeyi öneririz.

    Bulut ağ eklentisinin sanal IP adresini kaldırmasını engellemek için ağ arabiriminin yapılandırma dosyasını aşağıda gösterildiği gibi değiştirin (pacemaker VIP atamasını denetlemektir). 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ştirme

    sudo ssh-keygen
    
    # Enter file in which to save the key (/root/.ssh/id_rsa): -> Press ENTER
    # Enter passphrase (empty for no passphrase): -> Press ENTER
    # Enter same passphrase again: -> Press ENTER
    
    # copy the public key
    sudo cat /root/.ssh/id_rsa.pub
    
  7. [2] SSH erişimini etkinleştirme

    
    sudo ssh-keygen
    
    # Enter file in which to save the key (/root/.ssh/id_rsa): -> Press ENTER
    # Enter passphrase (empty for no passphrase): -> Press ENTER
    # Enter same passphrase again: -> Press 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ştirme

    # 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 sınır aracısına göre STONITH cihazı kullanılıyorsa, sınır aracıları paketini yükler.

    sudo zypper install fence-agents
    

    Önemli

    Paket sınırı-aracıların yüklü sürümü, bir küme düğümlerinin yeniden oluşturulması gerekiyorsa Azure sınır Aracısı ile daha hızlı yük devretme süreleriyle faydalanmak için en az 4.4.0 olmalıdır. Daha düşük bir sürüm çalıştırıyorsa paketi güncelleştirmenizi öneririz.

  10. [A] Azure Python SDK 'sını yüklemeyi

    • SLES 12 SP4 veya SLES 12 SP5 üzerinde
    
     # You may need to activate the Public cloud extention first
     SUSEConnect -p sle-module-public-cloud/12/x86_64
     sudo zypper install python-azure-mgmt-compute
    
    • SLES 15 ve üzerinde
    
     # You may need to activate the Public cloud extention 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
    

    Önemli

    Sürümünüz ve görüntü türünüze bağlı olarak, Azure Python SDK'yı yüklemeden önce işletim sistemi sürümünüz için Genel bulut uzantısını etkinleştirmeniz gerekebilir. SUSEConnect velist-extensions --- uzantıyı kontrol edin.
    Azure Fence Aracısı ile daha hızlı yük devretme süreleri elde etmek için:

    • SLES 12 SP4 veya SLES 12 SP5'te python-azure-mgmt-compute paketinin 4.6.2 veya daha yüksek sürümünü yükleyin
    • SLES 15.X'te python 3 paketinin 4.6.2 sürümünü yükleyin ,azure-mgmt-compute, ancak daha yüksek değildir. Python 3-azure-mgmt-compute paketinin 17.0.0-6.7.1 sürümünden kaçının çünkü Azure Fence Agent ile uyumsuz değişiklikler içeriyor
  11. [A] Konak adı çözümlemesi kurulumu

    Bir DNS sunucusu kullanabilir veya tüm düğümlerde /etc/hosts'ları değiştirebilirsiniz. Bu örnekte /etc/hosts dosyasının nasıl kullanımına sahip olduğu gösterir. 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 konak adı çözümlemesi yapmak çok önemlidir. Adlar kullanılamıyorsa ve küme yük devretme gecikmelerini neden olabilirse küme iletişimi başarısız olur. /etc/hosts kullanmanın avantajı, kümenizin DNS'den bağımsız olmasıdır ve bu da tek hata noktası da olabilir.

    sudo vi /etc/hosts
    
    

    /etc/hosts'a aşağıdaki satırları ekler. IP adresini ve ana bilgisayar adını ortamınıza göre değiştirme

    # 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
    
  12. [1] Küme yükleme

  • Yalıtma için SBD cihazları kullanıyorsanız

    sudo ha-cluster-init -u
    
    # ! 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] Press ENTER
    # Port for ring0 [5405] Press 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
    
  • yalıtma için SBD cihazları kullanmıyorsa

    sudo ha-cluster-init -u
    
    # ! 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] Press ENTER
    # Port for ring0 [5405] Press 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
    
  1. [2] Kümeye düğüm ekleme

    sudo ha-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 (e.g.: 192.168.1.1) []10.0.0.6
    # /root/.ssh/id_rsa already exists - overwrite (y/n)? n
    
  2. [A] Parolayı aynı parolayla değiştirme

    sudo passwd hacluster
    
  3. [A] Eş zamanlı ayarları ayarlayın.

    sudo vi /etc/corosync/corosync.conf
    

    Değerler orada veya farklı değilse aşağıdaki kalın içeriği dosyaya ekleyin. Bellek koruma bakımına izin vermek için belirteci 30000 olarak değiştirerek emin olun. Daha fazla bilgi için Linux veya linux için bu makaleye Windows.

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

    Ardından corosync hizmetini yeniden başlatın

    sudo service corosync restart
    

SBD için varsayılan Pacemaker yapılandırması

Bu bölümdeki yapılandırma yalnızca SBD STONITH kullanıyorsanız geçerlidir.

  1. [1] STONITH cihazı kullanımını etkinleştirme ve çit gecikmesi ayarlama
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="15" timeout="15"

Azure Fence aracısı STONITH cihazı oluşturma

Belgelerin bu bölümü yalnızca Azure Çit aracısı temel alınarak STONITH kullanıyorsanız geçerlidir. STONITH cihazı, hizmet sorumlusuna karşı yetkilendirmek için bir Hizmet Microsoft Azure. Hizmet Sorumlusu oluşturmak için bu adımları izleyin.

  1. Şuraya gidin: https://portal.azure.com
  2. Dikey Azure Active Directory açın
    Özellikler'e gidin ve Dizin Kimliği'ne yazın. Bu, kiracı kimliğidir.
  3. Uygulama kayıtları'a tıklayın
  4. Yeni Kayıt'a tıklayın
  5. Bir Ad girin, "Yalnızca bu kuruluş dizininde hesaplar" öğesini seçin
  6. Uygulama Türü "Web"i seçin, bir oturum açma URL'si girin (örneğin http: / /localhost) ve Ekle'ye tıklayın
    Oturum açma URL'si kullanılmaz ve geçerli bir URL olabilir
  7. Sertifikalar ve Gizli Diziler'i seçin, ardından Yeni istemci gizli dizi'ye tıklayın
  8. Yeni anahtar için bir açıklama girin, "Süresi hiçbir zaman dolmaz" öğesini seçin ve Ekle'ye tıklayın
  9. Değer'i not yazın. Hizmet Sorumlusu için parola olarak kullanılır
  10. Genel bakış'ı seçin. Uygulama Kimliği'ne not yazın. Hizmet Sorumlusu'nın kullanıcı adı olarak kullanılır

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

Hizmet Sorumlusu varsayılan olarak Azure kaynaklarınıza erişim iznine sahip değildir. Hizmet Sorumlusuna kümenin tüm sanal makinelerini başlatma ve durdurma (bırakma) izni vermelisiniz. Özel rolü henüz oluşturmamışsanı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 gerekir; c276fc76-9cd4-44c9-99a7-4fd71546436e ve e91d47c4-76f3-4271-a796-21b4ecfe3624 yerine aboneliğinizin kimliklerini alın. Yalnızca bir aboneliğiniz varsa AssignableScopes'ta ikinci girdiyi kaldırın.

{
      "Name": "Linux Fence Agent Role",
      "description": "Allows to power-off and start virtual machines",
      "assignableScopes": [
              "/subscriptions/e663cc2d-722b-4be1-b636-bbd9e4c60fd9",
              "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624"
      ],
      "actions": [
              "Microsoft.Compute/*/read",
              "Microsoft.Compute/virtualMachines/powerOff/action",
              "Microsoft.Compute/virtualMachines/start/action"
      ],
      "notActions": [],
      "dataActions": [],
      "notDataActions": []
}

[A] Özel rolü Hizmet Sorumlusuna atama

Son bölümde oluşturulan "Linux Çit Aracısı Rolü" özel rolünü Hizmet Sorumlusuna attayabilirsiniz. Artık Sahip rolünü kullanma! Ayrıntılı adımlar için bkz. Azure rollerini Azure portal.
Her iki küme düğümü için de rolü atadığınızdan emin olun.

[1] STONITH cihazları oluşturma

Sanal makinelerin izinlerini düzenledikten sonra kümede STONITH cihazlarını yapılandırabilirsiniz.

Not

Konak adları pcmk_host_map Azure VM adları aynı DEĞIL ise, 'pcmk_host_map' seçeneği YALNIZ BIR KOMUTTA gereklidir. Eşlemeyi hostname:vm-name biçiminde belirtin. Komutun kalın bölümüne bakın.

sudo crm configure property stonith-enabled=true
crm configure property concurrent-fencing=true
# replace the bold string with your subscription ID, resource group of the VM, tenant ID, service principal application ID and password
sudo crm configure primitive rsc_st_azure stonith:fence_azure_arm \
  params subscriptionId="subscription ID" resourceGroup="resource group" tenantId="tenant ID" login="application ID" passwd="password" \
  pcmk_monitor_retries=4 pcmk_action_limit=3 power_timeout=240 pcmk_reboot_timeout=900 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

Önemli

İzleme ve yalıtma işlemleri serinin dışıdır. Sonuç olarak, daha uzun süre çalışan bir izleme işlemi ve eşzamanlı yalıtma olayı varsa, zaten çalışan izleme işlemi nedeniyle kümenin yük devretmesinde gecikme olmaz.

İpucu

Azure Çit Aracısı, standart ILB kullanan VM'ler için genel uç nokta bağlantısı içinde olası çözümlerle birlikte, belgelenmiş şekilde genel uç noktalarına giden bağlantı gerektirir.

Zamanlanmış Azure olayları için Pacemaker yapılandırması

Azure zamanlanmış olaylar sunar. Zamanlanan olaylar meta veri hizmeti aracılığıyla sağlanır ve uygulamanın VM kapatma, VM yenidenployment gibi olaylara hazırlanmasına izin verir. Kaynak aracısı azure-events zamanlanmış Azure olaylarını izler. Olaylar algılanırsa ve kaynak aracısı başka bir kullanılabilir küme düğümü olduğunu belirlerse, kümeyi bekleyen Azure zamanlanmış olaylarıyla VM'den kaynakları geçirmeye zorlamak için azure-events aracısı hedef küme düğümünü bekleme moduna alır. Ek Pacemaker kaynaklarının yapılandırılması gerekir.

  1. [A] azure-events aracısı paketinin zaten yüklü ve güncel olduğundan emin olun.
sudo zypper info resource-agents
  1. [1] Pacemaker'da kaynakları yapılandırma.

#Place the cluster in maintenance mode
sudo crm configure property maintenance-mode=true

#Create Pacemaker resources for the Azure agent
sudo crm configure primitive rsc_azure-events ocf:heartbeat:azure-events op monitor interval=10s
sudo crm configure clone cln_azure-events rsc_azure-events

#Take the cluster out of maintenance mode
sudo crm configure property maintenance-mode=false

Not

Azure-events aracısı için Pacemaker kaynaklarını yapılandırdıktan sonra, kümeyi bakım moduna alır veya bakım modundan çıkarsanız aşağıdaki gibi uyarı iletileri alabilirsiniz:
UYARI: cib-bootstrap-options: bilinmeyen 'hostName_ ana bilgisayar adı'
UYARI: cib-bootstrap-options: bilinmeyen 'azure-events_globalPullState' özniteliği
UYARI: cib-bootstrap-options: bilinmeyen 'hostName_ ana bilgisayar adı'
Bu uyarı iletileri yoksayılabilir.

Sonraki adımlar