قابلية وصول عالية من SAP HANA على الأجهزة الظاهرية لـ Azure على Red Hat Enterprise Linux

للتطوير المحلي، يمكنك استخدام النسخ المتماثل لنظام HANA أو التخزين المشترك لإنشاء قابلية وصول عالية (HA) ل SAP HANA. على أجهزة Azure الظاهرية، يعد النسخ المتماثل لنظام HANA على Azure حاليا وظيفة HA الوحيدة المدعومة.

يتكون SAP HANA Replication من عقدة أساسية واحدة وعلى الأقل عقدة ثانوية واحدة. يتم نسخ التغييرات على البيانات في العقدة الأساسية إلى عقدة ثانوية بشكل متزامن أو بشكل غير متزامن.

توضح هذه المقالة كيفية نشر الأجهزة الظاهرية (VMs) وتكوينها وتثبيت إطار عمل نظام المجموعة وتثبيت وتكوين النسخ المتماثل لنظام SAP HANA.

في المثال، يتم استخدام التكوينات، وأوامر التثبيت، ورقم المثيل03وHANA System ID HN1.

المتطلبات الأساسية

اقرأ ملاحظات وأوراق SAP التالية أولا:

نظرة عامة

لتحقيق قابلية الوصول العالية، يتم تثبيت SAP HANA على جهازين ظاهريين. يتم نسخ البيانات باستخدام HANA System Replication.

رسم تخطيطي يوضح نظرة عامة على قابلية الوصول العالية ل SAP HANA.

يستخدم إعداد النسخ المتماثل لنظام SAP HANA اسم مضيف ظاهري مخصص وعناوين IP ظاهرية. على Azure، يتطلب موازن تحميل لاستخدام عنوان IP ظاهري. يعرض التكوين المقدم موازنة التحميل مع:

  • عنوان IP للواجهة الأمامية: 10.0.0.13 لـ hn1-db
  • منفذ الفحص: 62503

تجهيز البنية التحتية

يحتوي Azure Marketplace على صور مؤهلة ل SAP HANA مع الوظيفة الإضافية عالية التوفر، والتي يمكنك استخدامها لنشر أجهزة ظاهرية جديدة باستخدام إصدارات مختلفة من Red Hat.

توزيع أجهزة Linux الظاهرية يدويا عبر مدخل Microsoft Azure

يفترض هذا المستند أنك قمت بالفعل بنشر مجموعة موارد وشبكة Azure الظاهرية وشبكة فرعية.

نشر الأجهزة الظاهرية ل SAP HANA. اختر صورة RHEL مناسبة مدعومة لنظام HANA. يمكنك نشر جهاز ظاهري في أي من خيارات التوفر: مجموعة مقياس الجهاز الظاهري أو منطقة التوفر أو مجموعة التوفر.

هام

تأكد من أن نظام التشغيل الذي تحدده معتمد من SAP ل SAP HANA على أنواع الأجهزة الظاهرية المحددة التي تخطط لاستخدامها في التوزيع الخاص بك. يمكنك البحث عن أنواع الأجهزة الظاهرية المعتمدة من SAP HANA وإصدارات نظام التشغيل الخاصة بها في أنظمة IaaS الأساسية المعتمدة من SAP HANA. تأكد من إلقاء نظرة على تفاصيل نوع الجهاز الظاهري للحصول على القائمة الكاملة لإصدارات نظام التشغيل المدعومة من SAP HANA لنوع الجهاز الظاهري المحدد.

تكوين موازن تحميل Azure

أثناء تكوين الجهاز الظاهري، لديك خيار لإنشاء أو تحديد الخروج من موازن التحميل في قسم الشبكات. اتبع الخطوات التالية، لإعداد موازن التحميل القياسي لإعداد قابلية الوصول العالية لقاعدة بيانات HANA.

اتبع الخطوات الواردة في إنشاء موازن تحميل لإعداد موازن تحميل قياسي لنظام SAP عالي التوفر باستخدام مدخل Microsoft Azure. أثناء إعداد موازن التحميل، ضع في اعتبارك النقاط التالية:

  1. تكوين IP للواجهة الأمامية: إنشاء عنوان IP للواجهة الأمامية. حدد نفس اسم الشبكة الظاهرية والشبكة الفرعية مثل الأجهزة الظاهرية لقاعدة البيانات.
  2. تجمع الواجهة الخلفية: إنشاء تجمع خلفي وإضافة أجهزة ظاهرية لقاعدة البيانات.
  3. القواعد الواردة: إنشاء قاعدة موازنة التحميل. اتبع نفس الخطوات لكل من قواعد موازنة التحميل.
    • عنوان 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 القياسي، لا يوجد اتصال بالإنترنت الصادر ما لم يتم إجراء المزيد من التكوين للسماح بالتوجه إلى نقاط النهاية العامة. لمزيد من المعلومات حول كيفية تحقيق الاتصال الصادر، راجع اتصال نقطة النهاية العامة للأجهزة الظاهرية باستخدام Azure Standard Load Balancer في سيناريوهات قابلية الوصول العالية ل SAP.

هام

لا تمكِّن طوابع TCP الزمنية على أجهزة Azure الظاهرية خلف Azure Load Balancer. قد يؤدي تمكين الطوابع الزمنية TCP إلى فشل فحوصات السلامة. عين المعلمة net.ipv4.tcp_timestamps على 0. لمزيد من المعلومات، راجع فحوصات صحة موازن التحميل وSAP Note 2382421.

تثبيت SAP HANA

الخطوات الموجودة في هذا القسم تستخدم البادئات التالية:

  • [1]: تنطبق الخطوة على كل العقد.
  • [1]: تنطبق الخطوة على العُقدة 1 فقط.
  • [2]: تنطبق الخطوة على العقدة 2 من كتلة Pacemake فقط.
  1. [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_HN1 /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1
    sudo vgcreate vg_hana_log_HN1 /dev/disk/azure/scsi1/lun2
    sudo vgcreate vg_hana_shared_HN1 /dev/disk/azure/scsi1/lun3
    

    إنشاء «logical volumes». يتم إنشاء وحدة تخزين خطية عند استخدامlvcreate بدون -iswitch. نوصي بإنشاء وحدة تخزين خط الشريحة لتحسين أداء الإدخال/الإخراج. حَاذِ أحجام خط الشريحة مع القيم الموثقة في تكوينات تخزين أجهزة SAP Hana الظاهرية. -i يجب أن تكون الوسيطة عدد وحدات التخزين الفعلية الأساسية، والوسيطة -I هي حجم الشريط.

    في هذه الحالة، تُستخدم وحدتَا تخزين فعليتان لوحدة تخزين البيانات؛ لذلك يتم ضبط نقطة-i switch على 2. حجم الشريط لحجم البيانات هو 256KiB. يتم استخدام وحدة تخزين فعلية واحدة لوحدة تخزين السجل، لذلك لا يتم استخدام أي -i أو -I رموز تبديل بشكل صريح لأوامر وحدة تخزين السجل.

    هام

    استخدم -i switch ثم اضبطه إلى عدد وحدة التخزين الفعلية الأساسية عند استخدام أكثر من وحدة تخزين فعلية لكل وحدة تخزين بيانات أو سجل أو وحدات تخزين مشتركة. استخدم المفتاح -I لتحديد حجم الشريط عند إنشاء وحدة تخزين خط الشريحة. راجع تكوينات تخزين الأجهزة الظاهرية لـ SAP HANA لتكوينات التخزين الموصى بها، بما في ذلك أحجام الخطوط وعدد الأقراص. لا تفي أمثلة التخطيط التالية بالضرورة بإرشادات الأداء لحجم نظام معين. إنها للتوضيح فقط.

    sudo lvcreate -i 2 -I 256 -l 100%FREE -n hana_data vg_hana_data_HN1
    sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_HN1
    sudo lvcreate -l 100%FREE -n hana_shared vg_hana_shared_HN1
    sudo mkfs.xfs /dev/vg_hana_data_HN1/hana_data
    sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log
    sudo mkfs.xfs /dev/vg_hana_shared_HN1/hana_shared
    

    لا تقم بتحميل الدلائل عن طريق إصدار أوامر التحميل. بدلا من ذلك، أدخل التكوينات في fstab وإصدار نهائي mount -a للتحقق من صحة بناء الجملة. ابدأ بإنشاء دلائل التحميل لكل وحدة تخزين:

    sudo mkdir -p /hana/data
    sudo mkdir -p /hana/log
    sudo mkdir -p /hana/shared
    

    بعد ذلك، قم بإنشاء fstab إدخالات لوحدات التخزين المنطقية الثلاثة عن طريق إدراج الأسطر التالية في /etc/fstab الملف:

    /dev/mapper/vg_hana_data_HN1-hana_data /hana/data xfs defaults,nofail 0 2 /dev/mapper/vg_hana_log_HN1-hana_log /hana/log xfs defaults,nofail 0 2 /dev/mapper/vg_hana_shared_HN1-hana_shared /hana/shared xfs defaults,nofail 0 2

    وأخيرا، قم بتحميل وحدات التخزين الجديدة كلها في وقت واحد:

    sudo mount -a
    
  2. [A] إعداد دقة اسم المضيف لجميع المضيفين.

    يمكنك إما استخدام خادم DNS أو تعديل /etc/hosts الملف على جميع العقد عن طريق إنشاء إدخالات لجميع العقد مثل هذا في /etc/hosts:

    10.0.0.5 hn1-db-0 10.0.0.6 hn1-db-1

  3. [A] تنفيذ RHEL لتكوين HANA.

    قم بتكوين RHEL كما هو موضح في الملاحظات التالية:

  4. [A] تثبيت SAP HANA.

    لتثبيت النسخ المتماثل لنظام SAP Hana، راجع Automating SAP HANA Scale-Up System Replication using the RHEL HA Add-On.

    تشغيل برنامج hdblcm من HANA DVD. أدخل القيم التالية في المطالبة:

    1. اختيار التثبيت: أدخل 1.
    2. اختيار مكونات إضافية للتثبيت: أدخل 1.
    3. أدخل مسار التثبيت [/hana/shared]: حدد Enter.
    4. أدخل اسم المضيف المحلي [..]: حدد إدخال.
    5. هل تريد إضافة مضيفين أخرين إلى النظام؟ (y/n) [n]: اختر Enter.
    6. أدخل معرف نظام SAP HANA: أدخل معرف SID ل HANA، على سبيل المثال: HN1.
    7. أدخل رقم المثيل [00]: أدخل رقم مثيل HANA. أدخل 03 إذا كنت تستخدم قالب Azure أو اتبعت قسم النشر اليدوي في هذه المقالة.
    8. اختر Database Mode / Enter Index [1]: اختر Enter.
    9. حدد استخدام النظام / أدخل الفهرس [4]: حدد قيمة استخدام النظام.
    10. أدخل موقع وحدات تخزين البيانات [/hana/data]: حدد Enter.
    11. أدخل موقع وحدات تخزين السجل [/hana/log]: حدد Enter.
    12. تقييد الحد الأقصى لتخصيص الذاكرة؟ [n]: اختر Enter.
    13. أدخل اسم مضيف الشهادة للمضيف '...' [...]: حدد Enter.
    14. أدخل كلمة مرور مستخدم عامل مضيف SAP (sapadm): أدخل كلمة مرور مستخدم عامل المضيف.
    15. تأكيد كلمة مرور مستخدم عامل مضيف SAP (sapadm): أدخل كلمة مرور مستخدم عامل المضيف مرة أخرى للتأكيد.
    16. أدخل كلمة مرور مسؤول النظام (hdbadm): أدخل كلمة مرور مسؤول النظام.
    17. تأكيد كلمة مرور مسؤول النظام (hdbadm): أدخل كلمة مرور مسؤول النظام مرة أخرى للتأكيد.
    18. أدخل System Administrator Home Directory [/usr/sap/HN1/home]: حدد Enter.
    19. أدخل System Administrator Login Shell [/bin/sh]: حدد Enter.
    20. أدخل معرف مستخدم مسؤول النظام [1001]: حدد إدخال.
    21. أدخل معرف مجموعة المستخدمين (sapsys) [79]: حدد Enter.
    22. أدخل كلمة مرور مستخدم قاعدة البيانات (النظام): أدخل كلمة مرور مستخدم قاعدة البيانات.
    23. تأكيد كلمة مرور مستخدم قاعدة البيانات (النظام): أدخل كلمة مرور مستخدم قاعدة البيانات مرة أخرى للتأكيد.
    24. إعادة تشغيل النظام بعد إعادة تشغيل الجهاز؟ [n]: اختر Enter.
    25. فهل ترغب في المتابعة؟ (y/n): تحقق من صحة الملخص. أدخلy للمتابعة.
  5. [A] ترقية SAP Host Agent.

    تحميل أحدث أرشيف SAP Host Agent من مركز برامج SAP وتشغيل الأمر التالي لترقية العامل. استبدال المسار إلى الأرشيف للإشارة إلى الملف الذي قمت بتنزيله:

    sudo /usr/sap/hostctrl/exe/saphostexec -upgrade -archive <path to SAP Host Agent>;
    
  6. [A] تكوين جدار الحماية.

    إنشاء قاعدة جدار الحماية لمنفذ فحص Azure Load Balancer.

    sudo firewall-cmd --zone=public --add-port=62503/tcp
    sudo firewall-cmd --zone=public --add-port=62503/tcp --permanent
    

تكوين SAP HANA 2.0 System Replication

الخطوات الموجودة في هذا القسم تستخدم البادئات التالية:

  • [1]: تنطبق الخطوة على كل العقد.
  • [1]: تنطبق الخطوة على العُقدة 1 فقط.
  • [2]: تنطبق الخطوة على العقدة 2 من كتلة Pacemake فقط.
  1. [A] تكوين جدار الحماية.

    إنشاء قواعد جدار الحماية للسماح بالنسخ المتماثل لنظام HANA وحركة مرور العميل. يتم سرد المنافذ المطلوبة في منافذ TCP/IP لجميع منتجات SAP. الأوامر التالية هي مجرد مثال للسماح ل HANA 2.0 System Replication وحركة مرور العميل إلى قاعدة البيانات SYSTEMDB وHN1 وNW1.

     sudo firewall-cmd --zone=public --add-port={40302,40301,40307,40303,40340,30340,30341,30342}/tcp --permanent
     sudo firewall-cmd --zone=public --add-port={40302,40301,40307,40303,40340,30340,30341,30342}/tcp
    
    
  2. [1] إنشاء قاعدة بيانات المستأجر.

    إذا كنت تستخدم SAP HANA 2.0 أو MDC، قم بإنشاء قاعدة بيانات المستأجر لنظام SAP NetWeaver الخاص بك. استبدل NW1 مع SID بنظامك SAP.

    يمكنك تشغيل الأمر التالي كـ <hanasid>adm:

    hdbsql -u SYSTEM -p "[passwd]" -i 03 -d SYSTEMDB 'CREATE DATABASE NW1 SYSTEM USER PASSWORD "<passwd>"'
    
  3. [1] تكوين النسخ المتماثل للنظام على العقدة الأولى.

    النسخ الاحتياطي لقواعد البيانات باسم <hanasid>adm:

    hdbsql -d SYSTEMDB -u SYSTEM -p "<passwd>" -i 03 "BACKUP DATA USING FILE ('initialbackupSYS')"
    hdbsql -d HN1 -u SYSTEM -p "<passwd>" -i 03 "BACKUP DATA USING FILE ('initialbackupHN1')"
    hdbsql -d NW1 -u SYSTEM -p "<passwd>" -i 03 "BACKUP DATA USING FILE ('initialbackupNW1')"
    

    نسخ ملفات PKI النظام إلى الموقع الثانوي:

    scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT   hn1-db-1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/
    scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY  hn1-db-1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
    

    إنشاء الموقع الأساسي:

    hdbnsutil -sr_enable --name=SITE1
    
  4. [2] تكوين النسخ المتماثل للنظام على العقدة الثانية.

    تسجيل العقدة الثانية لبدء النسخ المتماثل للنظام. يمكنك تشغيل الأمر التالي كـ <hanasid>adm:

    sapcontrol -nr 03 -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2
    
  5. [1] تحقق من حالة النسخ المتماثل.

    تحقق من حالة النسخ المتماثل وانتظر حتى تتم مزامنة جميع قواعد البيانات. إذا ظلت الحالة غير معروفة، فتحقق من إعدادات جدار الحماية.

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    # | Database | Host     | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary | Secondary | Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
    # |          |          |       |              |           |         |           | Host      | Port      | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
    # | -------- | -------- | ----- | ------------ | --------- | ------- | --------- | --------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
    # | SYSTEMDB | hn1-db-0 | 30301 | nameserver   |         1 |       1 | SITE1     | hn1-db-1  |     30301 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hn1-db-0 | 30307 | xsengine     |         2 |       1 | SITE1     | hn1-db-1  |     30307 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | NW1      | hn1-db-0 | 30340 | indexserver  |         2 |       1 | SITE1     | hn1-db-1  |     30340 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hn1-db-0 | 30303 | indexserver  |         3 |       1 | SITE1     | hn1-db-1  |     30303 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    #
    # status system replication site "2": ACTIVE
    # overall system replication status: ACTIVE
    #
    # Local System Replication State
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #
    # mode: PRIMARY
    # site id: 1
    # site name: SITE1
    

تكوين SAP HANA 1.0 System Replication

الخطوات الموجودة في هذا القسم تستخدم البادئات التالية:

  • [1]: تنطبق الخطوة على كل العقد.
  • [1]: تنطبق الخطوة على العُقدة 1 فقط.
  • [2]: تنطبق الخطوة على العقدة 2 من كتلة Pacemake فقط.
  1. [A] تكوين جدار الحماية.

    إنشاء قواعد جدار الحماية للسماح بالنسخ المتماثل لنظام HANA وحركة مرور العميل. يتم سرد المنافذ المطلوبة في منافذ TCP/IP لجميع منتجات SAP. الأوامر التالية هي مجرد مثال للسماح بالنسخ المتماثل للنظام HANA 2.0. قم بتكييفه مع تثبيت SAP Hana 1.0.

    sudo firewall-cmd --zone=public --add-port=40302/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40302/tcp
    
  2. [1] إنشاء المستخدمين المطلوبين.

    قم بتشغيل الأمر التالي كجذر. تأكد من استبدال قيم معرف نظام HANA (على سبيل المثال، HN1) ورقم المثيل (03) وأي أسماء مستخدم بقيم تثبيت SAP HANA:

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbsql -u system -i 03 'CREATE USER hdbhasync PASSWORD "passwd"'
    hdbsql -u system -i 03 'GRANT DATA ADMIN TO hdbhasync'
    hdbsql -u system -i 03 'ALTER USER hdbhasync DISABLE PASSWORD LIFETIME'
    
  3. [A] إنشاء مدخل مخزن المفاتيح.

    تشغيل الأمر التالي كـ root لإنشاء مدخل مخزن مفاتيح جديد:

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbuserstore SET hdbhaloc localhost:30315 hdbhasync passwd
    
  4. [1] إنشاء نسخة احتياطية من قاعدة البيانات.

    إنشاء نسخة احتياطية قواعد البيانات على النحو التالي:

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbsql -d SYSTEMDB -u system -i 03 "BACKUP DATA USING FILE ('initialbackup')"
    

    إذا كنت تستخدم تثبيتا متعدد المستأجرين، فنسخ قاعدة بيانات المستأجر احتياطيا أيضا:

    hdbsql -d HN1 -u system -i 03 "BACKUP DATA USING FILE ('initialbackup')"
    
  5. [1] تكوين النسخ المتماثل للنظام على العقدة الأولى.

    إنشاء الموقع الأساسي ك<hanasid>adm:

    su - hdbadm
    hdbnsutil -sr_enable –-name=SITE1
    
  6. [2] تكوين النسخ المتماثل للنظام على العقدة الثانوية.

    تسجيل الموقع الثانوي <hanasid>adm:

    HDB stop
    hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2
    HDB start
    

إنشاء نظام مجموعة Pacemaker

اتبع الخطوات الواردة في إعداد جهاز تنظيم ضربات القلب على Red Hat Enterprise Linux في Azure لإنشاء مجموعة أجهزة تنظيم ضربات القلب الأساسية لخادم HANA هذا.

هام

باستخدام إطار عمل بدء تشغيل SAP المستند إلى النظام، يمكن الآن إدارة مثيلات SAP HANA بواسطة النظام. الحد الأدنى المطلوب من إصدار Red Hat Enterprise Linux (RHEL) هو RHEL 8 ل SAP. كما هو موضح في SAP Note 3189534، أو أي تثبيتات جديدة من SAP HANA SPS07 revision 70 أو أحدث، أو تحديثات لأنظمة HANA إلى HANA 2.0 SPS07 revision 70 أو أعلى، سيتم تسجيل إطار عمل SAP Startup تلقائيا مع النظام.

عند استخدام حلول قابلية الوصول العالية لإدارة النسخ المتماثل لنظام SAP HANA بالاشتراك مع مثيلات SAP HANA الممكنة بواسطة النظام (راجع SAP Note 3189534)، يلزم اتخاذ خطوات إضافية لضمان أن نظام مجموعة قابلية الوصول العالية يمكنه إدارة مثيل SAP دون تداخل نظامي. لذلك، بالنسبة لنظام SAP HANA المتكامل مع النظام، يجب اتباع الخطوات الإضافية الموضحة في Red Hat KBA 7029705 على جميع عقد نظام المجموعة.

تنفيذ خطاف النسخ المتماثل لنظام بايثون SAPHanaSR

تعمل هذه الخطوة المهمة على تحسين التكامل مع نظام المجموعة وتحسين الكشف عند الحاجة إلى تجاوز فشل نظام المجموعة. نوصي بشدة بتكوين خطاف SAPHanaSR Python.

  1. [A]تثبيت عوامل الموارد SAP Hana علىجميع العُقد. تأكد من تمكين مستودع يحتوي على الحزمة. لا تحتاج إلى تمكين المزيد من المستودعات، إذا كنت تستخدم صورة ممكنة RHEL 8.x HA.

    # Enable repository that contains SAP HANA resource agents
    sudo subscription-manager repos --enable="rhel-sap-hana-for-rhel-7-server-rpms"
    
    sudo yum install -y resource-agents-sap-hana
    
  2. [A] تثبيت HANA system replication hook. يجب تثبيت الربط على عقدتَي قاعدة بيانات HANA.

    تلميح

    لا يمكن تنفيذ ربط Python إلا لـ HANA 2.0.

    1. إعداد الإخطار باعتباره root.

       mkdir -p /hana/shared/myHooks
       cp /usr/share/SAPHanaSR/srHook/SAPHanaSR.py /hana/shared/myHooks
       chown -R hn1adm:sapsys /hana/shared/myHooks
      
    2. أوقف HANA على كلتا العقدتين. تشغيل كـ <sid>adm.

      sapcontrol -nr 03 -function StopSystem
      
    3. اضبط global.iniعلى كل عقدة نظام مجموعة.

      [ha_dr_provider_SAPHanaSR]
      provider = SAPHanaSR
      path = /hana/shared/myHooks
      execution_order = 1
      
      [trace]
      ha_dr_saphanasr = info
      
  3. [A] يتطلب sudoers نظام المجموعة التكوين على كل عقدة نظام مجموعة ل <sid>adm. في هذا المثال، يتم تحقيق ذلك عن طريق إنشاء ملف جديد. visudo استخدم الأمر لتحرير ملف الإفلات 20-saphana ك root.

    sudo visudo -f /etc/sudoers.d/20-saphana
    

    أدرج الأسطر التالية ثم احفظ:

    Cmnd_Alias SITE1_SOK   = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE1 -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SITE1_SFAIL = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE1 -v SFAIL -t crm_config -s SAPHanaSR
    Cmnd_Alias SITE2_SOK   = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE2 -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SITE2_SFAIL = /usr/sbin/crm_attribute -n hana_hn1_site_srHook_SITE2 -v SFAIL -t crm_config -s SAPHanaSR
    hn1adm ALL=(ALL) NOPASSWD: SITE1_SOK, SITE1_SFAIL, SITE2_SOK, SITE2_SFAIL
    Defaults!SITE1_SOK, SITE1_SFAIL, SITE2_SOK, SITE2_SFAIL !requiretty
    
  4. [A] بدء SAP Hana على كلتا العقدتين. تشغيل كـ <sid>adm.

    sapcontrol -nr 03 -function StartSystem 
    
  5. [1] تحقق من تثبيت الربط. شغّل كـ <sid> على موقع النسخ المتماثل لنظام HANA النشط.

     cdtrace
     awk '/ha_dr_SAPHanaSR.*crm_attribute/ \
     { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_*
    
     # 2021-04-12 21:36:16.911343 ha_dr_SAPHanaSR SFAIL
     # 2021-04-12 21:36:29.147808 ha_dr_SAPHanaSR SFAIL
     # 2021-04-12 21:37:04.898680 ha_dr_SAPHanaSR SOK
    

لمزيد من المعلومات حول تنفيذ خطاف النسخ المتماثل لنظام SAP HANA، راجع تمكين ربط موفر SAP HA/DR.

إنشاء مجموعة موارد نظام SAP HANA

قم بإنشاء طوبولوجيا HANA. قم بتشغيل الأوامر التالية على إحدى عقد نظام مجموعة Pacemaker. خلال هذه الإرشادات، تأكد من استبدال رقم المثيل ومعرف نظام HANA وعناوين IP وأسماء النظام، عند الاقتضاء.

sudo pcs property set maintenance-mode=true

sudo pcs resource create SAPHanaTopology_HN1_03 SAPHanaTopology SID=HN1 InstanceNumber=03 \
op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600 \
clone clone-max=2 clone-node-max=1 interleave=true

بعد ذلك، إنشاء موارد HANA.

إشعار

تحتوي هذه المقالة على مراجع لمصطلح لم تعد Microsoft تستخدمه. عند إزالة المصطلح من البرنامج، بالتالي سنزيله من هذه المقالة.

إذا كنت تقوم بإنشاء نظام مجموعة على RHEL 7.x، فاستخدم الأوامر التالية:

sudo pcs resource create SAPHana_HN1_03 SAPHana SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
  op start timeout=3600 op stop timeout=3600 \
  op monitor interval=61 role="Slave" timeout=700 \
  op monitor interval=59 role="Master" timeout=700 \
  op promote timeout=3600 op demote timeout=3600 \
  master notify=true clone-max=2 clone-node-max=1 interleave=true

sudo pcs resource create vip_HN1_03 IPaddr2 ip="10.0.0.13"
sudo pcs resource create nc_HN1_03 azure-lb port=62503
sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03

sudo pcs constraint order SAPHanaTopology_HN1_03-clone then SAPHana_HN1_03-master symmetrical=false
sudo pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_03-master 4000

sudo pcs resource defaults resource-stickiness=1000
sudo pcs resource defaults migration-threshold=5000

sudo pcs property set maintenance-mode=false

إذا كنت تقوم بإنشاء نظام مجموعة على RHEL 8.x/9.x، فاستخدم الأوامر التالية:

sudo pcs resource create SAPHana_HN1_03 SAPHana SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
  op start timeout=3600 op stop timeout=3600 \
  op monitor interval=61 role="Slave" timeout=700 \
  op monitor interval=59 role="Master" timeout=700 \
  op promote timeout=3600 op demote timeout=3600 \
  promotable notify=true clone-max=2 clone-node-max=1 interleave=true

sudo pcs resource create vip_HN1_03 IPaddr2 ip="10.0.0.13"
sudo pcs resource create nc_HN1_03 azure-lb port=62503
sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03

sudo pcs constraint order SAPHanaTopology_HN1_03-clone then SAPHana_HN1_03-clone symmetrical=false
sudo pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_03-clone 4000

sudo pcs resource defaults update resource-stickiness=1000
sudo pcs resource defaults update migration-threshold=5000

sudo pcs property set maintenance-mode=false

لتكوين priority-fencing-delay SAP HANA (ينطبق فقط اعتبارا من جهاز تنظيم ضربات القلب-2.0.4-6.el8 أو أعلى)، يجب تنفيذ الأوامر التالية.

إشعار

إذا كان لديك نظام مجموعة مكون من عقدتين، يمكنك تكوين priority-fencing-delay خاصية نظام المجموعة. تقدم هذه الخاصية تأخيرا في تسييج عقدة لها أولوية إجمالية أعلى للموارد عند حدوث سيناريو تقسيم الدماغ. لمزيد من المعلومات، راجع هل يمكن ل Pacemaker سياج عقدة نظام المجموعة بأقل الموارد قيد التشغيل؟.

تنطبق الخاصية priority-fencing-delay على إصدار 2.0.4-6.el8 أو إصدار أحدث. إذا كنت تقوم بإعداد priority-fencing-delay على مجموعة موجودة، فتأكد من إلغاء تعيين pcmk_delay_max الخيار في جهاز التسييج.

sudo pcs property set maintenance-mode=true

sudo pcs resource defaults update priority=1
sudo pcs resource update SAPHana_HN1_03-clone meta priority=10

sudo pcs property set priority-fencing-delay=15s

sudo pcs property set maintenance-mode=false

هام

من المستحسن ضبط AUTOMATED_REGISTER على false، أثناء إجراء اختبارات تجاوز الفشل، لمنع مثيل أساسي فاشل من التسجيل تلقائيًا كثانوي. بعد الاختبار، كأفضل ممارسة، اضبط AUTOMATED_REGISTER على true بحيث يمكن استئناف النسخ المتماثل للنظام تلقائيا بعد الاستيلاء.

تأكد من أن حالة نظام المجموعة على ما يرام وأن جميع الموارد قد بدأت. العقدة التي تعمل عليها الموارد ليست مهمة.

إشعار

المهلات في التكوين السابق هي أمثلة فقط وقد تحتاج إلى التكيف مع إعداد HANA المحدد. على سبيل المثال، قد تحتاج إلى زيادة مهلة البدء، إذا استغرق الأمر وقتًا أطول لبدء قاعدة بيانات SAP Hana.

استخدم الأمر sudo pcs status للتحقق من حالة موارد نظام المجموعة التي تم إنشاؤها:

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# azure_fence     (stonith:fence_azure_arm):      Started hn1-db-0
#  Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
#      Started: [ hn1-db-0 hn1-db-1 ]
#  Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
#      Masters: [ hn1-db-0 ]
#      Slaves: [ hn1-db-1 ]
#  Resource Group: g_ip_HN1_03
#      nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
#      vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

تكوين النسخ المتماثل لنظام HANA النشط/الممكن للقراءة في نظام مجموعة Pacemaker

بدءا من SAP HANA 2.0 SPS 01، يسمح SAP بالإعدادات النشطة/المقروءة للنسخ المتماثل لنظام SAP HANA، حيث يمكن استخدام الأنظمة الثانوية ل SAP HANA System Replication بنشاط لأحمال العمل المكثفة للقراءة.

لدعم مثل هذا الإعداد في نظام مجموعة، مطلوب عنوان IP ظاهري ثان، والذي يسمح للعملاء بالوصول إلى قاعدة بيانات SAP HANA الثانوية الممكنة للقراءة. للتأكد من أنه لا يزال يمكن الوصول إلى موقع النسخ المتماثل الثانوي بعد حدوث استيلاء، يحتاج نظام المجموعة إلى نقل عنوان IP الظاهري مع مورد SAPHana الثانوي.

يصف هذا القسم الخطوات الأخرى المطلوبة لإدارة النسخ المتماثل لنظام HANA النشط/الممكن للقراءة في مجموعة Red Hat HA مع IP ظاهري ثان.

قبل المتابعة بشكل أكبر، تأكد من تكوين مجموعة Red Hat HA بالكامل التي تدير قاعدة بيانات SAP HANA، كما هو موضح في الأجزاء السابقة من الوثائق.

رسم تخطيطي يظهر SAP HANA HA مع ثانوي ممكن للقراءة.

إعداد إضافي في Azure Load Balancer للإعداد النشط/الممكّن للقراءة

لمتابعة المزيد من الخطوات حول توفير IP ظاهري ثان، تأكد من تكوين Azure Load Balancer كما هو موضح في قسم Deploy Linux VMs يدويا عبر مدخل Microsoft Azure .

  1. بالنسبة لموازن التحميل القياسي ، اتبع هذه الخطوات على نفس موازن التحميل الذي قمت بإنشائه في قسم سابق.

    أ. إنشاء تجمع IP أمامي ثانٍ:

    • افتح جزء موازن التحميل، وحدد مجموعة IP الواجهة الأمامية، وحدد إضافة.
    • أدخل اسم مجموعة IP الواجهة الأمامية الثاني (على سبيل المثال، hana-secondaryIP).
    • قم بتعيين التعيين إلى ثابت وأدخل عنوان IP (على سبيل المثال، 10.0.0.14).
    • حدد موافق.
    • بعد إنشاء مجموعة IP الواجهة الأمامية الجديدة، لاحظ عنوان IP المجموعة.

    ب. إنشاء فحص سلامة:

    • افتح موازن التحميل، وحدد فحوصات السلامة، وحدد إضافة.
    • أدخل اسم فحص السلامة الجديد (على سبيل المثال، hana-secondaryhp).
    • حدد TCP كبروتوكول والمنفذ 62603. احتفظ بتعيين قيمة الفاصل الزمني إلى 5 وتعيين قيمة الحد غير السليم إلى 2.
    • حدد موافق.

    جـ. إنشاء قواعد موازنة الأحمال:

    • افتح موازن التحميل، وحدد قواعد موازنة التحميل، وحدد إضافة.
    • أدخل اسم قاعدة موازن التحميل الجديد (على سبيل المثال،hana-secondarylb).
    • حدد عنوان IP الواجهة الأمامية ومجموعة الواجهة الخلفية وفحص السلامة الذي قمت بإنشائه سابقًا (على سبيل المثال،hana-secondaryIP وhana-backend وhana-secondaryhp).
    • حدد منافذ HA.
    • تأكد من تمكين عنوان IP الحر.
    • حدد موافق.

تكوين النسخ المتماثل الممكّن للقراءة/HANA النشط

يتم وصف خطوات تكوين النسخ المتماثل لنظام HANA في قسم تكوين SAP HANA 2.0 System Replication . إذا كنت تقوم بنشر سيناريو ثانوي ممكن للقراءة أثناء تكوين النسخ المتماثل للنظام على العقدة الثانية، فقم بتشغيل الأمر التالي ك hanasidadm:

sapcontrol -nr 03 -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2 --operationMode=logreplay_readaccess 

إضافة مورد عنوان IP ظاهري ثانوي لإعداد نشط/ممكّن للقراءة

يمكن تكوين عنوان IP الظاهري الثاني وقيد التجميع المناسب باستخدام الأوامر التالية:

pcs property set maintenance-mode=true

pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.40.0.16"

pcs resource create secnc_HN1_03 ocf:heartbeat:azure-lb port=62603

pcs resource group add g_secip_HN1_03 secnc_HN1_03 secvip_HN1_03

pcs constraint location g_secip_HN1_03 rule score=INFINITY hana_hn1_sync_state eq SOK and hana_hn1_roles eq 4:S:master1:master:worker:master

pcs constraint location g_secip_HN1_03 rule score=4000 hana_hn1_sync_state eq PRIM and hana_hn1_roles eq 4:P:master1:master:worker:master

pcs property set maintenance-mode=false

تأكد من أن حالة نظام المجموعة على ما يرام وأن جميع الموارد قد بدأت. يتم تشغيل IP الظاهري الثاني على الموقع الثانوي جنبا إلى جنب مع مورد SAPHana الثانوي.

sudo pcs status

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full List of Resources:
#   rsc_hdb_azr_agt     (stonith:fence_azure_arm):      Started hn1-db-0
#   Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]:
#     Started: [ hn1-db-0 hn1-db-1 ]
#   Clone Set: SAPHana_HN1_03-clone [SAPHana_HN1_03] (promotable):
#     Masters: [ hn1-db-0 ]
#     Slaves: [ hn1-db-1 ]
#   Resource Group: g_ip_HN1_03:
#     nc_HN1_03         (ocf::heartbeat:azure-lb):      Started hn1-db-0
#     vip_HN1_03        (ocf::heartbeat:IPaddr2):       Started hn1-db-0
#   Resource Group: g_secip_HN1_03:
#     secnc_HN1_03      (ocf::heartbeat:azure-lb):      Started hn1-db-1
#     secvip_HN1_03     (ocf::heartbeat:IPaddr2):       Started hn1-db-1

في القسم التالي، يمكنك العثور على المجموعة النموذجية من اختبارات تجاوز الفشل لتشغيلها.

كن على دراية بسلوك IP الظاهري الثاني أثناء اختبار مجموعة HANA المكونة مع ثانوي ممكن للقراءة:

  1. عند ترحيل مورد نظام المجموعة SAPHana_HN1_03 إلى الموقع الثانوي hn1-db-1، يستمر IP الظاهري الثاني في التشغيل على نفس الموقع hn1-db-1. إذا قمت بتعيين AUTOMATED_REGISTER="true" للمورد وتم تسجيل النسخ المتماثل لنظام HANA تلقائيا على hn1-db-0، ينتقل IP الظاهري الثاني أيضا إلى hn1-db-0.

  2. عند اختبار تعطل الخادم، يتم تشغيل موارد IP الظاهرية الثانية (secvip_HN1_03) ومورد منفذ Azure Load Balancer (secnc_HN1_03) على الخادم الأساسي جنبا إلى جنب مع موارد IP الظاهرية الأساسية. لذلك، حتى وقت تعطل الخادم الثانوي، تتصل التطبيقات المتصلة بقاعدة بيانات HANA الممكنة للقراءة بقاعدة بيانات HANA الأساسية. السلوك متوقع لأنك لا تريد أن تكون التطبيقات المتصلة بقاعدة بيانات HANA الممكنة للقراءة غير قابلة للوصول حتى وقت عدم توفر الخادم الثانوي.

  3. أثناء تجاوز الفشل والتراجع عن عنوان IP الظاهري الثاني، قد تتم مقاطعة الاتصالات الموجودة على التطبيقات التي تستخدم IP الظاهري الثاني للاتصال بقاعدة بيانات HANA.

يعمل الإعداد على زيادة الوقت الذي يتم فيه تعيين مورد IP الظاهري الثاني إلى عقدة حيث يتم تشغيل مثيل SAP HANA سليم.

اختبار إعداد نظام الكتل

يوضح هذا القسم كيفية اختبار الإعداد. قبل بدء الاختبار، تأكد من عدم وجود أي إجراء فاشل (عبر حالة أجهزة الكمبيوتر)، ولا توجد قيود موقع غير متوقعة (على سبيل المثال، بقايا اختبار الترحيل)، وأن HANA في حالة المزامنة، على سبيل المثال، مع systemReplicationStatus.

sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"

اختبار الترحيل

حالة المورد قبل بدء الاختبار:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

يمكنك ترحيل عقدة SAP HANA الرئيسية عن طريق تشغيل الأمر التالي كجذر:

# On RHEL 7.x
pcs resource move SAPHana_HN1_03-master
# On RHEL 8.x
pcs resource move SAPHana_HN1_03-clone --master

ستقوم المجموعة بترحيل عقدة SAP HANA الرئيسية والمجموعة التي تحتوي على عنوان IP الظاهري إلى hn1-db-1.

بعد الانتهاء من الترحيل، sudo pcs status يبدو الإخراج كما يلي:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Stopped: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

مع AUTOMATED_REGISTER="false"، لن تقوم المجموعة بإعادة تشغيل قاعدة بيانات HANA الفاشلة أو تسجيلها مقابل الأساسي الجديد في hn1-db-0. في هذه الحالة، قم بتكوين مثيل HANA كثانوية عن طريق تشغيل هذه الأوامر، ك hn1adm:

sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=03 --replicationMode=sync --name=SITE1

ينشئ الترحيل قيود الموقع التي تحتاج إلى حذفها مرة أخرى. قم بتشغيل الأمر التالي كجذر، أو عبر sudo:

pcs resource clear SAPHana_HN1_03-master

مراقبة حالة مورد HANA باستخدام pcs status. بعد بدء تشغيل HANA، hn1-db-0يجب أن يبدو الإخراج كما يلي:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

حظر اتصال الشبكة

حالة المورد قبل بدء الاختبار:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       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

عندما لا تتمكن عقد نظام المجموعة من التواصل مع بعضها البعض، فهناك خطر من سيناريو انقسام الدماغ. في مثل هذه الحالات، تحاول عقد نظام المجموعة سياج بعضها البعض في وقت واحد، مما يؤدي إلى سباق سياج. لتجنب مثل هذا الموقف، نوصي بتعيين الخاصية priority-fencing-delay في تكوين نظام المجموعة (ينطبق فقط على pacemaker-2.0.4-6.el8 أو أعلى).

من خلال تمكين الخاصية 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

اختبار عامل سياج Azure

إشعار

تحتوي هذه المقالة على مراجع لمصطلح لم تعد Microsoft تستخدمه. عند إزالة المصطلح من البرنامج، بالتالي سنزيله من هذه المقالة.

حالة المورد قبل بدء الاختبار:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

يمكنك اختبار إعداد عامل سياج Azure عن طريق تعطيل واجهة الشبكة على العقدة حيث يتم تشغيل SAP HANA كرئيسي. للحصول على وصف حول كيفية محاكاة فشل الشبكة، راجع مقالة قاعدة معارف Red Hat 79523.

في هذا المثال، نستخدم net_breaker البرنامج النصي كجذر لمنع جميع الوصول إلى الشبكة:

sh ./net_breaker.sh BreakCommCmd 10.0.0.6

يجب الآن إعادة تشغيل الجهاز الظاهري أو إيقافه استنادا إلى تكوين نظام المجموعة. إذا قمت بتعيين stonith-action الإعداد إلى off، يتم إيقاف الجهاز الظاهري ويتم ترحيل الموارد إلى الجهاز الظاهري قيد التشغيل.

بعد بدء تشغيل الجهاز الظاهري مرة أخرى، يفشل مورد SAP HANA في البدء كثانوي إذا قمت بتعيين AUTOMATED_REGISTER="false". في هذه الحالة، قم بتكوين مثيل HANA كمثيل ثانوي عن طريق تشغيل هذا الأمر كمستخدم hn1adm :

sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2

قم بالتبديل مرة أخرى إلى الجذر وتنظيف الحالة الفاشلة:

# On RHEL 7.x
pcs resource cleanup SAPHana_HN1_03-master
# On RHEL 8.x
pcs resource cleanup SAPHana_HN1_03 node=<hostname on which the resource needs to be cleaned>

حالة المورد بعد الاختبار:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

اختبار تجاوز الفشل يدويًا

حالة المورد قبل بدء الاختبار:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

يمكنك اختبار تجاوز الفشل اليدوي عن طريق إيقاف نظام المجموعة على العقدة hn1-db-0 ، كجذر:

pcs cluster stop

بعد تجاوز الفشل، يمكنك بدء تشغيل الكتلة مرة أخرى. إذا قمت بتعيين AUTOMATED_REGISTER="false"، يفشل مورد SAP HANA على العقدة في hn1-db-0 البدء كثانوية. في هذه الحالة، قم بتكوين مثيل HANA كثانوي عن طريق تشغيل هذا الأمر كجذر:

pcs cluster start

قم بتشغيل ما يلي ك hn1adm:

sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=03 --replicationMode=sync --name=SITE1

ثم كجذر:

# On RHEL 7.x
pcs resource cleanup SAPHana_HN1_03-master
# On RHEL 8.x
pcs resource cleanup SAPHana_HN1_03 node=<hostname on which the resource needs to be cleaned>

حالة المورد بعد الاختبار:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
     Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

الخطوات التالية