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:
RHEL Yüksek Kullanılabilirlik (HA) belgeleri
- Yüksek kullanılabilirlik kümelerini yapılandırma ve yönetme.
- RHEL Yüksek Kullanılabilirlik Kümeleri için Destek İlkeleri - sbd ve fence_sbd.
- RHEL Yüksek Kullanılabilirlik kümeleri için Destek İlkeleri - fence_azure_arm.
- Yazılım Öykünmüş Watchdog Bilinen Sınırlamaları.
- RHEL Yüksek Kullanılabilirlik Bileşenlerini keşfetme - sbd ve fence_sbd.
- RHEL Yüksek Kullanılabilirlik Kümeleri için Tasarım Kılavuzu - sbd Konuları.
- RHEL 8 - Yüksek Kullanılabilirlik ve Kümeler'i benimseme konusunda dikkat edilmesi gerekenler
Azure'a özgü RHEL belgeleri
- RHEL Yüksek Kullanılabilirlik Kümeleri için Destek İlkeleri - Küme Üyeleri olarak Microsoft Azure Sanal Makineler.
- RHEL Yüksek Kullanılabilirlik Kümeleri için Tasarım Kılavuzu - Küme Üyeleri olarak Microsoft Azure Sanal Makineler.
SAP teklifleri için RHEL belgeleri
- RHEL Yüksek Kullanılabilirlik Kümeleri için Destek İlkeleri - Bir kümede SAP S/4HANA yönetimi.
- Pacemaker'da Tek Başına Enqueue Server 2 (ENSA2) ile SAP S/4HANA ASCS/ERS'yi yapılandırma.
- Pacemaker kümesinde SAP HANA sistem çoğaltmasını yapılandırma.
- SAP HANA Ölçeği Genişletme ve Sistem Çoğaltma için Red Hat Enterprise Linux HA Çözümü.
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.
Ö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.
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.
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.
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.
Tüm iSCSI hedef sanal makinelerinde aşağıdaki komutları çalıştırın.
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.
iSCSI hedef paketini yükleyin.
sudo yum install targetcli
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
Güvenlik duvarında bağlantı noktasını
3260
açmasudo 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.
Tüm SBD cihazları için kök klasörü oluşturun.
sudo mkdir /sbd
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
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
Targetcli yapılandırmasını kaydedin.
sudo targetcli saveconfig
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.
[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
[A] Tüm küme düğümlerine küme ve SBD paketleri yükleyin.
sudo yum install -y pcs pacemaker sbd fence-agents-sbd
[A] iSCSI hizmetini etkinleştirin.
sudo systemctl enable iscsid iscsi
[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
[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
[A] Değişiklikleri uygulamak için iSCSI hizmetini yeniden başlatın.
sudo systemctl restart iscsid sudo systemctl restart iscsi
[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 komutunuiscsiadm -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
[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
[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
[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
[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
[1] SBD cihazını oluşturun.
İ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
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
[A] SBD yapılandırmasını uyarlama
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'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 [...]
[A] Modülü yüklemek
softdog
için aşağıdaki komutu çalıştırın.modprobe softdog
[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
[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ğindeSBD_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
[A] Tüm küme düğümlerine küme ve SBD paketleri yükleyin.
sudo yum install -y pcs pacemaker sbd fence-agents-sbd
[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
[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.
[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
[A] SBD yapılandırmasını uyarlama
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'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 [...]
[A] Modülü yüklemek
softdog
için aşağıdaki komutu çalıştırın.modprobe softdog
[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
[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ğindeSBD_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 -
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.
Ç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 girdiyiAssignableScopes
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": [] }
Ö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.Önemli
Yönetilen kimliklerle yetkilendirme atama ve kaldırma işleminin geçerli olana kadar gecikebileceğini unutmayı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.
[A] RHEL HA eklentisini yükleyin.
sudo yum install -y pcs pacemaker nmap-ncat
[A] RHEL 9.x'te bulut dağıtımı için kaynak aracılarını yükleyin.
sudo yum install -y resource-agents-cloud
[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.
[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/hosts
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
[A] Parolayı
hacluster
aynı parolayla değiştirin.sudo passwd hacluster
[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
[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
[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
[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.
[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ızpriority-fencing-delay
, özelliğini ayarlamanızpcmk_delay_max
gerekmez. Ancak Pacemaker sürümü 2.0.4-6.el8'den küçükse özelliğini ayarlamanızpcmk_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
[A] SBD hizmetini etkinleştirme
sudo systemctl enable sbd
[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
[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 140
kullanarak 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] 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
[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.
[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
- RHEL 8.4:
[1] Pacemaker'daki kaynakları yapılandırın.
#Place the cluster in maintenance mode sudo pcs property set maintenance-mode=true
[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.[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
[1] Pacemaker'daki kaynakları yapılandırın. Kaynakların ile
health-azure
baş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
Pacemaker kümesini bakım modundan çıkartın.
sudo pcs property set maintenance-mode=false
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_kdump
yapılandırmak istiyorsanız geçerlidir.
SANAL makine içinde tanılama bilgileri toplamanız gerekiyorsa, çit aracısını fence_kdump
temel 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:
- Bkz. Red Hat Pacemaker kümesinde fence_kdump yapılandırma Nasıl yaparım?.
- Bkz . Pacemaker ile rhel kümesinde eskrim düzeylerini yapılandırma/yönetme.
- Bkz. fence_kdump, 2.0.14'ten eski kexec-tools ile rhel 6 veya 7 HA kümesinde "X saniye sonra zaman aşımı" ile başarısız oluyor.
- Varsayılan zaman aşımını değiştirme hakkında bilgi için bkz. Nasıl yaparım? rhel 6, 7, 8 HA Eklentisi ile kullanmak üzere kdump yapılandırma?
- kullanırken
fence_kdump
yük devretme gecikmesini azaltma hakkında bilgi için bkz . fence_kdump yapılandırması eklerken beklenen yük devretme gecikmesini azaltabilir miyim?.
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.
[A] Etkin ve yapılandırılmış olduğunu doğrulayın
kdump
.systemctl is-active kdump # Expected result # active
[A] Çit aracısını
fence_kdump
takın.yum install fence-agents-kdump
[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
[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>
[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
[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.conf
değişiklik yaptıktan sonra kdump görüntüsünün yeniden üretilmesi gerekir. Yeniden oluşturmak için hizmeti yeniden başlatınkdump
.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
[A] Görüntü dosyasının
initramfs
vehosts
dosyalarını içerdiğindenfence_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
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.