إعداد Pacemaker على Red Hat Enterprise Linux في Azure
توضح هذه المقالة كيفية تكوين مجموعة Pacemaker الأساسية على Red Hat Enterprise Server (RHEL). تغطي التعليمات RHEL 7 و RHEL 8 و RHEL 9.
المتطلبات الأساسية
اقرأ ملاحظات ومقالات SAP التالية أولا:
وثائق قابلية الوصول العالية RHEL (HA)
- تكوين وإدارة أنظمة المجموعات عالية التوفر.
- نهج الدعم لمجموعات قابلية الوصول العالية ل RHEL - sbd و fence_sbd.
- نهج الدعم لمجموعات قابلية الوصول العالية RHEL - fence_azure_arm.
- القيود المعروفة لمراقبة محاكية البرامج.
- استكشاف مكونات RHEL عالية التوفر - sbd و fence_sbd.
- إرشادات التصميم لمجموعات قابلية الوصول العالية RHEL - اعتبارات sbd.
- اعتبارات في اعتماد RHEL 8 - قابلية وصول عالية ومجموعات
وثائق RHEL الخاصة ب Azure
وثائق RHEL لعروض SAP
- نهج الدعم لمجموعات قابلية الوصول العالية RHEL - إدارة SAP S/4HANA في نظام مجموعة.
- تكوين SAP S/4HANA ASCS/ERS مع Enqueue Server 2 المستقل (ENSA2) في Pacemaker.
- تكوين النسخ المتماثل لنظام SAP HANA في نظام مجموعة Pacemaker.
- Red Hat Enterprise Linux HA Solution for SAP HANA Scale-out and System Replication.
نظرة عامة
هام
لا تغطي نهج الدعم القياسية أنظمة مجموعات Pacemaker التي تمتد عبر شبكات ظاهرية متعددة (VNets)/شبكات فرعية.
هناك خياران متوفران على Azure لتكوين المبارزة في مجموعة أجهزة تنظيم ضربات القلب ل RHEL: عامل سياج Azure، الذي يعيد تشغيل عقدة فاشلة عبر واجهات برمجة تطبيقات Azure، أو يمكنك استخدام جهاز SBD.
هام
في Azure، يستخدم نظام مجموعة قابلية الوصول العالية RHEL مع سياج يستند إلى التخزين (fence_sbd) مراقبة محاكية للبرامج. من المهم مراجعة القيود المعروفة ل Watchdog المحاكية للبرامج ونهج الدعم لمجموعات قابلية الوصول العالية ل RHEL - sbd fence_sbd عند تحديد SBD كآلية تسييج.
استخدام جهاز SBD
إشعار
يتم دعم آلية التسييج مع SBD على RHEL 8.8 وأعلى، و RHEL 9.0 وأعلى.
يمكنك تكوين جهاز SBD باستخدام أي من الخيارين:
SBD مع خادم هدف iSCSI
يتطلب جهاز SBD جهازا ظاهريا إضافيا واحدا على الأقل (VM) يعمل كخادم هدف واجهة نظام الحوسبة الصغيرة عبر الإنترنت (iSCSI) ويوفر جهاز SBD. ومع ذلك، يمكن مشاركة خوادم iSCSI المستهدفة هذه مع مجموعات أجهزة تنظيم ضربات القلب الأخرى. تتمثل ميزة استخدام جهاز SBD في أنه إذا كنت تستخدم بالفعل أجهزة SBD محليا، فإنها لا تتطلب أي تغييرات على كيفية تشغيل نظام مجموعة أجهزة تنظيم ضربات القلب.
يمكنك استخدام ما يصل إلى ثلاثة أجهزة SBD لمجموعة أجهزة تنظيم ضربات القلب للسماح لجهاز SBD بأن يصبح غير متوفر (على سبيل المثال، أثناء تصحيح نظام التشغيل للخادم الهدف iSCSI). إذا كنت ترغب في استخدام أكثر من جهاز SBD واحد لكل جهاز تنظيم ضربات القلب، فتأكد من نشر عدة خوادم هدف iSCSI وتوصيل SBD واحد من كل خادم هدف iSCSI. نوصي باستخدام جهاز SBD واحد أو ثلاثة. لا يمكن ل Pacemaker سياج عقدة نظام المجموعة تلقائيا إذا تم تكوين جهازي SBD فقط ولم يتوفر جهاز واحد. إذا كنت تريد أن تكون قادرًا على إنشاء الحد الزمني عندما يكون خادم هدف iSCSI معطلاً، فيجب عليك استخدام ثلاثة أجهزة SBD، وبالتالي، ثلاثة خوادم هدف iSCSI. هذا هو التكوين الأكثر مرونة عند استخدام SBDs.
هام
عندما تخطط لنشر وتكوين عقد نظام مجموعة أجهزة تنظيم ضربات القلب Linux وأجهزة SBD، لا تسمح للتوجيه بين أجهزتك الظاهرية والأجهزة الظاهرية التي تستضيف أجهزة SBD بالمرور عبر أي أجهزة أخرى، مثل جهاز ظاهري للشبكة (NVA).
يمكن أن يكون لأحداث الصيانة وغيرها من المشكلات المتعلقة بـ NVA تأثير سلبي على استقرار وموثوقية التكوين العام للكتلة. لمزيد من المعلومات، راجع قواعد التوجيه المعرفة من قبل المستخدم.
SBD مع قرص Azure المشترك
لتكوين جهاز SBD، تحتاج إلى إرفاق قرص مشترك واحد على الأقل من Azure بجميع الأجهزة الظاهرية التي تعد جزءا من نظام مجموعة أجهزة تنظيم ضربات القلب. تتمثل ميزة جهاز SBD الذي يستخدم قرص Azure المشترك في أنك لا تحتاج إلى نشر وتكوين أجهزة ظاهرية إضافية.
فيما يلي بعض الاعتبارات المهمة حول أجهزة SBD عند التكوين باستخدام Azure Shared Disk:
- يتم دعم قرص Azure المشترك مع Premium SSD كجهاز SBD.
- يتم دعم أجهزة SBD التي تستخدم قرص Azure المشترك على RHEL 8.8 والإحدث.
- يتم دعم أجهزة SBD التي تستخدم قرص مشاركة Azure المتميز على التخزين الزائد محليا (LRS) والتخزين المتكرر في المنطقة (ZRS).
- اعتمادا على نوع التوزيع الخاص بك، اختر التخزين المتكرر المناسب لقرص Azure المشترك كجهاز SBD الخاص بك.
- يتم دعم جهاز SBD الذي يستخدم LRS لقرص مشترك متميز من Azure (skuName - Premium_LRS) فقط مع النشر الإقليمي مثل مجموعة التوفر.
- يوصى باستخدام جهاز SBD باستخدام ZRS للقرص المشترك المميز ل Azure (skuName - Premium_ZRS) مع التوزيع النطاقي مثل منطقة التوفر أو مجموعة المقياس مع FD=1.
- يتوفر ZRS للقرص المدار حاليا في المناطق المدرجة في مستند التوفر الإقليمي.
- لا يلزم أن يكون القرص المشترك Azure الذي تستخدمه لأجهزة SBD كبيرا. تحدد قيمة maxShares عدد عقد نظام المجموعة التي يمكنها استخدام القرص المشترك. على سبيل المثال، يمكنك استخدام أحجام الأقراص P1 أو P2 لجهاز SBD على مجموعة ثنائية العقد مثل SAP ASCS / ERS أو SAP HANA.
- بالنسبة لتوسيع نطاق HANA مع النسخ المتماثل لنظام HANA (HSR) وأداة تنظيم ضربات القلب، يمكنك استخدام قرص مشترك Azure لأجهزة SBD في مجموعات مع ما يصل إلى خمس عقد لكل موقع نسخ متماثل بسبب الحد الحالي من maxShares.
- لا نوصي بإرفاق جهاز SBD للقرص المشترك Azure عبر مجموعات أجهزة تنظيم ضربات القلب.
- إذا كنت تستخدم العديد من أجهزة SBD لقرص Azure المشترك، فتحقق من الحد الأقصى لعدد أقراص البيانات التي يمكن إرفاقها بجهاز ظاهري.
- ولمزيد من المعلومات حول القيود المفروضة على أقراص Azure المشتركة، راجع بعناية قسم "Limitations" في وثائق القرص المشترك لـ Azure.
استخدام عامل الحد الزمني لـ Azure
يمكنك إعداد إنشاء الحد باستخدام عامل إنشاء الحد لـ Azure. يتطلب عامل Azure fence هويات مدارة لأجهزة نظام المجموعة الظاهرية أو كيان الخدمة أو هوية النظام المدارة (MSI) التي تدير إعادة تشغيل العقد الفاشلة عبر واجهات برمجة تطبيقات Azure. لا يتطلب عامل Azure fence توزيع أجهزة افتراضية إضافية.
SBD مع خادم هدف iSCSI
لاستخدام جهاز SBD يستخدم خادم الهدف iSCSI للحد الزمني، اتبع الإرشادات الواردة في الأقسام التالية.
إعداد خادم الهدف iSCSI
تحتاج أولاً إلى إنشاء الأجهزة الظاهرية الهدف لـ iSCSI. يمكنك مشاركة خوادم هدف iSCSI مع مجموعات أجهزة تنظيم ضربات القلب المتعددة.
نشر الأجهزة الظاهرية التي تعمل على إصدار نظام تشغيل RHEL المدعوم، والاتصال بها عبر SSH. لا يجب أن تكون الأجهزة الظاهرية كبيرة الحجم. أحجام الجهاز الظاهري مثل Standard_E2s_v3 أو Standard_D2s_v3 كافية. تأكد من استخدام تخزين Premium لقرص نظام التشغيل.
ليس من الضروري استخدام RHEL ل SAP مع HA و Update Services، أو صورة RHEL ل SAP Apps OS للخادم الهدف iSCSI. يمكن استخدام صورة نظام تشغيل RHEL القياسية بدلا من ذلك. ومع ذلك، يجب أن تدرك أن دورة حياة الدعم تختلف بين إصدارات منتجات نظام التشغيل المختلفة.
تشغيل الأوامر التالية على جميع الأجهزة الظاهرية المستهدفة iSCSI.
تحديث RHEL.
sudo yum -y update
إشعار
قد تحتاج إلى إعادة تشغيل العقدة بعد ترقية نظام التشغيل أو تحديثه.
تثبيت حزمة هدف iSCSI.
sudo yum install targetcli
بدء تشغيل الهدف وتكوينه للبدء في وقت التمهيد.
sudo systemctl start target sudo systemctl enable target
فتح المنفذ
3260
في جدار الحمايةsudo firewall-cmd --add-port=3260/tcp --permanent sudo firewall-cmd --add-port=3260/tcp
إنشاء جهاز iSCSI على الخادم الهدف iSCSI
لإنشاء أقراص iSCSI لمجموعات نظام SAP، قم بتنفيذ الأوامر التالية على كل جهاز ظاهري هدف iSCSI. يوضح المثال إنشاء أجهزة SBD للعديد من المجموعات، مما يوضح استخدام خادم هدف iSCSI واحد لمجموعات متعددة. تم تكوين جهاز SBD على قرص نظام التشغيل، لذا تأكد من وجود مساحة كافية.
- ascsnw1: يمثل مجموعة ASCS/ERS من NW1.
- dbhn1: يمثل مجموعة قاعدة البيانات من HN1.
- sap-cl1 وsap-cl2: أسماء المضيفين لعقد مجموعة NW1 ASCS/ERS.
- hn1-db-0 وhn1-db-1: أسماء مضيفي عقد نظام مجموعة قاعدة البيانات.
في الإرشادات التالية، قم بتعديل الأمر باستخدام أسماء المضيفين و SIDs المحددة حسب الحاجة.
أنشئ المجلد الجذر لجميع أجهزة SBD.
sudo mkdir /sbd
إنشاء جهاز SBD لخوادم ASCS/ERS للنظام 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.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
إنشاء جهاز SBD لنظام مجموعة قاعدة البيانات للنظام HN1.
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.
sudo targetcli saveconfig
تحقق للتأكد من إعداد كل شيء بشكل صحيح
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]
إعداد جهاز SBD الخاص بخادم الهدف iSCSI
[A]: ينطبق على جميع العقدة. [1]: ينطبق فقط على العُقدة 1. [2]: ينطبق فقط على العُقدة 2.
على عقد نظام المجموعة، قم بتوصيل واكتشاف جهاز iSCSI الذي تم إنشاؤه في القسم السابق. قم بتشغيل الأوامر التالية على عقد الكتلة الجديدة التي تريد إنشاءها.
[A] تثبيت أو تحديث utils بادئ iSCSI على جميع عقد نظام المجموعة.
sudo yum install -y iscsi-initiator-utils
[A] تثبيت حزم نظام المجموعة وSBD على جميع عقد نظام المجموعة.
sudo yum install -y pcs pacemaker sbd fence-agents-sbd
[A] تمكين خدمة iSCSI.
sudo systemctl enable iscsid iscsi
[1] تغيير اسم البادئ على العقدة الأولى من نظام المجموعة.
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] تغيير اسم البادئ على العقدة الثانية من نظام المجموعة.
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] أعد تشغيل خدمة iSCSI لتطبيق التغييرات.
sudo systemctl restart iscsid sudo systemctl restart iscsi
[A] الاتصال بأجهزة iSCSI. في المثال التالي، 10.0.0.17 هو عنوان IP لخادم الهدف iSCSI، و 3260 هو المنفذ الافتراضي. يتم سرد الاسم
iqn.2006-04.ascsnw1.local:ascsnw1
الهدف عند تشغيل الأمرiscsiadm -m discovery
الأول .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] إذا كنت تستخدم أجهزة SBD متعددة، فاتصل أيضا بالخادم الهدف الثاني iSCSI.
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] إذا كنت تستخدم أجهزة SBD متعددة، فاتصل أيضا بالخادم الهدف الثالث iSCSI.
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 ولاحظ اسم الجهاز. في المثال التالي، يتم اكتشاف ثلاثة أجهزة iSCSI عن طريق توصيل العقدة بثلاثة خوادم هدف iSCSI.
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.
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
يسرد الأمر ثلاثة معرّفات جهاز لكل جهاز SBD. نوصي باستخدام المعرف الذي يبدأ بـ scsi-3. في المثال السابق، المعرفات هي:
- /dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2
- /dev/disk/by-id/scsi-3600140587122bfc8a0b4006b538d0a6d
- /dev/disk/by-id/scsi-36001405d2ddc548060c49e7bb792bb65
[1] قم بإنشاء جهاز SBD.
استخدم معرف الجهاز لأجهزة iSCSI لإنشاء أجهزة SBD الجديدة على عقدة المجموعة الأولى.
sudo sbd -d /dev/disk/by-id/scsi-3600140585d254ed78e24ec48b0decac2 -1 60 -4 120 create
قم أيضًا بإنشاء جهاز SBD الثاني والثالث إذا كنت تريد استخدام أكثر من جهاز.
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
افتح ملف تكوين SBD.
sudo vi /etc/sysconfig/sbd
قم بتغيير خاصية جهاز SBD، وتمكين تكامل جهاز تنظيم ضربات القلب، وتغيير وضع بدء SBD.
[...] 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] قم بتشغيل الأمر التالي لتحميل الوحدة النمطية
softdog
.modprobe softdog
[A] قم بتشغيل الأمر التالي للتأكد من
softdog
تحميله تلقائيا بعد إعادة تشغيل العقدة.echo softdog > /etc/modules-load.d/watchdog.conf systemctl restart systemd-modules-load
[A] يتم تعيين قيمة مهلة خدمة SBD إلى 90 ثانية بشكل افتراضي. ومع ذلك، إذا
SBD_DELAY_START
تم تعيين القيمة إلىyes
، فإن خدمة SBD ستؤخر بدء تشغيلها حتى بعد انتهاء المهلةmsgwait
. لذلك، يجب أن تتجاوز قيمة مهلة خدمة SBD المهلةmsgwait
عندSBD_DELAY_START
تمكينها.sudo mkdir /etc/systemd/system/sbd.service.d echo -e "[Service]\nTimeoutSec=144" | sudo tee /etc/systemd/system/sbd.service.d/sbd_delay_start.conf sudo systemctl daemon-reload systemctl show sbd | grep -i timeout # TimeoutStartUSec=2min 24s # TimeoutStopUSec=2min 24s
SBD مع قرص Azure المشترك
ينطبق هذا القسم فقط إذا كنت تريد استخدام جهاز SBD مع قرص مشترك ل Azure.
تكوين قرص Azure المشترك باستخدام PowerShell
لإنشاء قرص مشترك Azure وإرفاقه باستخدام PowerShell، نفذ التعليمات التالية. إذا كنت تريد نشر الموارد باستخدام Azure CLI أو مدخل Azure، يمكنك أيضًا الرجوع إلى نشر قرص ZRS.
$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
}
إعداد جهاز SBD للقرص المشترك في Azure
[A] تثبيت حزم نظام المجموعة وSBD على جميع عقد نظام المجموعة.
sudo yum install -y pcs pacemaker sbd fence-agents-sbd
[A] تأكد من توفر القرص المرفق.
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] استرداد معرف الجهاز للقرص المشترك المرفق.
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
معرف جهاز قائمة الأوامر للقرص المشترك المرفق. نوصي باستخدام المعرف الذي يبدأ بـ scsi-3. في هذا المثال، المعرف هو /dev/disk/by-id/scsi-3600224800792c2f5cc7e55cb3cef0107.
[1] إنشاء جهاز SBD
# 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
افتح ملف تكوين SBD.
sudo vi /etc/sysconfig/sbd
تغيير خاصية جهاز SBD وتمكين تكامل جهاز تنظيم ضربات القلب وتغيير وضع بدء SBD
[...] SBD_DEVICE="/dev/disk/by-id/scsi-3600224800792c2f5cc7e55cb3cef0107" [...] SBD_PACEMAKER=yes [...] SBD_STARTMODE=always [...] SBD_DELAY_START=yes [...]
[A] قم بتشغيل الأمر التالي لتحميل الوحدة النمطية
softdog
.modprobe softdog
[A] قم بتشغيل الأمر التالي للتأكد من
softdog
تحميله تلقائيا بعد إعادة تشغيل العقدة.echo softdog > /etc/modules-load.d/watchdog.conf systemctl restart systemd-modules-load
[A] يتم تعيين قيمة مهلة خدمة SBD إلى 90 ثانية بشكل افتراضي. ومع ذلك، إذا
SBD_DELAY_START
تم تعيين القيمة إلىyes
، فإن خدمة SBD ستؤخر بدء تشغيلها حتى بعد انتهاء المهلةmsgwait
. لذلك، يجب أن تتجاوز قيمة مهلة خدمة SBD المهلةmsgwait
عندSBD_DELAY_START
تمكينها.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
يستخدم جهاز التسييج إما هوية مدارة لمورد Azure أو كيان خدمة للتخويل مقابل Azure. اعتمادا على طريقة إدارة الهوية، اتبع الإجراءات المناسبة -
تكوين إدارة الهوية
استخدم الهوية المدارة أو كيان الخدمة.
لإنشاء هوية مدارة (MSI)، قم بإنشاء هوية مدارة يعينها النظام لكل جهاز ظاهري في نظام المجموعة. إذا كانت الهوية المدارة المعينة من قبل النظام موجودة بالفعل، استخدامها. لا تستخدم الهويات المدارة المعينة من قبل المستخدم مع Pacemaker في هذا الوقت. يتم دعم جهاز السياج، استنادا إلى الهوية المدارة، على RHEL 7.9 و RHEL 8.x/RHEL 9.x.
إنشاء دور مخصص لعامل التسييج
لا تملك كل من الهوية المدارة ومدير الخدمة أذونات للوصول إلى موارد Azure بشكل افتراضي. تحتاج إلى منح الهوية المدارة أو أذونات كيان الخدمة لبدء وإيقاف (إيقاف التشغيل) جميع الأجهزة الظاهرية لنظام المجموعة. إذا لم تكن قد أنشأت الدور المخصص بالفعل، يمكنك إنشاؤه باستخدام PowerShell أو Azure CLI.
استخدم المحتوى التالي لملف الإدخال. تحتاج إلى تكييف المحتوى مع اشتراكاتك، أي استبدال
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ومعرفاتyyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
اشتراكك. إذا كان لديك اشتراك واحد فقط، فقم بإزالة الإدخال الثاني فيAssignableScopes
.{ "Name": "Linux Fence Agent Role", "description": "Allows to power-off and start virtual machines", "assignableScopes": [ "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "/subscriptions/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" ], "actions": [ "Microsoft.Compute/*/read", "Microsoft.Compute/virtualMachines/powerOff/action", "Microsoft.Compute/virtualMachines/start/action" ], "notActions": [], "dataActions": [], "notDataActions": [] }
تعيين الدور المخصص
استخدم الهوية المدارة أو كيان الخدمة.
تعيين الدور
Linux Fence Agent Role
المخصص الذي تم إنشاؤه في القسم الأخير لكل هوية مدارة من الأجهزة الظاهرية لنظام المجموعة. تحتاج كل هوية مُدارة يعينها نظام VM إلى الدور المعين لكل مورد لمجموعة VM. للمزيد من المعلومات، راجع تعيين الوصول إلى هوية مدارة إلى مورد باستخدام مدخل Azure. تحقق من أن تعيين دور الهوية المدارة لكل جهاز ظاهري يحتوي على جميع الأجهزة الظاهرية لنظام المجموعة.هام
يجب أن تدرك أن تعيين وإزالة التخويل مع الهويات المدارة يمكن تأخيرها حتى تصبح فعالة .
تثبيت المجموعة
يتم وضع علامة على الاختلافات في الأوامر أو التكوين بين RHEL 7 و RHEL 8/RHEL 9 في المستند.
[A] تثبيت الوظيفة الإضافية RHEL HA.
sudo yum install -y pcs pacemaker nmap-ncat
[A] على RHEL 9.x، قم بتثبيت عوامل الموارد لنشر السحابة.
sudo yum install -y resource-agents-cloud
[A] قم بتثبيت حزمة عوامل السياج إذا كنت تستخدم جهاز تسييج استنادا إلى عامل سياج Azure.
sudo yum install -y fence-agents-azure-arm
هام
نوصي بالإصدارات التالية من عامل Azure fence (أو أحدث) للعملاء الذين يرغبون في استخدام الهويات المدارة لموارد Azure بدلا من الأسماء الأساسية للخدمة لعامل السياج:
- RHEL 8.4: fence-agents-4.2.1-54.el8.
- RHEL 8.2: fence-agents-4.2.1-41.el8_2.4
- RHEL 8.1: fence-agents-4.2.1-30.el8_1.4
- RHEL 7.9: fence-agents-4.2.1-41.el7_9.4.
هام
في RHEL 9، نوصي بإصدارات الحزمة التالية (أو أحدث) لتجنب المشكلات مع عامل سياج Azure:
- عوامل السياج-4.10.0-20.el9_0.7
- fence-agents-common-4.10.0-20.el9_0.6
- ha-cloud-support-4.10.0-20.el9_0.6.x86_64.rpm
تحقق من إصدار Azure fence agent. إذا لزم الأمر، فقم بتحديثه إلى الحد الأدنى المطلوب من الإصدار أو أحدث.
# Check the version of the Azure Fence Agent sudo yum info fence-agents-azure-arm
هام
إذا كنت بحاجة إلى تحديث عامل Azure fence، وإذا كنت تستخدم دورا مخصصا، فتأكد من تحديث الدور المخصص لتضمين powerOff للإجراء. لمزيد من المعلومات، راجع إنشاء دور مخصص لعامل السياج.
[A] إعداد دقة اسم المضيف.
يمكنك إما استخدام خادم DNS أو تعديل الملف على
/etc/hosts
جميع العقد. يوضح هذا المثال كيفية استخدام ملف/etc/hosts
. استبدل عنوان IP واسم المضيف في الأوامر التالية.هام
إذا كنت تستخدم أسماء المضيفين في تكوين نظام المجموعة، فمن الضروري أن يكون لديك دقة موثوقة لاسم المضيف. يفشل اتصال نظام المجموعة إذا لم تكن الأسماء متوفرة، ما قد يؤدي إلى تأخيرات تجاوز فشل نظام المجموعة.
تتمثل فائدة الاستخدام
/etc/hosts
في أن نظام المجموعة الخاص بك يصبح مستقلا عن DNS، والذي قد يكون نقطة فشل واحدة أيضا.sudo vi /etc/hosts
أدرج الأسطر التالية في
/etc/hosts
. قم بتغيير عنوان IP واسم المضيف لمطابقة بيئتك.# 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] تغيير
hacluster
كلمة المرور إلى نفس كلمة المرور.sudo passwd hacluster
[A] إضافة قواعد جدار الحماية ل Pacemaker.
أضف قواعد جدار الحماية التالية إلى جميع اتصالات المجموعة بين عقد المجموعة.
sudo firewall-cmd --add-service=high-availability --permanent sudo firewall-cmd --add-service=high-availability
[A] تمكين خدمات نظام المجموعة الأساسية.
قم بتشغيل الأوامر التالية لتمكين خدمة Pacemaker وبدء تشغيلها.
sudo systemctl start pcsd.service sudo systemctl enable pcsd.service
[1] إنشاء نظام مجموعة Pacemaker.
قم بتشغيل الأوامر التالية لمصادقة العقد وإنشاء المجموعة. قم بتعيين الرمز المميز إلى 30000 للسماح بالحفاظ على الذاكرة الصيانة. لمزيد من المعلومات، راجع this article for Linux.
إذا كنت تقوم بإنشاء نظام مجموعة على RHEL 7.x، فاستخدم الأوامر التالية:
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، فاستخدم الأوامر التالية:
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
تحقق من حالة نظام المجموعة عن طريق تشغيل الأمر التالي:
# 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] تعيين الأصوات المتوقعة.
# 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
تلميح
إذا كنت تقوم بإنشاء مجموعة متعددة العقد، أي مجموعة بها أكثر من عقدتين، فلا تقم بتعيين الأصوات إلى 2.
[1] السماح بإجراءات السياج المتزامنة.
sudo pcs property set concurrent-fencing=true
إنشاء جهاز الحد على مجموعة منظم القلب
تلميح
- لتجنب سباقات السياج داخل نظام مجموعة منظم ضربات القلب ثنائية العقدة، يمكنك تكوين
priority-fencing-delay
خاصية نظام المجموعة. تقدم هذه الخاصية تأخيرا إضافيا في تسييج عقدة ذات أولوية إجمالية أعلى للموارد عند حدوث سيناريو تقسيم الدماغ. لمزيد من المعلومات، راجع هل يمكن ل Pacemaker سياج عقدة نظام المجموعة بأقل الموارد قيد التشغيل؟. - تنطبق الخاصية
priority-fencing-delay
على إصدار Pacemaker 2.0.4-6.el8 أو أعلى وعلى نظام مجموعة مكون من عقدتين. إذا قمت بتكوينpriority-fencing-delay
خاصية نظام المجموعة، فلن تحتاج إلى تعيين الخاصيةpcmk_delay_max
. ولكن إذا كان إصدار Pacemaker أقل من 2.0.4-6.el8، فأنت بحاجة إلى تعيين الخاصيةpcmk_delay_max
. - للحصول على إرشادات حول كيفية تعيين
priority-fencing-delay
خاصية نظام المجموعة، راجع مستندات SAP ASCS/ERS المعنية وSAP HANA لزيادة قابلية الوصول العالية.
استنادا إلى آلية التسييج المحددة، اتبع قسما واحدا فقط للحصول على الإرشادات ذات الصلة: SBD كجهاز تسييج أو عامل سياج Azure كجهاز تسييج.
SBD كجهاز تسييج
[A] تمكين خدمة SBD
sudo systemctl enable sbd
[1] بالنسبة لجهاز SBD الذي تم تكوينه باستخدام خوادم هدف iSCSI أو قرص Azure المشترك، قم بتشغيل الأوامر التالية.
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] إعادة تشغيل نظام المجموعة
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
إشعار
إذا واجهت الخطأ التالي أثناء بدء تشغيل نظام مجموعة أجهزة تنظيم ضربات القلب، يمكنك تجاهل الرسالة. بدلا من ذلك، يمكنك بدء تشغيل نظام المجموعة باستخدام الأمر
pcs cluster start --all --request-timeout 140
.خطأ: غير قادر على بدء تشغيل جميع العقد node1/node2: غير قادر على الاتصال بالعقدة1/node2، تحقق مما إذا كان pcsd قيد التشغيل هناك أو حاول تعيين مهلة أعلى مع
--request-timeout
خيار (انتهت مهلة العملية بعد 60000 مللي ثانية مع تلقي 0 بايت)
عامل سياج Azure كجهاز تسييج
[1] بعد تعيين أدوار لكل من عقد نظام المجموعة، يمكنك تكوين أجهزة التسييج في نظام المجموعة.
sudo pcs property set stonith-timeout=900 sudo pcs property set stonith-enabled=true
[1] تشغيل الأمر المناسب اعتمادا على ما إذا كنت تستخدم هوية مدارة أو كيان خدمة لعامل سياج Azure.
إشعار
عند استخدام سحابة Azure government، يجب تحديد
cloud=
خيار عند تكوين عامل السياج. على سبيل المثال،cloud=usgov
بالنسبة إلى سحابة حكومة Azure الأمريكية. للحصول على تفاصيل حول دعم RedHat على سحابة Azure government، راجع نهج الدعم لمجموعات قابلية الوصول العالية RHEL - أجهزة Microsoft Azure الظاهرية كأعضاء نظام المجموعة.تلميح
الخيار
pcmk_host_map
مطلوب فقط في الأمر إذا لم تكن أسماء مضيفي RHEL وأسماء Azure VM متطابقة. حدد التعيين بتنسيق hostname:vm-name. لمزيد من المعلومات، راجع ما التنسيق الذي يجب استخدامه لتحديد تعيينات العقد لأجهزة التسييج في pcmk_host_map؟.بالنسبة ل RHEL 7.x، استخدم الأمر التالي لتكوين جهاز السياج:
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، استخدم الأمر التالي لتكوين جهاز السياج:
# 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
إذا كنت تستخدم جهاز تسييج يستند إلى تكوين كيان الخدمة، فاقرأ التغيير من SPN إلى MSI لمجموعات Pacemaker باستخدام تسييج Azure وتعلم كيفية التحويل إلى تكوين الهوية المدارة.
تم إلغاء تسلسل عمليات المراقبة والحد الزمني. ونتيجة لذلك، إذا كانت هناك عملية مراقبة قيد التشغيل وحدث تسييج متزامن، فلن يكون هناك تأخير في تجاوز فشل نظام المجموعة لأن عملية المراقبة قيد التشغيل بالفعل.
تلميح
يتطلب عامل سياج Azure اتصالا صادرا بنقاط النهاية العامة. لمزيد من المعلومات جنبا إلى جنب مع الحلول الممكنة، راجع اتصال نقطة النهاية العامة للأجهزة الظاهرية باستخدام ILB القياسي.
تكوين Pacemaker للأحداث المجدولة في Azure
يقدم Azure الأحداث المجدولة. يتم إرسال الأحداث المجدولة عبر خدمة بيانات التعريف وتسمح بوقت التطبيق للتحضير لمثل هذه الأحداث.
يراقب عامل azure-events-az
موارد Pacemaker أحداث Azure المجدولة. إذا تم الكشف عن الأحداث وحدد عامل المورد توفر عقدة نظام مجموعة أخرى، فإنه يعين سمة صحة نظام المجموعة.
عند تعيين سمة صحة نظام المجموعة لعقدة، يتم تشغيل قيد الموقع ويتم ترحيل جميع الموارد التي لا تبدأ بالأسماء health-
بعيدا عن العقدة مع الحدث المجدول. بعد أن تكون عقدة نظام المجموعة المتأثرة خالية من تشغيل موارد نظام المجموعة، يتم الاعتراف بالحدث المجدول ويمكنه تنفيذ الإجراء الخاص به، مثل إعادة التشغيل.
[A] تأكد من أن حزمة العامل مثبتة
azure-events-az
بالفعل ومحدثة.RHEL 8.x: sudo dnf info resource-agents RHEL 9.x: sudo dnf info resource-agents-cloud
الحد الأدنى لمتطلبات الإصدار:
- 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 والأحدث:
resource-agents-cloud-4.10.0-34.1
- RHEL 8.4:
[1] قم بتكوين الموارد في Pacemaker.
#Place the cluster in maintenance mode sudo pcs property set maintenance-mode=true
[1] تعيين استراتيجية عقدة صحة نظام مجموعة Pacemaker والقيد.
sudo pcs property set node-health-strategy=custom sudo pcs constraint location 'regexp%!health-.*' \ rule score-attribute='#health-azure' \ defined '#uname'
هام
لا تحدد أي موارد أخرى في نظام المجموعة بدءا
health-
من إلى جانب الموارد الموضحة في الخطوات التالية.[1] تعيين القيمة الأولية لسمات نظام المجموعة. قم بتشغيل لكل عقدة نظام مجموعة وبيئات توسيع النطاق بما في ذلك الجهاز الظاهري لصانع الأغلبية.
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. تأكد من أن الموارد تبدأ ب
health-azure
.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 من وضع الصيانة.
sudo pcs property set maintenance-mode=false
قم بإلغاء تحديد أي أخطاء أثناء التمكين وتحقق من أن
health-azure-events
الموارد قد بدأت بنجاح على جميع عقد نظام المجموعة.sudo pcs resource cleanup
قد يستغرق تنفيذ الاستعلام لأول مرة للأحداث المجدولة ما يصل إلى دقيقتين. يمكن أن يستخدم اختبار Pacemaker مع الأحداث المجدولة إجراءات إعادة التشغيل أو إعادة التوزيع للأجهزة الظاهرية لنظام المجموعة. لمزيد من المعلومات، راجع الأحداث المجدولة.
تكوين التحديد الاختياري
تلميح
ينطبق هذا القسم فقط إذا كنت تريد تكوين جهاز fence_kdump
التسييج الخاص .
إذا كنت بحاجة إلى جمع معلومات تشخيصية داخل الجهاز الظاهري، فقد يكون من المفيد تكوين جهاز تسييج آخر استنادا إلى عامل fence_kdump
السياج . يمكن للعامل fence_kdump
اكتشاف أن عقدة دخلت استرداد تعطل kdump ويمكن أن تسمح بإكمال خدمة استرداد الأعطال قبل استدعاء أساليب التسييج الأخرى. لاحظ أن fence_kdump
ليس بديلا لآليات السياج التقليدية، مثل SBD أو عامل سياج Azure، عند استخدام أجهزة Azure الظاهرية.
هام
يجب أن تدرك أنه عند fence_kdump
تكوينه كجهاز تسييج من المستوى الأول، فإنه يقدم تأخيرات في عمليات التسييج، وعلى التوالي، التأخيرات في تجاوز فشل موارد التطبيق.
إذا تم الكشف عن تفريغ الأعطال بنجاح، يتم تأخير التسييج حتى تكتمل خدمة استرداد الأعطال. إذا كانت العقدة الفاشلة غير قابلة للوصول أو إذا لم تستجب، يتم تأخير التسييج حسب الوقت المحدد، وعدد التكرارات المكونة، والمهلة fence_kdump
. لمزيد من المعلومات، راجع كيف أعمل تكوين fence_kdump في مجموعة Red Hat Pacemaker؟.
قد تحتاج المهلة المقترحة fence_kdump
إلى التكيف مع البيئة المحددة.
نوصي بتكوين fence_kdump
التسييج فقط عند الضرورة لجمع التشخيصات داخل الجهاز الظاهري ودائما بالاشتراك مع أساليب السياج التقليدية، مثل SBD أو عامل سياج Azure.
تحتوي مقالات Red Hat KB التالية على معلومات مهمة حول تكوين التسييج fence_kdump
:
- راجع كيف أعمل تكوين fence_kdump في نظام مجموعة Red Hat Pacemaker؟.
- راجع كيفية تكوين/إدارة مستويات التسييج في مجموعة RHEL باستخدام Pacemaker.
- راجع فشل fence_kdump مع "المهلة بعد X ثانية" في مجموعة RHEL 6 أو 7 HA مع kexec-tools أقدم من 2.0.14.
- للحصول على معلومات حول كيفية تغيير المهلة الافتراضية، راجع كيف أعمل تكوين kdump للاستخدام مع الوظيفة الإضافية RHEL 6 و7 و8 HA؟.
- للحصول على معلومات حول كيفية تقليل تأخير تجاوز الفشل عند استخدام
fence_kdump
، راجع هل يمكنني تقليل التأخير المتوقع لتجاوز الفشل عند إضافة تكوين fence_kdump؟.
قم بتشغيل الخطوات الاختيارية التالية لإضافتها fence_kdump
كتكوين تسييج من المستوى الأول، بالإضافة إلى تكوين عامل سياج Azure.
[A] تحقق من أن
kdump
يكون نشطا ومكونا.systemctl is-active kdump # Expected result # active
[A] ثبت عامل التحديد
fence_kdump
.yum install fence-agents-kdump
[1] إنشاء
fence_kdump
جهاز تسييج في نظام المجموعة.pcs stonith create rsc_st_kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="prod-cl1-0 prod-cl1-1" timeout=30
[1] تكوين مستويات التسييج بحيث يتم إشراك آلية التسييج
fence_kdump
أولا.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] السماح بالمنافذ المطلوبة من
fence_kdump
خلال جدار الحماية.firewall-cmd --add-port=7410/udp firewall-cmd --add-port=7410/udp --permanent
[A] قم بإجراء
fence_kdump_nodes
التكوين في/etc/kdump.conf
لتجنبfence_kdump
الفشل مع مهلة لبعضkexec-tools
الإصدارات. لمزيد من المعلومات، راجع مهلة fence_kdump عندما لا يتم تحديد fence_kdump_nodes مع kexec-tools الإصدار 2.0.15 أو أحدث ويفشل fence_kdump مع "المهلة بعد X ثانية" في نظام مجموعة قابلية وصول عالية التوفر RHEL 6 أو 7 مع إصدارات أدوات kexec الأقدم من 2.0.14. يتم تقديم مثال التكوين لنظام مجموعة من عقدتين هنا. بعد إجراء تغيير في/etc/kdump.conf
، يجب إعادة إنشاء صورة kdump. لإعادة إنشاء الخدمة، أعد تشغيلkdump
الخدمة.vi /etc/kdump.conf # On node prod-cl1-0 make sure the following line is added fence_kdump_nodes prod-cl1-1 # On node prod-cl1-1 make sure the following line is added fence_kdump_nodes prod-cl1-0 # Restart the service on each node systemctl restart kdump
[A] تأكد من
initramfs
أن ملف الصورة يحتوي على الملفينfence_kdump
وhosts
. لمزيد من المعلومات، راجع كيف أعمل تكوين fence_kdump في مجموعة Red Hat Pacemaker؟.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
اختبر التكوين عن طريق تحطيم عقدة. لمزيد من المعلومات، راجع كيف أعمل تكوين fence_kdump في مجموعة Red Hat Pacemaker؟.
هام
إذا كان نظام المجموعة قيد الاستخدام الإنتاجي بالفعل، فخطط الاختبار وفقا لذلك لأن تعطل عقدة له تأثير على التطبيق.
echo c > /proc/sysrq-trigger
الخطوات التالية
- راجع تخطيط الأجهزة الظاهرية Azure وتنفيذها ل SAP.
- راجع توزيع أجهزة Azure الظاهرية ل SAP.
- راجع توزيع Azure Virtual Machines DBMS ل SAP.
- لمعرفة كيفية إنشاء قابلية وصول عالية والتخطيط للتعافي من الكوارث من SAP HANA على أجهزة Azure الظاهرية، راجع قابلية الوصول العالية ل SAP HANA على أجهزة Azure الظاهرية.