قابلية وصول عالية ل 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.

يستخدم إعداد النسخ المتماثل لنظام 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. أثناء إعداد موازن التحميل، ضع في اعتبارك النقاط التالية:

  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 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.

  1. [A]إعداد تخطيط القرص باستخدام Logical Volume Manager (LVM).

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

    1. قم بتشغيل هذا الأمر لسرد جميع الأقراص المتوفرة:

      /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
      
    2. إنشاء وحدات تخزين فعلية لجميع الأقراص التي تريد استخدامها:

      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
      
    3. إنشاء مجموعة وحدة تخزين لملفات البيانات. استخدم مجموعة وحدة تخزين واحدة لملفات السجل ومجموعة وحدة تخزين واحدة للدليل المشترك ل 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
      
    4. إنشاء «logical volumes».

      يتم إنشاء وحدة تخزين خطية عند استخدامlvcreate بدون -iswitch. نوصي بإنشاء وحدة تخزين خط الشريحة لتحسين أداء الإدخال/الإخراج. محاذاة أحجام الشريط إلى القيم الموضحة في تكوينات تخزين 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
      
    5. إنشاء دلائل التحميل ونسخ المعرف الفريد عالميا (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
      
    6. قم بتحرير ملف /etc/fstab لإنشاء fstab إدخالات لوحدات التخزين المنطقية الثلاثة:

      sudo vi /etc/fstab
      
    7. إدراج الأسطر التالية في ملف /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
      
    8. تحميل وحدات التخزين الجديدة:

      sudo mount -a
      
  2. [A] إعداد تخطيط القرص باستخدام الأقراص العادية.

    بالنسبة للأنظمة التجريبية، يمكنك وضع بيانات وملفات سجل HANA على قرص واحد.

    1. إنشاء قسم على /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
      
    2. إدراج هذا السطر في /etc/fstabملف:

      /dev/disk/by-uuid/<UUID> /hana xfs  defaults,nofail  0  2
      
    3. إنشاء الدليل الهدف ثم تحميل القرص:

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

    يمكنك إما استخدام خادم DNS أو تعديل الملف /etc/hosts على جميع العُقد. يوضح لك هذا المثال كيفية استخدام ملف /etc/hosts . استبدل عناوين IP وأسماء المضيفين في الأوامر التالية.

    1. تحرير ملف /etc/hosts:

      sudo vi /etc/hosts
      
    2. إدراج الأسطر التالية في ملف /etc/hosts . قم بتغيير عناوين IP وأسماء المضيفين لمطابقة بيئتك.

      10.0.0.5 hn1-db-0
      10.0.0.6 hn1-db-1
      
  4. [A] تثبيت حزم SAP HANA عالية التوافر:

    • قم بتشغيل الأمر التالي لتثبيت حزم قابلية الوصول العالية:

      sudo zypper install SAPHanaSR
      

    لتثبيت النسخ المتماثل لنظام SAP HANA، راجع الفصل 4 في دليل SAP HANA SR Performance Optimized Scenario .

  5. [A] قم بتشغيل برنامج hdblcm من وسائط تثبيت HANA.

    عند مطالبتك، أدخل القيم التالية:

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

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

    sudo /usr/sap/hostctrl/exe/saphostexec -upgrade -archive <path to SAP host agent SAR>
    

تكوين النسخ المتماثل للنظام SAP HANA 2.0

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

  • [1]: تنطبق الخطوة على كل العقد.
  • [1]: تنطبق الخطوة فقط على العقدة 1.
  • [2]: تنطبق الخطوة فقط على العقدة 2 من نظام مجموعة Pacemaker.

استبدل <placeholders> بقيم تثبيت SAP HANA.

  1. [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>"'
    
  2. [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>
    
  3. [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> 
    

تكوين النسخ المتماثل لنظام SAP HANA 1.0

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

  • [1]: تنطبق الخطوة على كل العقد.
  • [1]: تنطبق الخطوة فقط على العقدة 1.
  • [2]: تنطبق الخطوة فقط على العقدة 2 من نظام مجموعة Pacemaker.

استبدل <placeholders> بقيم تثبيت SAP HANA.

  1. [1] إنشاء المستخدمين المطلوبين.

    تشغيل الأمر التالي كـroot:

    PATH="$PATH:/usr/sap/<HANA SID>/HDB<instance number>/exe"
    hdbsql -u system -i <instance number> 'CREATE USER hdbhasync PASSWORD "<password>"'
    hdbsql -u system -i <instance number> 'GRANT DATA ADMIN TO hdbhasync'
    hdbsql -u system -i <instance number> 'ALTER USER hdbhasync DISABLE PASSWORD LIFETIME'
    
  2. [A] إنشاء مدخل مخزن المفاتيح.

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

    PATH="$PATH:/usr/sap/<HANA SID>/HDB<instance number>/exe"
    hdbuserstore SET hdbhaloc localhost:3<instance number>15 hdbhasync <password>
    
  3. [1] إنشاء نسخة احتياطية من قاعدة البيانات.

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

    PATH="$PATH:/usr/sap/<HANA SID>/HDB<instance number>/exe"
    hdbsql -d SYSTEMDB -u system -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file>')"
    

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

    hdbsql -d <HANA SID> -u system -i <instance number> "BACKUP DATA USING FILE ('<name of initial backup file>')"
    
  4. [1] تكوين النسخ المتماثل للنظام على العقدة الأولى.

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

    su - hdbadm
    hdbnsutil -sr_enable --name=<site 1>
    
  5. [2] تكوين النسخ المتماثل للنظام على العقدة الثانوية.

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

    sapcontrol -nr <instance number> -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=<HANA SID>-db-<database 1> --remoteInstance=<instance number> --replicationMode=sync --name=<site 2> 
    

تنفيذ خطافات HANA SAPHanaSR وsusChkSrv

في هذه الخطوة المهمة، يمكنك تحسين التكامل مع نظام المجموعة وتحسين الكشف عند الحاجة إلى تجاوز فشل نظام المجموعة. نوصي بشدة بتكوين خطاف SAPHanaSR Python. بالنسبة إلى HANA 2.0 SP5 والإصدارات الأحدث، نوصي بتنفيذ خطاف SAPHanaSR وsusChkSrv hook.

يوسع خطاف susChkSrv وظائف موفر SAPHanaSR HA الرئيسي. يعمل عندما تتعطل عملية HANA hdbindexserver. إذا تعطلت عملية واحدة، تحاول HANA عادة إعادة تشغيلها. قد تستغرق إعادة تشغيل عملية خادم الفهرس وقتا طويلا، حيث لا تستجيب قاعدة بيانات HANA.

مع تنفيذ susChkSrv، يتم تنفيذ إجراء فوري وقابل للتكوين. يشغل الإجراء تجاوز الفشل في فترة المهلة المكونة بدلا من انتظار إعادة تشغيل عملية hdbindexserver على نفس العقدة.

  1. [A] تثبيت ربط النسخ المتماثل لنظام HANA. يجب تثبيت الخطاف على كل من عقد قاعدة بيانات HANA.

    تلميح

    يمكن تنفيذ خطاف SAPHanaSR Python فقط ل HANA 2.0. يجب أن تكون حزمة SAPHanaSR الإصدار 0.153 على الأقل.

    يتطلب خطاف susChkSrv Python تثبيت SAP HANA 2.0 SP5، ويجب تثبيت إصدار SAPHanaSR 0.161.1_BF أو أحدث.

    1. أوقف HANA على كلتا العقدتين.

      قم بتشغيل التعليمات البرمجية التالية ك <sapsid>adm:

      sapcontrol -nr <instance number> -function StopSystem
      
    2. ضبط global.ini على كل عقدة نظام مجموعة. إذا لم يتم استيفاء متطلبات خطاف susChkSrv، فقم بإزالة الكتلة بأكملها [ha_dr_provider_suschksrv] من المعلمات التالية.

      يمكنك ضبط سلوك susChkSrv باستخدام المعلمة action_on_lost . القيم الصالحة هي [ ignorekill | fencestop | | ].

      # add to global.ini
      [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 الذي تستخدمه.

  2. [A] يتطلب نظام المجموعة تكوين sudoers على كل عقدة نظام مجموعة ل <SAP SID>adm. في هذا المثال، يتم تحقيق ذلك عن طريق إنشاء ملف جديد.

    تشغيل الأمر التالي كـroot:

     cat << EOF > /etc/sudoers.d/20-saphana
     # Needed for SAPHanaSR and susChkSrv Python hooks
     hn1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_hn1_site_srHook_*
     hn1adm ALL=(ALL) NOPASSWD: /usr/sbin/SAPHanaSR-hookHelper --sid=HN1 --case=fenceMe
     EOF
    

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

  3. [A] بدء SAP Hana على كلتا العقدتين.

    قم بتشغيل الأمر التالي كSAP <SID>adm:

     sapcontrol -nr <instance number> -function StartSystem 
    
  4. [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
    

    تحقق من تثبيت ربط 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

أولا، إنشاء طوبولوجيا 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"

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

هام

في الاختبار الأخير، netcat يتوقف عن الاستجابة للطلبات بسبب تراكم وبسبب قيوده على التعامل مع اتصال واحد فقط. netcat يتوقف المورد عن الاستماع إلى طلبات Azure Load Balancer، ويصبح IP العائم غير متوفر.

بالنسبة لمجموعات Pacemaker الموجودة، أوصينا سابقا باستبدال netcat ب socat. حاليا، نوصي باستخدام azure-lb عامل المورد، والذي يعد جزءا من حزمة من resource-agents. إصدارات الحزمة التالية مطلوبة:

  • بالنسبة لـ SLES 12 SP4/SP5، يجب أن يكون الإصدار على الأقل resource-agents-4.3.018.a7fb5035-3.30.1.
  • بالنسبة إلى SLES 15/15 SP1، يجب أن يكون الإصدار على الأقل resource-agents-4.3.0184.6ee15eb2-4.13.1.

يتطلب إجراء هذا التغيير فترة توقف قصيرة.

بالنسبة لمجموعات Pacemaker الموجودة، إذا تم تغيير التكوين الخاص بك بالفعل لاستخدامه socat كما هو موضح في Azure Load Balancer Detection Hardening، فلن تحتاج إلى التبديل فورا إلى azure-lb عامل المورد.

إشعار

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

# 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_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"

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"

sudo crm resource meta msl_SAPHana_<HANA SID>_HDB<instance number> set priority 100

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 كما هو موضح في الأقسام السابقة.

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

إعداد موازن التحميل للنسخ المتماثل للنظام النشط/الممكن للقراءة

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

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

  1. إنشاء تجمع IP للواجهة الأمامية الثانية:
    1. افتح جزء موازن التحميل، وحدد مجموعة IP الواجهة الأمامية، وحدد إضافة.
    2. أدخل اسم مجموعة IP الواجهة الأمامية الثاني (على سبيل المثال، hana-secondaryIP).
    3. اضبط التعيين إلى ثابت وأدخل عنوان IP (على سبيل المثال، 10.0.0.14).
    4. حدد موافق.
    5. بعد إنشاء تجمع IP للواجهة الأمامية الجديد، لاحظ عنوان IP للواجهة الأمامية.
  2. إنشاء فحص صحة:
    1. في موازن التحميل، حدد health probes، وحدد Add.
    2. أدخل اسم فحص السلامة الجديد (على سبيل المثال، hana-secondaryhp).
    3. حدد TCP كرقم مثيل> البروتوكول والمنفذ 626<. الاحتفاظ بتعيين قيمة الفاصل الزمني إلى 5، وتعيين قيمة الحد غير السليم إلى 2.
    4. حدد موافق.
  3. إنشاء قواعد موازنة التحميل:
    1. في موازن التحميل، حدد قواعد موازنة التحميل، وحدد إضافة.
    2. أدخل اسم قاعدة موازن التحميل الجديد (على سبيل المثال،hana-secondarylb).
    3. حدد عنوان IP الواجهة الأمامية ومجموعة الواجهة الخلفية وفحص السلامة الذي قمت بإنشائه سابقًا (على سبيل المثال،hana-secondaryIP وhana-backend وhana-secondaryhp).
    4. حدد منافذ HA.
    5. زيادة مهلة الخمول إلى 30 دقيقة.
    6. تأكد من تمكين IP العائم.
    7. حدد موافق.

إعداد النسخ المتماثل لنظام 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: إيقاف قاعدة البيانات الأساسية على العقدة 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: إيقاف قاعدة البيانات الأساسية على العقدة 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. اختبار 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. اختبار 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. اختبار 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. اختبار 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. اختبار 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. اختبار 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. اختبار 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. اختبار 10: تعطل خادم فهرس قاعدة البيانات الأساسي

    هذا الاختبار ذو صلة فقط عند إعداد خطاف susChkSrv كما هو موضح في تنفيذ خطافات HANA SAPHanaSR وsusChkSrv.

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

    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 على التكرار ويبدأ إجراء لسياج العقدة الثانوية.

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