قابلية وصول عالية ل SAP HANA على أجهزة Azure الظاهرية على SUSE Linux Enterprise Server
لإنشاء قابلية وصول عالية في نشر SAP HANA محلي، يمكنك استخدام النسخ المتماثل لنظام SAP HANA أو التخزين المشترك.
حاليا على أجهزة Azure الظاهرية (VMs)، النسخ المتماثل لنظام SAP HANA على Azure هو وظيفة التوفر العالي المدعومة الوحيدة.
يتكون النسخ المتماثل لنظام SAP HANA من عقدة أساسية واحدة وعقدة ثانوية واحدة على الأقل. يتم نسخ التغييرات على البيانات في العقدة الأساسية إلى عقدة ثانوية بشكل متزامن أو بشكل غير متزامن.
توضح هذه المقالة كيفية نشر الأجهزة الظاهرية وتكوينها، وتثبيت إطار عمل نظام المجموعة، وتثبيت النسخ المتماثل لنظام SAP HANA وتكوينه.
قبل البدء، اقرأ ملاحظات وأوراق SAP التالية:
- 1928533 ملاحظة SAP. تتضمن الملاحظة ما يلي:
- قائمة أحجام Azure VM المدعومة لنشر برنامج SAP.
- معلومات هامة عن السعة لأحجام أجهزة Azure الظاهرية.
- مجموعات برامج SAP ونظام التشغيل (OS) وقاعدة البيانات المدعومة.
- إصدارات SAP kernel المطلوبة لنظامي التشغيل Windows وLinux على Microsoft Azure.
- توضح ملاحظة SAP رقم 2015553 المتطلبات الأساسية لعمليات توزيع برامج SAP المدعمة في Azure.
- أوصى SAP Note 2205917 بإعدادات نظام التشغيل ل SUSE Linux Enterprise Server 12 (SLES 12) لتطبيقات SAP.
- أوصى SAP Note 2684254 بإعدادات نظام التشغيل ل SUSE Linux Enterprise Server 15 (SLES 15) لتطبيقات SAP.
- يحتوي SAP Note 2235581 على أنظمة تشغيل مدعومة من SAP HANA
- يحتوي SAP Note 2178632 على معلومات مفصلة حول جميع مقاييس المراقبة التي تم الإبلاغ عنها ل SAP في Azure.
- SAP Note 2191498 لديه إصدار عامل مضيف SAP المطلوب ل Linux في Azure.
- SAP Note 2243692 لديه معلومات حول ترخيص SAP ل Linux في Azure.
- تحتوي ملاحظة SAP رقم 1984787 على معلومات عامة حول خادم المؤسسة SUSE Linux 12.
- تحتوي ملاحظة SAP رقم 1999351 على مزيد من المعلومات عن استكشاف الأخطاء وإصلاحها لملحق المراقبة المحسّن Azure لـ SAP.
- SAP Note 401162 يحتوي على معلومات حول كيفية تجنب أخطاء "العنوان قيد الاستخدام بالفعل" عند إعداد النسخ المتماثل لنظام HANA.
- يحتوي SAP Community Support Wiki على جميع ملاحظات SAP المطلوبة ل Linux.
- منصات IaaS المعتمدة من SAP HANA.
- دليل تخطيط وتنفيذ أجهزة Azure الظاهرية لـ SAP على Linux.
- دليل توزيع أجهزة Azure الظاهرية ل SAP على Linux .
- دليل نشر Azure Virtual Machines DBMS لـ SAP على Linux.
- أدلة أفضل ممارسات SUSE Linux Enterprise Server for SAP Applications 15 وأدلة أفضل ممارسات SUSE Linux Enterprise Server for SAP Applications 12:
- إعداد SAP HANA SR Performance Optimized Infrastructure (SLES لتطبيقات SAP). يحتوي الدليل على جميع المعلومات المطلوبة لإعداد النسخ المتماثل لنظام SAP HANA للتطوير المحلي. استخدم هذا الدليل كخط أساس.
- إعداد بنية أساسية محسنة لتكلفة SAP HANA SR (SLES لتطبيقات SAP).
التخطيط لقابلية الوصول العالية ل SAP HANA
لتحقيق قابلية وصول عالية، قم بتثبيت SAP HANA على جهازين ظاهريين. يتم نسخ البيانات باستخدام النسخ المتماثل لنظام HANA.
يستخدم إعداد النسخ المتماثل لنظام SAP HANA اسم مضيف ظاهري مخصص وعناوين IP ظاهرية. في Azure، تحتاج إلى موازن تحميل لنشر عنوان IP ظاهري.
يوضح الشكل السابق مثال على موازن التحميل الذي يحتوي على هذه التكوينات:
- عنوان IP للواجهة الأمامية: 10.0.0.13 ل HN1-db
- منفذ الفحص: 62503
تجهيز البنية التحتية
يتم تضمين عامل المورد لـ SAP HANA في SUSE Linux Enterprise Server لـ SAP Applications. تتوفر صورة ل SUSE Linux Enterprise Server لتطبيقات SAP 12 أو 15 في Azure Marketplace. يمكنك استخدام الصورة لنشر أجهزة ظاهرية جديدة.
نشر نظام تشغيل أجهزة Linux الظاهرية يدوياً عبر مدخل Microsoft Azure
يفترض هذا المستند أنك قمت بالفعل بنشر مجموعة موارد وشبكة Azure الظاهرية والشبكة الفرعية.
نشر الأجهزة الظاهرية ل SAP HANA. اختر صورة SLES مناسبة مدعومة لنظام HANA. يمكنك نشر الجهاز الظاهري في أي من خيارات التوفر - مجموعة مقياس الجهاز الظاهري أو منطقة التوفر أو مجموعة التوفر.
هام
تأكد من أن نظام التشغيل الذي تحدده معتمد من SAP ل SAP HANA على أنواع الأجهزة الظاهرية المحددة التي تخطط لاستخدامها في التوزيع الخاص بك. يمكنك البحث عن أنواع الأجهزة الظاهرية المعتمدة من SAP HANA وإصدارات نظام التشغيل الخاصة بها في أنظمة IaaS الأساسية المعتمدة من SAP HANA. تأكد من إلقاء نظرة على تفاصيل نوع الجهاز الظاهري للحصول على القائمة الكاملة لإصدارات نظام التشغيل المدعومة من SAP HANA لنوع الجهاز الظاهري المحدد.
تكوين موازن تحميل Azure
أثناء تكوين الجهاز الظاهري، لديك خيار لإنشاء أو تحديد الخروج من موازن التحميل في قسم الشبكات. اتبع الخطوات التالية، لإعداد موازن التحميل القياسي لإعداد قابلية الوصول العالية لقاعدة بيانات HANA.
اتبع الخطوات الواردة في إنشاء موازن تحميل لإعداد موازن تحميل قياسي لنظام SAP عالي التوفر باستخدام مدخل Microsoft Azure. أثناء إعداد موازن التحميل، ضع في اعتبارك النقاط التالية:
- تكوين IP للواجهة الأمامية: إنشاء عنوان IP للواجهة الأمامية. حدد نفس اسم الشبكة الظاهرية والشبكة الفرعية مثل الأجهزة الظاهرية لقاعدة البيانات.
- تجمع الواجهة الخلفية: إنشاء تجمع خلفي وإضافة أجهزة ظاهرية لقاعدة البيانات.
- القواعد الواردة: إنشاء قاعدة موازنة التحميل. اتبع نفس الخطوات لكل من قواعد موازنة التحميل.
- عنوان IP للواجهة الأمامية: حدد عنوان IP للواجهة الأمامية.
- تجمع الواجهة الخلفية: حدد تجمعا خلفيا.
- منافذ قابلية الوصول العالية: حدد هذا الخيار.
- البروتوكول: حدد TCP.
- Health Probe: إنشاء مسبار صحي بالتفاصيل التالية:
- البروتوكول: حدد TCP.
- المنفذ: على سبيل المثال، 625<instance-no.>.
- الفاصل الزمني: أدخل 5.
- عتبة الفحص: أدخل 2.
- مهلة الخمول (بالدقائق): أدخل 30.
- تمكين IP العائم: حدد هذا الخيار.
إشعار
لا يتم احترام خاصية numberOfProbes
تكوين فحص السلامة ، والمعروفة باسم عتبة غير سليمة في المدخل. للتحكم في عدد التحقيقات المتتالية الناجحة أو الفاشلة، قم بتعيين الخاصية probeThreshold
إلى 2
. لا يمكن حاليا تعيين هذه الخاصية باستخدام مدخل Microsoft Azure، لذا استخدم إما Azure CLI أو أمر PowerShell .
لمزيد من المعلومات حول المنافذ المطلوبة SAP HANA، اقرأ الفصل الاتصالات بقواعد بيانات المستأجر في دليل قواعد بيانات المستأجرين SAP HANA أو ملاحظة SAP رقم 2388694.
إشعار
عندما يتم وضع الأجهزة الظاهرية التي لا تحتوي على عناوين IP عامة في التجمع الخلفي لمثيل قياسي داخلي (لا يوجد عنوان IP عام) ل Azure Load Balancer، فإن التكوين الافتراضي ليس اتصالا صادرا بالإنترنت. يمكنك اتخاذ خطوات إضافية للسماح للتوجيه إلى نقاط النهاية العامة. للحصول على تفاصيل حول كيفية تحقيق الاتصال الصادر، راجع اتصال نقطة النهاية العامة للأجهزة الظاهرية باستخدام Azure Standard Load Balancer في سيناريوهات قابلية الوصول العالية ل SAP.
هام
- لا تقم بتمكين الطوابع الزمنية TCP على أجهزة Azure الظاهرية التي يتم وضعها خلف Azure Load Balancer. سيؤدي تمكين طوابع TCP الزمنية إلى فشل فحوصات السلامة. تعيين المعلمة
net.ipv4.tcp_timestamps
إلى0
. للحصول على التفاصيل، راجع فحوصات صحة موازن التحميل أو ملاحظة SAP 2382421. - لمنع saptune من تغيير القيمة المعينة
net.ipv4.tcp_timestamps
يدويا من0
العودة إلى1
، قم بتحديث إصدار saptune إلى 3.1.1 أو أعلى. لمزيد من التفاصيل، راجع saptune 3.1.1 - هل أحتاج إلى التحديث؟.
إنشاء نظام مجموعة Pacemaker
اتبع الخطوات الواردة في إعداد Pacemaker على SUSE Linux Enterprise Server في Azure لإنشاء نظام مجموعة Pacemaker أساسي لخادم HANA هذا. يمكنك استخدام نظام مجموعة Pacemaker ذاته لـ SAP HANA وSAP NetWeaver (A)SCS.
تثبيت SAP HANA
الخطوات الموجودة في هذا القسم تستخدم البادئات التالية:
- [1]: تنطبق الخطوة على كل العقد.
- [1]: تنطبق الخطوة فقط على العقدة 1.
- [2]: تنطبق الخطوة فقط على العقدة 2 من نظام مجموعة Pacemaker.
استبدل <placeholders>
بقيم تثبيت SAP HANA.
[A]إعداد تخطيط القرص باستخدام Logical Volume Manager (LVM).
نوصي باستخدام LVM لوحدات التخزين التي تخزن البيانات وملفات السجل. يفترض المثال التالي أن الأجهزة الظاهرية تحتوي على أربعة أقراص بيانات مرفقة تستخدم لإنشاء وحدتي تخزين.
قم بتشغيل هذا الأمر لسرد جميع الأقراص المتوفرة:
ls /dev/disk/azure/scsi1/lun*
مثال على الإخراج:
/dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1 /dev/disk/azure/scsi1/lun2 /dev/disk/azure/scsi1/lun3
إنشاء وحدات تخزين فعلية لجميع الأقراص التي تريد استخدامها:
sudo pvcreate /dev/disk/azure/scsi1/lun0 sudo pvcreate /dev/disk/azure/scsi1/lun1 sudo pvcreate /dev/disk/azure/scsi1/lun2 sudo pvcreate /dev/disk/azure/scsi1/lun3
إنشاء مجموعة وحدة تخزين لملفات البيانات. استخدم مجموعة وحدة تخزين واحدة لملفات السجل ومجموعة وحدة تخزين واحدة للدليل المشترك ل SAP HANA:
sudo vgcreate vg_hana_data_<HANA SID> /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1 sudo vgcreate vg_hana_log_<HANA SID> /dev/disk/azure/scsi1/lun2 sudo vgcreate vg_hana_shared_<HANA SID> /dev/disk/azure/scsi1/lun3
إنشاء «logical volumes».
يتم إنشاء وحدة تخزين خطية عند استخدام
lvcreate
بدون-i
switch. نوصي بإنشاء وحدة تخزين خط الشريحة لتحسين أداء الإدخال/الإخراج. محاذاة أحجام الشريط إلى القيم الموضحة في تكوينات تخزين SAP HANA VM.-i
يجب أن تكون الوسيطة عدد وحدات التخزين الفعلية الأساسية، والوسيطة-I
هي حجم الشريط.على سبيل المثال، إذا تم استخدام وحدتي تخزين فعليتين لتخزين البيانات، يتم تعيين وسيطة
-i
التبديل إلى 2، وحجم الشريط الخاص بوحدة تخزين البيانات هو 256KiB. يتم استخدام وحدة تخزين فعلية واحدة لوحدة تخزين السجل، لذلك لا يتم استخدام أي-i
أو-I
رموز تبديل بشكل صريح لأوامر وحدة تخزين السجل.هام
عند استخدام أكثر من وحدة تخزين فعلية لكل وحدة تخزين بيانات أو وحدة تخزين سجل أو وحدة تخزين مشتركة، استخدم
-i
مفتاح التبديل وقم بتعيين عدد وحدات التخزين الفعلية الأساسية. عند إنشاء وحدة تخزين مخططة، استخدم-I
مفتاح التبديل لتحديد حجم الشريط.للحصول على تكوينات التخزين الموصى بها، بما في ذلك أحجام الشريط وعدد الأقراص، راجع تكوينات تخزين SAP HANA VM.
sudo lvcreate <-i number of physical volumes> <-I stripe size for the data volume> -l 100%FREE -n hana_data vg_hana_data_<HANA SID> sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_<HANA SID> sudo lvcreate -l 100%FREE -n hana_shared vg_hana_shared_<HANA SID> sudo mkfs.xfs /dev/vg_hana_data_<HANA SID>/hana_data sudo mkfs.xfs /dev/vg_hana_log_<HANA SID>/hana_log sudo mkfs.xfs /dev/vg_hana_shared_<HANA SID>/hana_shared
إنشاء دلائل التحميل ونسخ المعرف الفريد عالميا (UUID) لجميع وحدات التخزين المنطقية:
sudo mkdir -p /hana/data/<HANA SID> sudo mkdir -p /hana/log/<HANA SID> sudo mkdir -p /hana/shared/<HANA SID> # Write down the ID of /dev/vg_hana_data_<HANA SID>/hana_data, /dev/vg_hana_log_<HANA SID>/hana_log, and /dev/vg_hana_shared_<HANA SID>/hana_shared sudo blkid
قم بتحرير ملف /etc/fstab لإنشاء
fstab
إدخالات لوحدات التخزين المنطقية الثلاثة:sudo vi /etc/fstab
إدراج الأسطر التالية في ملف /etc/fstab :
/dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_data_<HANA SID>-hana_data> /hana/data/<HANA SID> xfs defaults,nofail 0 2 /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_log_<HANA SID>-hana_log> /hana/log/<HANA SID> xfs defaults,nofail 0 2 /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_shared_<HANA SID>-hana_shared> /hana/shared/<HANA SID> xfs defaults,nofail 0 2
تحميل وحدات التخزين الجديدة:
sudo mount -a
[A] إعداد تخطيط القرص باستخدام الأقراص العادية.
بالنسبة للأنظمة التجريبية، يمكنك وضع بيانات وملفات سجل HANA على قرص واحد.
إنشاء قسم على /dev/disk/azure/scsi1/lun0 وتنسيقه باستخدام XFS:
sudo sh -c 'echo -e "n\n\n\n\n\nw\n" | fdisk /dev/disk/azure/scsi1/lun0' sudo mkfs.xfs /dev/disk/azure/scsi1/lun0-part1 # Write down the ID of /dev/disk/azure/scsi1/lun0-part1 sudo /sbin/blkid sudo vi /etc/fstab
إدراج هذا السطر في /etc/fstabملف:
/dev/disk/by-uuid/<UUID> /hana xfs defaults,nofail 0 2
إنشاء الدليل الهدف ثم تحميل القرص:
sudo mkdir /hana sudo mount -a
[A] إعداد دقة اسم المضيف لجميع المضيفين.
يمكنك إما استخدام خادم DNS أو تعديل الملف /etc/hosts على جميع العُقد. يوضح لك هذا المثال كيفية استخدام ملف /etc/hosts . استبدل عناوين IP وأسماء المضيفين في الأوامر التالية.
تحرير ملف /etc/hosts:
sudo vi /etc/hosts
إدراج الأسطر التالية في ملف /etc/hosts . قم بتغيير عناوين IP وأسماء المضيفين لمطابقة بيئتك.
10.0.0.5 hn1-db-0 10.0.0.6 hn1-db-1
[A] تثبيت SAP HANA، باتباع وثائق SAP.
تكوين النسخ المتماثل للنظام SAP HANA 2.0
الخطوات الموجودة في هذا القسم تستخدم البادئات التالية:
- [1]: تنطبق الخطوة على كل العقد.
- [1]: تنطبق الخطوة فقط على العقدة 1.
- [2]: تنطبق الخطوة فقط على العقدة 2 من نظام مجموعة Pacemaker.
استبدل <placeholders>
بقيم تثبيت SAP HANA.
[1] إنشاء قاعدة بيانات المستأجر.
إذا كنت تستخدم SAP HANA 2.0 أو SAP HANA MDC، فبادر بإنشاء قاعدة بيانات مستأجر لنظام SAP NetWeaver.
قم بتشغيل الأمر التالي ك <HANA SID>adm:
hdbsql -u SYSTEM -p "<password>" -i <instance number> -d SYSTEMDB 'CREATE DATABASE <SAP SID> SYSTEM USER PASSWORD "<password>"'
[1] تكوين النسخ المتماثل للنظام على العقدة الأولى:
أولا، قم بنسخ قواعد البيانات احتياطيا ك <HANA SID>adm:
hdbsql -d SYSTEMDB -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for SYS>')" hdbsql -d <HANA SID> -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for HANA SID>')" hdbsql -d <SAP SID> -u SYSTEM -p "<password>" -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file for SAP SID>')"
ثم انسخ ملفات البنية الأساسية للمفتاح العام للنظام (PKI) إلى الموقع الثانوي:
scp /usr/sap/<HANA SID>/SYS/global/security/rsecssfs/data/SSFS_<HANA SID>.DAT hn1-db-1:/usr/sap/<HANA SID>/SYS/global/security/rsecssfs/data/ scp /usr/sap/<HANA SID>/SYS/global/security/rsecssfs/key/SSFS_<HANA SID>.KEY hn1-db-1:/usr/sap/<HANA SID>/SYS/global/security/rsecssfs/key/
إنشاء الموقع الأساسي:
hdbnsutil -sr_enable --name=<site 1>
[2] تكوين النسخ المتماثل للنظام على العقدة الثانية:
تسجيل العقدة الثانية لبدء النسخ المتماثل للنظام.
قم بتشغيل الأمر التالي ك <HANA SID>adm:
sapcontrol -nr <instance number> -function StopWait 600 10 hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2>
تنفيذ عوامل موارد HANA
يوفر SUSE حزمتي برامج مختلفتين لعامل موارد Pacemaker لإدارة SAP HANA. حزم البرامج SAPHanaSR وSAPHanaSR-angi تستخدم بناء جملة ومعلمات مختلفة قليلا وغير متوافقة. راجع ملاحظات ووثائق إصدار SUSE للحصول على التفاصيل والاختلافات بين SAPHanaSR وSAPHanaSR-angi. يغطي هذا المستند كلا الحزمتين في علامات تبويب منفصلة في المقاطع المعنية.
تحذير
لا تستبدل الحزمة SAPHanaSR بواسطة SAPHanaSR-angi في نظام مجموعة تم تكوينه بالفعل. تتطلب الترقية من SAPHanaSR إلى SAPHanaSR-angi إجراء محددا.
- [A] تثبيت حزم SAP HANA عالية التوافر:
قم بتشغيل الأمر التالي لتثبيت حزم قابلية الوصول العالية:
sudo zypper install SAPHanaSR
إعداد موفري SAP HANA HA/DR
يقوم موفرو SAP HANA HA/DR بتحسين التكامل مع نظام المجموعة وتحسين الكشف عند الحاجة إلى تجاوز فشل نظام المجموعة. البرنامج النصي الرئيسي هو SAPHanaSR (لحزمة SAPHanaSR) / susHanaSR (ل SAPHanaSR-angi). نوصي بشدة بتكوين خطاف SAPHanaSR/susHanaSR Python. بالنسبة إلى HANA 2.0 SPS 05 والإصدارات الأحدث، نوصي بتنفيذ كل من SAPHanaSR/susHanaSR وsusChkSrv hooks.
يوسع خطاف susChkSrv وظائف موفر SAPHanaSR/susHanaSR HA الرئيسي. يعمل عندما تتعطل عملية HANA hdbindexserver. إذا تعطلت عملية واحدة، تحاول HANA عادة إعادة تشغيلها. قد تستغرق إعادة تشغيل عملية خادم الفهرس وقتا طويلا، حيث لا تستجيب قاعدة بيانات HANA.
مع تنفيذ susChkSrv، يتم تنفيذ إجراء فوري وقابل للتكوين. يشغل الإجراء تجاوز الفشل في فترة المهلة المكونة بدلا من انتظار إعادة تشغيل عملية hdbindexserver على نفس العقدة.
- [A] إيقاف HANA على كلتا العقدتين.
قم بتشغيل التعليمات البرمجية التالية ك <sap-sid>adm:
sapcontrol -nr <instance number> -function StopSystem
[A] تثبيت خطافات النسخ المتماثل لنظام HANA. يجب تثبيت الخطافات على كل من عقد قاعدة بيانات HANA.
تلميح
يمكن تنفيذ خطاف SAPHanaSR Python فقط ل HANA 2.0. يجب أن تكون حزمة SAPHanaSR الإصدار 0.153 على الأقل.
يمكن تنفيذ خطاف SAPHanaSR-angi Python فقط ل HANA 2.0 SPS 05 والإصدارات الأحدث.
يتطلب خطاف susChkSrv Python تثبيت SAP HANA 2.0 SPS 05، ويجب تثبيت إصدار SAPHanaSR 0.161.1_BF أو أحدث.[A] ضبط global.ini على كل عقدة نظام مجموعة.
إذا لم يتم استيفاء متطلبات خطاف susChkSrv، فقم بإزالة الكتلة بأكملها
[ha_dr_provider_suschksrv]
من المعلمات التالية. يمكنك ضبط سلوكsusChkSrv
باستخدام المعلمةaction_on_lost
. القيم الصالحة هي [ignore
kill
|fence
stop
| | ].[ha_dr_provider_SAPHanaSR] provider = SAPHanaSR path = /usr/share/SAPHanaSR execution_order = 1 [ha_dr_provider_suschksrv] provider = susChkSrv path = /usr/share/SAPHanaSR execution_order = 3 action_on_lost = fence [trace] ha_dr_saphanasr = info
إذا أشرت إلى مسار المعلمة إلى الموقع الافتراضي
/usr/share/SAPHanaSR
، يتم تحديث رمز خطاف Python تلقائيا من خلال تحديثات نظام التشغيل أو تحديثات الحزمة. يستخدم HANA تحديثات التعليمات البرمجية للربط عند إعادة التشغيل التالية. باستخدام مسار اختياري خاص مثل/hana/shared/myHooks
، يمكنك فصل تحديثات نظام التشغيل عن إصدار hook الذي تستخدمه.[A] يتطلب نظام المجموعة تكوين sudoers على كل عقدة نظام مجموعة لsap-sid <>adm. في هذا المثال، يتم تحقيق ذلك عن طريق إنشاء ملف جديد.
قم بتشغيل الأمر التالي كجذر. استبدل <sid> بمعرف نظام SAP بأحرف صغيرة، <ومعرف SID> بمعرف نظام SAP بأحرف كبيرة، و <siteA/B> بأسماء مواقع HANA المختارة.
cat << EOF > /etc/sudoers.d/20-saphana # Needed for SAPHanaSR and susChkSrv Python hooks Cmnd_Alias SOK_SITEA = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteA> -v SOK -t crm_config -s SAPHanaSR Cmnd_Alias SFAIL_SITEA = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteA> -v SFAIL -t crm_config -s SAPHanaSR Cmnd_Alias SOK_SITEB = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteB> -v SOK -t crm_config -s SAPHanaSR Cmnd_Alias SFAIL_SITEB = /usr/sbin/crm_attribute -n hana_<sid>_site_srHook_<siteB> -v SFAIL -t crm_config -s SAPHanaSR Cmnd_Alias HELPER_TAKEOVER = /usr/sbin/SAPHanaSR-hookHelper --sid=<SID> --case=checkTakeover Cmnd_Alias HELPER_FENCE = /usr/sbin/SAPHanaSR-hookHelper --sid=<SID> --case=fenceMe <sid>adm ALL=(ALL) NOPASSWD: SOK_SITEA, SFAIL_SITEA, SOK_SITEB, SFAIL_SITEB, HELPER_TAKEOVER, HELPER_FENCE EOF
للحصول على تفاصيل حول تنفيذ ربط النسخ المتماثل لنظام SAP HANA، راجع إعداد موفري HANA HA/DR.
[A] بدء SAP Hana على كلتا العقدتين. قم بتشغيل الأمر التالي كsap-sid <>adm:
sapcontrol -nr <instance number> -function StartSystem
[1] تحقق من تثبيت الربط. قم بتشغيل الأمر التالي كsap-sid <>adm على موقع النسخ المتماثل لنظام HANA النشط:
cdtrace awk '/ha_dr_SAPHanaSR.*crm_attribute/ \ { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_* # Example output # 2021-04-08 22:18:15.877583 ha_dr_SAPHanaSR SFAIL # 2021-04-08 22:18:46.531564 ha_dr_SAPHanaSR SFAIL # 2021-04-08 22:21:26.816573 ha_dr_SAPHanaSR SOK
- [1] تحقق من تثبيت ربط susChkSrv.
قم بتشغيل الأمر التالي ك <sap-sid>adm على أجهزة HANA الظاهرية:
cdtrace egrep '(LOST:|STOP:|START:|DOWN:|init|load|fail)' nameserver_suschksrv.trc # Example output # 2022-11-03 18:06:21.116728 susChkSrv.init() version 0.7.7, parameter info: action_on_lost=fence stop_timeout=20 kill_signal=9 # 2022-11-03 18:06:27.613588 START: indexserver event looks like graceful tenant start # 2022-11-03 18:07:56.143766 START: indexserver event looks like graceful tenant start (indexserver started)
إنشاء مجموعة موارد نظام SAP HANA
- [1] أولا، قم بإنشاء مورد مخطط HANA.
تشغيل الأوامر التالية على إحدى عقد كتلة Pacemaker:
sudo crm configure property maintenance-mode=true
# Replace <placeholders> with your instance number and HANA system ID
sudo crm configure primitive rsc_SAPHanaTopology_<HANA SID>_HDB<instance number> ocf:suse:SAPHanaTopology \
operations \$id="rsc_sap2_<HANA SID>_HDB<instance number>-operations" \
op monitor interval="10" timeout="600" \
op start interval="0" timeout="600" \
op stop interval="0" timeout="300" \
params SID="<HANA SID>" InstanceNumber="<instance number>"
sudo crm configure clone cln_SAPHanaTopology_<HANA SID>_HDB<instance number> rsc_SAPHanaTopology_<HANA SID>_HDB<instance number> \
meta clone-node-max="1" target-role="Started" interleave="true"
- [1] بعد ذلك، قم بإنشاء موارد HANA:
إشعار
تحتوي هذه المقالة على مراجع للمصطلحات التي لم تعد Microsoft تستخدمها. عند إزالة هذه المصطلحات من البرنامج، سنقوم بإزالتها من هذه المقالة.
# Replace <placeholders> with your instance number and HANA system ID.
sudo crm configure primitive rsc_SAPHana_<HANA SID>_HDB<instance number> ocf:suse:SAPHana \
operations \$id="rsc_sap_<HANA SID>_HDB<instance number>-operations" \
op start interval="0" timeout="3600" \
op stop interval="0" timeout="3600" \
op promote interval="0" timeout="3600" \
op monitor interval="60" role="Master" timeout="700" \
op monitor interval="61" role="Slave" timeout="700" \
params SID="<HANA SID>" InstanceNumber="<instance number>" PREFER_SITE_TAKEOVER="true" \
DUPLICATE_PRIMARY_TIMEOUT="7200" AUTOMATED_REGISTER="false"
# Run the following command if the cluster nodes are running on SLES 12 SP05.
sudo crm configure ms msl_SAPHana_<HANA SID>_HDB<instance number> rsc_SAPHana_<HANA SID>_HDB<instance number> \
meta notify="true" clone-max="2" clone-node-max="1" \
target-role="Started" interleave="true"
# Run the following command if the cluster nodes are running on SLES 15 SP03 or later.
sudo crm configure clone msl_SAPHana_<HANA SID>_HDB<instance number> rsc_SAPHana_<HANA SID>_HDB<instance number> \
meta notify="true" clone-max="2" clone-node-max="1" \
target-role="Started" interleave="true" promotable="true"
sudo crm resource meta msl_SAPHana_<HANA SID>_HDB<instance number> set priority 100
- [1] متابعة موارد نظام المجموعة ل IPs الظاهرية والإعدادات الافتراضية والقيود.
# Replace <placeholders> with your instance number, HANA system ID, and the front-end IP address of the Azure load balancer.
sudo crm configure primitive rsc_ip_<HANA SID>_HDB<instance number> ocf:heartbeat:IPaddr2 \
meta target-role="Started" \
operations \$id="rsc_ip_<HANA SID>_HDB<instance number>-operations" \
op monitor interval="10s" timeout="20s" \
params ip="<front-end IP address>"
sudo crm configure primitive rsc_nc_<HANA SID>_HDB<instance number> azure-lb port=625<instance number> \
op monitor timeout=20s interval=10 \
meta resource-stickiness=0
sudo crm configure group g_ip_<HANA SID>_HDB<instance number> rsc_ip_<HANA SID>_HDB<instance number> rsc_nc_<HANA SID>_HDB<instance number>
sudo crm configure colocation col_saphana_ip_<HANA SID>_HDB<instance number> 4000: g_ip_<HANA SID>_HDB<instance number>:Started \
msl_SAPHana_<HANA SID>_HDB<instance number>:Master
sudo crm configure order ord_SAPHana_<HANA SID>_HDB<instance number> Optional: cln_SAPHanaTopology_<HANA SID>_HDB<instance number> \
msl_SAPHana_<HANA SID>_HDB<instance number>
# Clean up the HANA resources. The HANA resources might have failed because of a known issue.
sudo crm resource cleanup rsc_SAPHana_<HANA SID>_HDB<instance number>
sudo crm configure property priority-fencing-delay=30
sudo crm configure property maintenance-mode=false
sudo crm configure rsc_defaults resource-stickiness=1000
sudo crm configure rsc_defaults migration-threshold=5000
هام
نوصي بتعيين AUTOMATED_REGISTER
إلى false
فقط أثناء إكمال اختبارات تجاوز الفشل الشاملة، لمنع مثيل أساسي فاشل من التسجيل تلقائيا كثانوي. عند اكتمال اختبارات تجاوز الفشل بنجاح، قم بتعيين AUTOMATED_REGISTER
إلى true
، بحيث بعد الاستيلاء، يستأنف النسخ المتماثل للنظام تلقائيا.
تأكد من أن حالة نظام المجموعة هي OK
وأن كافة الموارد بدأت. لا يهم العقدة التي تعمل عليها الموارد.
sudo crm_mon -r
# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started hn1-db-0
# Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
# Started: [ hn1-db-0 hn1-db-1 ]
# Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
# Masters: [ hn1-db-0 ]
# Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_HDB03
# rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0
# rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
تكوين النسخ المتماثل لنظام HANA النشط/الممكن للقراءة في نظام مجموعة Pacemaker
في SAP HANA 2.0 SPS 01 والإصدارات الأحدث، يسمح SAP بإعداد نشط/مفعل للقراءة للنسخ المتماثل لنظام SAP HANA. في هذا السيناريو، يمكن استخدام الأنظمة الثانوية للنسخ المتماثل لنظام SAP HANA بنشاط لأحمال العمل كثيفة القراءة.
لدعم هذا الإعداد في نظام مجموعة، مطلوب عنوان IP ظاهري ثان بحيث يمكن للعملاء الوصول إلى قاعدة بيانات SAP HANA الثانوية الممكنة للقراءة. للتأكد من أنه لا يزال يمكن الوصول إلى موقع النسخ المتماثل الثانوي بعد الاستيلاء، يحتاج نظام المجموعة إلى نقل عنوان IP الظاهري مع الثانوي لمورد SAPHana.
يصف هذا القسم الخطوات الإضافية المطلوبة لإدارة النسخ المتماثل لنظام HANA النشط/الممكن للقراءة في نظام مجموعة قابلية وصول عالية SUSE يستخدم عنوان IP ظاهري ثان.
قبل المتابعة، تأكد من تكوين مجموعة SUSE عالية التوفر بالكامل التي تدير قاعدة بيانات SAP HANA كما هو موضح في الأقسام السابقة.
إعداد موازن التحميل للنسخ المتماثل للنظام النشط/الممكن للقراءة
لمتابعة الخطوات الإضافية لتوفير IP الظاهري الثاني، تأكد من تكوين Azure Load Balancer كما هو موضح في نشر أجهزة Linux الظاهرية يدويا عبر مدخل Microsoft Azure.
بالنسبة إلى موازن التحميل القياسي ، أكمل هذه الخطوات الإضافية على نفس موازن التحميل الذي قمت بإنشائه سابقا.
- إنشاء تجمع IP للواجهة الأمامية الثانية:
- افتح جزء موازن التحميل، وحدد مجموعة IP الواجهة الأمامية، وحدد إضافة.
- أدخل اسم مجموعة IP الواجهة الأمامية الثاني (على سبيل المثال، hana-secondaryIP).
- اضبط التعيين إلى ثابت وأدخل عنوان IP (على سبيل المثال، 10.0.0.14).
- حدد موافق.
- بعد إنشاء تجمع IP للواجهة الأمامية الجديد، لاحظ عنوان IP للواجهة الأمامية.
- إنشاء فحص صحة:
- في موازن التحميل، حدد health probes، وحدد Add.
- أدخل اسم فحص السلامة الجديد (على سبيل المثال، hana-secondaryhp).
- حدد TCP كرقم مثيل> البروتوكول والمنفذ 626<. الاحتفاظ بتعيين قيمة الفاصل الزمني إلى 5، وتعيين قيمة الحد غير السليم إلى 2.
- حدد موافق.
- إنشاء قواعد موازنة التحميل:
- في موازن التحميل، حدد قواعد موازنة التحميل، وحدد إضافة.
- أدخل اسم قاعدة موازن التحميل الجديد (على سبيل المثال،hana-secondarylb).
- حدد عنوان IP الواجهة الأمامية ومجموعة الواجهة الخلفية وفحص السلامة الذي قمت بإنشائه سابقًا (على سبيل المثال،hana-secondaryIP وhana-backend وhana-secondaryhp).
- حدد منافذ HA.
- زيادة مهلة الخمول إلى 30 دقيقة.
- تأكد من تمكين IP العائم.
- حدد موافق.
إعداد النسخ المتماثل لنظام HANA النشط/الممكن للقراءة
يتم وصف خطوات تكوين النسخ المتماثل لنظام HANA في تكوين النسخ المتماثل لنظام SAP HANA 2.0. إذا كنت تقوم بنشر سيناريو ثانوي ممكن للقراءة، عند إعداد النسخ المتماثل للنظام على العقدة الثانية، قم بتشغيل الأمر التالي ك <HANA SID>adm:
sapcontrol -nr <instance number> -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> --operationMode=logreplay_readaccess
إضافة مورد عنوان IP ظاهري ثانوي
يمكنك إعداد IP الظاهري الثاني وقيد colocation المناسب باستخدام الأوامر التالية:
crm configure property maintenance-mode=true
crm configure primitive rsc_secip_<HANA SID>_HDB<instance number> ocf:heartbeat:IPaddr2 \
meta target-role="Started" \
operations \$id="rsc_secip_<HANA SID>_HDB<instance number>-operations" \
op monitor interval="10s" timeout="20s" \
params ip="<secondary IP address>"
crm configure primitive rsc_secnc_<HANA SID>_HDB<instance number> azure-lb port=626<instance number> \
op monitor timeout=20s interval=10 \
meta resource-stickiness=0
crm configure group g_secip_<HANA SID>_HDB<instance number> rsc_secip_<HANA SID>_HDB<instance number> rsc_secnc_<HANA SID>_HDB<instance number>
crm configure colocation col_saphana_secip_<HANA SID>_HDB<instance number> 4000: g_secip_<HANA SID>_HDB<instance number>:Started \
msl_SAPHana_<HANA SID>_HDB<instance number>:Slave
crm configure property maintenance-mode=false
تأكد من أن حالة نظام المجموعة هي OK
وأن كافة الموارد بدأت. يتم تشغيل IP الظاهري الثاني على الموقع الثانوي جنبا إلى جنب مع مورد SAPHana الثانوي.
sudo crm_mon -r
# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started hn1-db-0
# Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
# Started: [ hn1-db-0 hn1-db-1 ]
# Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
# Masters: [ hn1-db-0 ]
# Slaves: [ hn1-db-1 ]
# Resource Group: g_ip_HN1_HDB03
# rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0
# rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
# Resource Group: g_secip_HN1_HDB03:
# rsc_secip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
# rsc_secnc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
يصف القسم التالي المجموعة النموذجية من اختبارات تجاوز الفشل لتنفيذها.
الاعتبارات عند اختبار نظام مجموعة HANA التي تم تكوينها مع ثانوي ممكن للقراءة:
عند ترحيل
SAPHana_<HANA SID>_HDB<instance number>
مورد نظام المجموعة إلىhn1-db-1
، ينتقل IP الظاهري الثاني إلىhn1-db-0
. إذا قمت بتكوينAUTOMATED_REGISTER="false"
النسخ المتماثل لنظام HANA ولم يتم تسجيله تلقائيا، يتم تشغيلhn1-db-0
IP الظاهري الثاني لأن الخادم متوفر وخدمات نظام المجموعة متصلة.عند اختبار تعطل الخادم، يتم تشغيل موارد IP الظاهرية الثانية (
rsc_secip_<HANA SID>_HDB<instance number>
) ومورد منفذ موازن تحميل Azure (rsc_secnc_<HANA SID>_HDB<instance number>
) على الخادم الأساسي جنبا إلى جنب مع موارد IP الظاهرية الأساسية. أثناء توقف الخادم الثانوي، تتصل التطبيقات المتصلة بقاعدة بيانات HANA الممكنة للقراءة بقاعدة بيانات HANA الأساسية. السلوك متوقع لأنك لا تريد أن تكون التطبيقات المتصلة بقاعدة بيانات HANA الممكنة للقراءة غير قابلة للوصول أثناء عدم توفر الخادم الثانوي.عندما يتوفر الخادم الثانوي وتكون خدمات نظام المجموعة متصلة، تنتقل موارد IP والمنفذ الظاهرية الثانية تلقائيا إلى الخادم الثانوي، على الرغم من أن النسخ المتماثل لنظام HANA قد لا يتم تسجيله كثانوي. تأكد من تسجيل قاعدة بيانات HANA الثانوية كممكنة للقراءة قبل بدء خدمات نظام المجموعة على هذا الخادم. يمكنك تكوين مورد نظام مجموعة مثيل HANA لتسجيل الثانوي تلقائيا عن طريق تعيين المعلمة
AUTOMATED_REGISTER="true"
.أثناء تجاوز الفشل والتراجع، قد تتم مقاطعة الاتصالات الموجودة للتطبيقات، والتي تستخدم بعد ذلك عنوان IP الظاهري الثاني للاتصال بقاعدة بيانات HANA.
اختبار إعداد نظام الكتل
يوضح هذا القسم كيفية اختبار الإعداد. يفترض كل اختبار أنك سجلت الدخول كجذر وأن SAP HANA الرئيسي يعمل على hn1-db-0
الجهاز الظاهري.
اختبار الترحيل
قبل بدء الاختبار، تأكد من أن Pacemaker لا يحتوي على أي إجراء فاشل (تشغيل crm_mon -r
)، وأنه لا توجد قيود موقع غير متوقعة (على سبيل المثال، بقايا اختبار الترحيل)، وأن HANA في حالة مزامنة، على سبيل المثال، عن طريق تشغيل SAPHanaSR-showAttr
.
hn1-db-0:~ # SAPHanaSR-showAttr
Sites srHook
----------------
SITE2 SOK
Global cib-time
--------------------------------
global Mon Aug 13 11:26:04 2018
Hosts clone_state lpa_hn1_lpt node_state op_mode remoteHost roles score site srmode sync_state version vhost
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
hn1-db-0 PROMOTED 1534159564 online logreplay nws-hana-vm-1 4:P:master1:master:worker:master 150 SITE1 sync PRIM 2.00.030.00.1522209842 nws-hana-vm-0
hn1-db-1 DEMOTED 30 online logreplay nws-hana-vm-0 4:S:master1:master:worker:master 100 SITE2 sync SOK 2.00.030.00.1522209842 nws-hana-vm-1
يمكنك ترحيل عقدة SAP HANA الرئيسية عن طريق تشغيل الأمر التالي:
crm resource move msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1 force
ستقوم المجموعة بترحيل عقدة SAP HANA الرئيسية والمجموعة التي تحتوي على عنوان IP الظاهري إلى hn1-db-1
.
عند الانتهاء من الترحيل، crm_mon -r
يبدو الإخراج مثل هذا المثال:
Online: [ hn1-db-0 hn1-db-1 ]
Full list of resources:
stonith-sbd (stonith:external/sbd): Started hn1-db-1
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
Masters: [ hn1-db-1 ]
Stopped: [ hn1-db-0 ]
Resource Group: g_ip_HN1_HDB03
rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
Failed Actions:
* rsc_SAPHana_HN1_HDB03_start_0 on hn1-db-0 'not running' (7): call=84, status=complete, exitreason='none',
last-rc-change='Mon Aug 13 11:31:37 2018', queued=0ms, exec=2095ms
مع AUTOMATED_REGISTER="false"
، لن يعيد نظام المجموعة تشغيل قاعدة بيانات HANA الفاشلة أو تسجيلها مقابل الأساسي الجديد على hn1-db-0
. في هذه الحالة، قم بتكوين مثيل HANA كثانوي عن طريق تشغيل هذا الأمر:
su - <hana sid>adm
# Stop the HANA instance, just in case it is running
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> sapcontrol -nr <instance number> -function StopWait 600 10
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
ينشئ الترحيل قيود الموقع التي تحتاج إلى حذف مرة أخرى:
# Switch back to root and clean up the failed state
exit
hn1-db-0:~ # crm resource clear msl_SAPHana_<HANA SID>_HDB<instance number>
تحتاج أيضا إلى تنظيف حالة مورد العقدة الثانوية:
hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
مراقبة حالة مورد HANA باستخدام crm_mon -r
. عند بدء تشغيل HANA على hn1-db-0
، يبدو الإخراج مثل هذا المثال:
Online: [ hn1-db-0 hn1-db-1 ]
Full list of resources:
stonith-sbd (stonith:external/sbd): Started hn1-db-1
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
Masters: [ hn1-db-1 ]
Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_HDB03
rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
حظر اتصال الشبكة
حالة المورد قبل بدء الاختبار:
Online: [ hn1-db-0 hn1-db-1 ]
Full list of resources:
stonith-sbd (stonith:external/sbd): Started hn1-db-1
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03]
Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03]
Masters: [ hn1-db-1 ]
Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_HDB03
rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1
rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
تنفيذ قاعدة جدار الحماية لحظر الاتصال على إحدى العقد.
# Execute iptable rule on hn1-db-1 (10.0.0.6) to block the incoming and outgoing traffic to hn1-db-0 (10.0.0.5)
iptables -A INPUT -s 10.0.0.5 -j DROP; iptables -A OUTPUT -d 10.0.0.5 -j DROP
عندما لا تتمكن عقد نظام المجموعة من الاتصال ببعضها البعض، فهناك خطر من سيناريو انقسام الدماغ. في مثل هذه الحالات، ستحاول عقد نظام المجموعة سياج بعضها البعض في وقت واحد، مما يؤدي إلى سباق السياج.
عند تكوين جهاز تسييج، يوصى بتكوين الخاصية pcmk_delay_max
. لذلك، في حالة سيناريو تقسيم الدماغ، يقدم نظام المجموعة تأخيرا عشوائيا يصل إلى pcmk_delay_max
القيمة، إلى إجراء التسييج على كل عقدة. سيتم تحديد العقدة ذات أقصر تأخير للتسييج.
بالإضافة إلى ذلك، للتأكد من أن العقدة التي تشغل HANA master تأخذ الأولوية وتفوز بسباق السياج في سيناريو تقسيم الدماغ، يوصى بتعيين priority-fencing-delay
خاصية في تكوين نظام المجموعة. من خلال تمكين خاصية تأخير تسييج الأولوية، يمكن أن يقدم نظام المجموعة تأخيرا إضافيا في إجراء التسييج على وجه التحديد على العقدة التي تستضيف مورد HANA الرئيسي، ما يسمح للعقدة بالفوز في سباق السياج.
تنفيذ الأمر أدناه لحذف قاعدة جدار الحماية.
# If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command.
iptables -D INPUT -s 10.0.0.5 -j DROP; iptables -D OUTPUT -d 10.0.0.5 -j DROP
اختبار SBD fencing
يمكنك اختبار إعداد SBD عن طريق قتل عملية inquisitor:
hn1-db-0:~ # ps aux | grep sbd
root 1912 0.0 0.0 85420 11740 ? SL 12:25 0:00 sbd: inquisitor
root 1929 0.0 0.0 85456 11776 ? SL 12:25 0:00 sbd: watcher: /dev/disk/by-id/scsi-360014056f268462316e4681b704a9f73 - slot: 0 - uuid: 7b862dba-e7f7-4800-92ed-f76a4e3978c8
root 1930 0.0 0.0 85456 11776 ? SL 12:25 0:00 sbd: watcher: /dev/disk/by-id/scsi-360014059bc9ea4e4bac4b18808299aaf - slot: 0 - uuid: 5813ee04-b75c-482e-805e-3b1e22ba16cd
root 1931 0.0 0.0 85456 11776 ? SL 12:25 0:00 sbd: watcher: /dev/disk/by-id/scsi-36001405b8dddd44eb3647908def6621c - slot: 0 - uuid: 986ed8f8-947d-4396-8aec-b933b75e904c
root 1932 0.0 0.0 90524 16656 ? SL 12:25 0:00 sbd: watcher: Pacemaker
root 1933 0.0 0.0 102708 28260 ? SL 12:25 0:00 sbd: watcher: Cluster
root 13877 0.0 0.0 9292 1572 pts/0 S+ 12:27 0:00 grep sbd
hn1-db-0:~ # kill -9 1912
<HANA SID>-db-<database 1>
يتم إعادة تشغيل عقدة نظام المجموعة. قد لا تتم إعادة تشغيل خدمة Pacemaker. تأكد من بدء تشغيله مرة أخرى.
اختبار تجاوز الفشل يدويًا
يمكنك اختبار تجاوز الفشل اليدوي عن طريق إيقاف خدمة Pacemaker على العقدة hn1-db-0
:
service pacemaker stop
بعد تجاوز الفشل، يمكنك بدء تشغيل الخدمة مرة أخرى. إذا قمت بتعيين AUTOMATED_REGISTER="false"
، يفشل مورد SAP HANA على العقدة في hn1-db-0
البدء كثانوية.
في هذه الحالة، قم بتكوين مثيل HANA كثانوي عن طريق تشغيل هذا الأمر:
service pacemaker start
su - <hana sid>adm
# Stop the HANA instance, just in case it is running
sapcontrol -nr <instance number> -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1>
# Switch back to root and clean up the failed state
exit
crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
اختبارات SUSE
هام
تأكد من أن نظام التشغيل الذي تحدده معتمد من SAP ل SAP HANA على أنواع الأجهزة الظاهرية المحددة التي تخطط لاستخدامها. يمكنك البحث عن أنواع الأجهزة الظاهرية المعتمدة من SAP HANA وإصدارات نظام التشغيل الخاصة بها في أنظمة IaaS الأساسية المعتمدة من SAP HANA. تأكد من إلقاء نظرة على تفاصيل نوع الجهاز الظاهري الذي تخطط لاستخدامه للحصول على القائمة الكاملة لإصدارات نظام التشغيل المدعومة من SAP HANA لنوع الجهاز الظاهري هذا.
قم بتشغيل جميع حالات الاختبار المدرجة في دليل سيناريو SAP HANA SR Performance Optimized أو دليل السيناريو المحسن لتكلفة SAP HANA SR، اعتمادا على السيناريو الخاص بك. يمكنك العثور على الأدلة المدرجة في SLES لأفضل ممارسات SAP.
الاختبارات التالية هي نسخة من أوصاف اختبار SAP HANA SR Performance Optimized Scenario SUSE Linux Enterprise Server for SAP Applications 12 SP1. للحصول على إصدار محدث، اقرأ الدليل نفسه أيضا. تأكد دائما من مزامنة HANA قبل بدء الاختبار، وتأكد من صحة تكوين Pacemaker.
في أوصاف الاختبار التالية، نفترض PREFER_SITE_TAKEOVER="true"
و AUTOMATED_REGISTER="false"
.
إشعار
تم تصميم الاختبارات التالية ليتم تشغيلها بالتسلسل. يعتمد كل اختبار على حالة الخروج من الاختبار السابق.
اختبار 1: إيقاف قاعدة البيانات الأساسية على العقدة 1.
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
قم بتشغيل الأوامر التالية ك <hana sid>adm على العقدة
hn1-db-0
:hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> HDB stop
يكتشف Pacemaker مثيل HANA المتوقف ويفشل في العقدة الأخرى. عند الانتهاء من تجاوز الفشل، يتم إيقاف مثيل HANA على العقدة
hn1-db-0
لأن Pacemaker لا يسجل العقدة تلقائيا ك HANA ثانوي.قم بتشغيل الأوامر التالية لتسجيل العقدة
hn1-db-0
كعقدة ثانوية وتنظيف المورد الفاشل:hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1> # run as root hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-1 ] Slaves: [ hn1-db-0 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
اختبار 2: إيقاف قاعدة البيانات الأساسية على العقدة 2.
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-1 ] Slaves: [ hn1-db-0 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
قم بتشغيل الأوامر التالية ك <hana sid>adm على العقدة
hn1-db-1
:hn1adm@hn1-db-1:/usr/sap/HN1/HDB01> HDB stop
يكتشف Pacemaker مثيل HANA المتوقف ويفشل في العقدة الأخرى. عند الانتهاء من تجاوز الفشل، يتم إيقاف مثيل HANA على العقدة
hn1-db-1
لأن Pacemaker لا يسجل العقدة تلقائيا ك HANA ثانوي.قم بتشغيل الأوامر التالية لتسجيل العقدة
hn1-db-1
كعقدة ثانوية وتنظيف المورد الفاشل:hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> # run as root hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
اختبار 3: تعطل قاعدة البيانات الأساسية على العقدة 1.
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
قم بتشغيل الأوامر التالية ك <hana sid>adm على العقدة
hn1-db-0
:hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> HDB kill-9
يكتشف Pacemaker مثيل HANA الذي تم قتله ويفشل في العقدة الأخرى. عند الانتهاء من تجاوز الفشل، يتم إيقاف مثيل HANA على العقدة
hn1-db-0
لأن Pacemaker لا يسجل العقدة تلقائيا ك HANA ثانوي.قم بتشغيل الأوامر التالية لتسجيل العقدة
hn1-db-0
كعقدة ثانوية وتنظيف المورد الفاشل:hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1> # run as root hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-1 ] Slaves: [ hn1-db-0 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
اختبار 4: تعطل قاعدة البيانات الأساسية على العقدة 2.
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-1 ] Slaves: [ hn1-db-0 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
قم بتشغيل الأوامر التالية ك <hana sid>adm على العقدة
hn1-db-1
:hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB kill-9
يكتشف Pacemaker مثيل HANA الذي تم قتله ويفشل في العقدة الأخرى. عند الانتهاء من تجاوز الفشل، يتم إيقاف مثيل HANA على العقدة
hn1-db-1
لأن Pacemaker لا يسجل العقدة تلقائيا ك HANA ثانوي.قم بتشغيل الأوامر التالية لتسجيل العقدة
hn1-db-1
كعقدة ثانوية وتنظيف المورد الفاشل.hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> # run as root hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
اختبار 5: تعطل عقدة الموقع الأساسي (العقدة 1).
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
قم بتشغيل الأوامر التالية كجذر على العقدة
hn1-db-0
:hn1-db-0:~ # echo 'b' > /proc/sysrq-trigger
يكتشف Pacemaker عقدة نظام المجموعة التي تم قتلها ويسور العقدة. عندما تكون العقدة مسورة، يقوم Pacemaker بتشغيل الاستيلاء على مثيل HANA. عند إعادة تشغيل العقدة المسورة، لا يبدأ Pacemaker تلقائيا.
قم بتشغيل الأوامر التالية لبدء Pacemaker، وتنظيف رسائل SBD للعقدة
hn1-db-0
، وتسجيل العقدةhn1-db-0
كثانوية، وتنظيف المورد الفاشل:# run as root # list the SBD device(s) hn1-db-0:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE= # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3" hn1-db-0:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-0 clear hn1-db-0:~ # systemctl start pacemaker # run as <hana sid>adm hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1> # run as root hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-1 ] Slaves: [ hn1-db-0 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
اختبار 6: تعطل عقدة الموقع الثانوي (العقدة 2).
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-1 ] Slaves: [ hn1-db-0 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
قم بتشغيل الأوامر التالية كجذر على العقدة
hn1-db-1
:hn1-db-1:~ # echo 'b' > /proc/sysrq-trigger
يكتشف Pacemaker عقدة نظام المجموعة التي تم قتلها ويسور العقدة. عندما تكون العقدة مسورة، يقوم Pacemaker بتشغيل الاستيلاء على مثيل HANA. عند إعادة تشغيل العقدة المسورة، لا يبدأ Pacemaker تلقائيا.
قم بتشغيل الأوامر التالية لبدء Pacemaker، وتنظيف رسائل SBD للعقدة
hn1-db-1
، وتسجيل العقدةhn1-db-1
كثانوية، وتنظيف المورد الفاشل:# run as root # list the SBD device(s) hn1-db-1:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE= # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3" hn1-db-1:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-1 clear hn1-db-1:~ # systemctl start pacemaker # run as <hana sid>adm hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> # run as root hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0 </code></pre>
اختبار 7: إيقاف قاعدة البيانات الثانوية على العقدة 2.
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
قم بتشغيل الأوامر التالية ك <hana sid>adm على العقدة
hn1-db-1
:hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB stop
يكتشف Pacemaker مثيل HANA المتوقف وي يضع علامة على المورد على أنه فشل على العقدة
hn1-db-1
. يقوم Pacemaker تلقائيا بإعادة تشغيل مثيل HANA.قم بتشغيل الأمر التالي لتنظيف الحالة الفاشلة:
# run as root hn1-db-1>:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
اختبار 8: تعطل قاعدة البيانات الثانوية على العقدة 2.
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
قم بتشغيل الأوامر التالية ك <hana sid>adm على العقدة
hn1-db-1
:hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> HDB kill-9
يكتشف Pacemaker مثيل HANA الذي تم قتله وي يميز المورد على أنه فشل على العقدة
hn1-db-1
. قم بتشغيل الأمر التالي لمسح الحالة الفاشلة. ثم يقوم Pacemaker بإعادة تشغيل مثيل HANA تلقائيا.# run as root hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> HN1-db-1
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
اختبار 9: تعطل عقدة الموقع الثانوي (العقدة 2) التي تقوم بتشغيل قاعدة بيانات HANA الثانوية.
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
قم بتشغيل الأوامر التالية كجذر على العقدة
hn1-db-1
:hn1-db-1:~ # echo b > /proc/sysrq-trigger
يكتشف Pacemaker عقدة نظام المجموعة التي تم قتلها ويجدد العقدة. عند إعادة تشغيل العقدة المسورة، لا يبدأ Pacemaker تلقائيا.
قم بتشغيل الأوامر التالية لبدء Pacemaker، وتنظيف رسائل SBD للعقدة
hn1-db-1
، وتنظيف المورد الفاشل:# run as root # list the SBD device(s) hn1-db-1:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE= # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3" hn1-db-1:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message hn1-db-1 clear hn1-db-1:~ # systemctl start pacemaker hn1-db-1:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-1
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
اختبار 10: تعطل خادم فهرس قاعدة البيانات الأساسي
هذا الاختبار ذو صلة فقط عند إعداد خطاف susChkSrv كما هو موضح في تنفيذ عوامل موارد HANA.
حالة المورد قبل بدء الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-0 ] Slaves: [ hn1-db-1 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-0 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-0
قم بتشغيل الأوامر التالية كجذر على العقدة
hn1-db-0
:hn1-db-0:~ # killall -9 hdbindexserver
عند إنهاء خادم الفهرس، يكتشف خطاف susChkSrv الحدث ويشغل إجراء لسياج عقدة 'hn1-db-0' وبدء عملية الاستيلاء.
قم بتشغيل الأوامر التالية لتسجيل
hn1-db-0
العقدة كعقدة ثانوية وتنظيف المورد الفاشل:# run as <hana sid>adm hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=<instance number> --replicationMode=sync --name=<site 1> # run as root hn1-db-0:~ # crm resource cleanup msl_SAPHana_<HANA SID>_HDB<instance number> hn1-db-0
حالة المورد بعد الاختبار:
Clone Set: cln_SAPHanaTopology_HN1_HDB03 [rsc_SAPHanaTopology_HN1_HDB03] Started: [ hn1-db-0 hn1-db-1 ] Master/Slave Set: msl_SAPHana_HN1_HDB03 [rsc_SAPHana_HN1_HDB03] Masters: [ hn1-db-1 ] Slaves: [ hn1-db-0 ] Resource Group: g_ip_HN1_HDB03 rsc_ip_HN1_HDB03 (ocf::heartbeat:IPaddr2): Started hn1-db-1 rsc_nc_HN1_HDB03 (ocf::heartbeat:azure-lb): Started hn1-db-1
يمكنك تنفيذ حالة اختبار قابلة للمقارنة عن طريق التسبب في تعطل خادم الفهرس على العقدة الثانوية. في حالة تعطل خادم الفهرس، يتعرف خطاف susChkSrv على التكرار ويبدأ إجراء لسياج العقدة الثانوية.