قابلية وصول عالية لنظام توسيع SAP HANA على Red Hat Enterprise Linux

توضح هذه المقالة كيفية نشر نظام SAP Hana عالية التوافر في تكوين قابل للتوسعة. وعلى وجه التحديد، تستخدم عملية التكوين النسخ المتماثل لنظام HANA (HSR) وPacemaker على أجهزة Azure Red Hat Enterprise Linux الظاهرية. أنظمة الملفات المشتركة في البنية المقدمة هي NFS مثبتة ويتم توفيرها بواسطة Azure NetApp Files أو مشاركة NFS على Azure Files.

في مثال التكوينات وأوامر التثبيت، يكون مثيل HANA 03 ومعرف نظام HANA HN1.

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

سيستفيد بعض القراء من الرجوع إلى مجموعة متنوعة من موارد وملاحظات SAP قبل المضي قدمًا في الموضوعات الواردة في هذه المقالة:

نظرة عامة

لتحقيق قابلية وصول عالية لـHANA لعمليات تثبيت HANA القابلة للتوسعة، يمكنك تكوين النسخ المتماثل لنظام HANA، وحماية الحل باستخدام نظام مجموعة Pacemaker للسماح بتجاوز الفشل التلقائي. عند فشل عقدة نشطة، تفشل نظام المجموعة تجاوز موارد HANA إلى الموقع الآخر.

في المخطط التالي، هناك ثلاث عُقد HANA في كل موقع، وعقدة صانع الأغلبية لمنع حدوث سيناريو "split-brain". يمكن تكييف التعليمات لتشمل المزيد من الأجهزة الظاهرية كعُقد قاعدة بيانات HANA.

يمكن توفير نظام /hana/shared الملفات المشتركة HANA في البنية المقدمة بواسطة Azure NetApp Files أو مشاركة NFS على Azure Files. نظام الملفات المشتركة HANA هو NFS مثبت على كل عقدة HANA في نفس موقع النسخ المتماثل لنظام HANA. أنظمة /hana/data الملفات وأنظمة /hana/log الملفات المحلية ولا تتم مشاركتها بين عقد HANA DB. سيتم تثبيت SAP HANA في الوضع غير المشترك.

للحصول على تكوينات تخزين SAP Hana الموصى بها، راجع تكوينات تخزين أجهزة SAP HANA Azure الظاهرية.

هام

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

رسم تخطيطي لتوسيع SAP HANA باستخدام نظام مجموعة HSR وPacemaker.

يوضح المخطط السابق ثلاث شبكات فرعية ممثلة داخل شبكة Azure ظاهرية واحدة، باتباع توصيات الشبكة SAP Hana:

  • للتواصل مع العميل: client 10.23.0.0/24
  • للاتصال الداخلي بين العقدة HANA : inter 10.23.1.128/26
  • النسخ المتماثل للنظام SAP Hana: hsr 10.23.1.192/26

نظراً لنشر /hana/data و/hana/log على الأقراص المحلية، فليس من الضروري نشر شبكة فرعية منفصلة وبطاقات شبكة ظاهرية منفصلة للاتصال بموقع التخزين.

إذا كنت تستخدم Azure NetApp Files، يتم نشر وحدات تخزين NFS ل /hana/shared، في شبكة فرعية منفصلة، مفوضة إلى Azure NetApp Files: anf 10.23.1.0/26.

إعداد البنية الأساسية

في الإرشادات التالية، نفترض أنه سبق لك إنشاء مجموعة الموارد، وهي شبكة Azure الظاهرية مع ثلاث شبكات فرعية لشبكة Azure: client وinter وhsr.

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

  1. نشر أجهزة Azure الظاهرية. لهذا التكوين، استخدم سبعة أجهزة ظاهرية:

    • ثلاثة أجهزة ظاهرية لتكون بمثابة عُقد قاعدة بيانات HANA لموقع النسخ المتماثل HANA 1: hana-s1-db1 وhana-s1-db2 وhana-s1-db3.
    • ثلاثة أجهزة ظاهرية لتكون بمثابة عُقد قاعدة بيانات HANA لموقع النسخ المتماثل HANA 2: hana-s2-db1 وhana-s2-db2 وhana-s2-db3.
    • جهاز ظاهري صغير ليكون بمثابة صانع الأغلبية: hana-s-mm.

    يجب أن تكون الأجهزة الظاهرية التي تم نشرها كعُقد SAP DB HANA معتمدة من قبل SAP لـ HANA، كما هو منشور في دليل أجهزة SAP Hana. عند نشر عُقد قاعدة بيانات HANA، تأكد من تحديد الشبكة المسرعة.

    بالنسبة لعقدة صانع الأغلبية، يمكنك نشر جهاز ظاهري صغير، لأن هذا الجهاز الظاهري لا يقوم بتشغيل أي من موارد SAP Hana. يتم استخدام الجهاز الظاهري صانع الأغلبية في تكوين نظام المجموعة لتحقيق عدد فردي من العُقد العنقودية في سيناريو split-brain. يحتاج الجهاز الظاهري صانع الأغلبية إلى واجهة شبكة ظاهرية واحدة فقط في الشبكة الفرعية client في هذا المثال.

    نشر الأقراص المدارة المحلية لـ /hana/data و/hana/log. الحد الأدنى من تكوين التخزين الموصى به لـ /hana/data و/hana/log الموضح في تكوينات تخزين أجهزة SAP HANA Azure الظاهرية.

    نشر واجهة الشبكة الأساسية لكل جهاز ظاهري في الشبكة الفرعية للشبكة الظاهرية client. عند استخدام الجهاز الظاهري عبر مدخل Azure، يتم إنشاء اسم واجهة الشبكة تلقائياً. في هذه المقالة، سنشير إلى واجهات الشبكة الأساسية التي يتم إنشاؤها تلقائياً مثل hana-s1-db1-client وhana-s1-db2-client وhana-s1-db3-client وما إلى ذلك. يتم إرفاق واجهات الشبكة هذه بالشبكة الفرعية لشبكة Azure الظاهرية client.

    هام

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

  2. أنشئ ست واجهات شبكة، واحدة لكل جهاز ظاهري لقاعدة بيانات HANA، في الشبكة الفرعية للشبكة الظاهرية inter (في هذا المثال، hana-s1-db1-inter وhana-s1-db2-inter وhana-s1-db3-inter وhana-s2-db1-inter وhana-s2-db2-inter وhana-s2-db3-inter).

  3. أنشئ ست واجهات شبكة، واحدة لكل جهاز ظاهري لقاعدة بيانات HANA، في الشبكة الفرعية للشبكة الظاهرية hsr (في هذا المثال، hana-s1-db1-hsr وhana-s1-db2-hsr وhana-s1-db3-hsr وhana-s2-db1-hsr وhana-s2-db2-hsr وhana-s2-db3-hsr).

  4. يمكنك إرفاق واجهات الشبكة الظاهرية التي تم إنشاؤها حديثًا بالأجهزة الظاهرية المقابلة:

    1. انتقل إلى جهازك الظاهري في مدخل Microsoft Azure.
    2. في الجزء الأيسر، حدد ⁧⁧⁩⁩الأجهزة الظاهرية⁧⁧⁩⁩. تصفية على اسم الجهاز الظاهري (على سبيل المثال، hana-s1-db1)، ومن ثم حدد الجهاز الظاهري.
    3. في جزء نظرة عامة، حدد إيقاف لإلغاء تخصيص الجهاز الظاهري.
    4. حدد الشبكة، ثم قم بتوصيل واجهة الشبكة. في القائمة المنسدلة إرفاق واجهة شبكة، حدد واجهات الشبكة التي تم إنشاؤها مسبقًا للشبكات الفرعية inter وhsr.
    5. حدد حفظ.
    6. كرر الخطوات من b إلى e للأجهزة الظاهرية المتبقية (في مثالنا، hana-s1-db2، hana-s1-db3، hana-s2-db1، hana-s2-db2 وhana-s2-db3)
    7. اترك الأجهزة الظاهرية في حالة توقف في الوقت الحالي.
  5. يمكنك تمكين الشبكات المسرعة لواجهات الشبكة الإضافية للشبكات الفرعية inter وhsr من خلال القيام بالخطوات التالية:

    1. افتح Azure Cloud Shell في مدخل Azure.

    2. نفّذ الأوامر التالية لتمكين الشبكات المسرعة لواجهات الشبكة الإضافية، والتي يتم توصيلها بالشبكات الفرعية inter وhsr.

      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-inter --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-inter --accelerated-networking true
      
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-hsr --accelerated-networking true
      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-hsr --accelerated-networking true
      
  6. ابدأ تشغيل الأجهزة الظاهرية لقاعدة بيانات HANA.

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

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

إشعار

  • لتوسيع نطاق HANA، حدد NIC للشبكة الفرعية client عند إضافة الأجهزة الظاهرية في تجمع الخلفية.
  • تضيف المجموعة الكاملة من الأوامر في Azure CLI وPowerShell الأجهزة الظاهرية مع NIC الأساسي في تجمع الخلفية.

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

إشعار

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

هام

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

توزيع NFS

هناك خياران لنشر Azure native NFS لـ /hana/shared. يمكنك نشر وحدة تخزين NFS على ملفات Azure NetApp أو مشاركة NFS على ملفات Azure. تدعم ملفات Azure بروتوكول NFSv4.1، يدعم NFS على ملفات Azure NetApp كلا من NFSv4.1 وNFSv3.

تصف الأقسام التالية خطوات نشر NFS - ستحتاج إلى تحديد خيار واحد فقط.

تلميح

لقد اخترت توزيع /hana/shared على مشاركة NFS على ملفات Azure أو وحدة تخزين NFS على ملفات Azure NetApp.

نشر البنية الأساسية لـAzure NetApp Files

نشر وحدات تخزين Azure NetApp Files لنظام ملفات /hana/shared. تحتاج إلى وحدة تخزين /hana/shared منفصلة لكل موقع نسخ متماثل لنظام HANA. لمزيد من المعلومات، راجع إعداد البنية الأساسية لملفات Azure NetApp.

في هذا المثال، يمكنك استخدام وحدات تخزين Azure NetApp Files التالية:

  • وحدة التخزين HN1-shared-s1 (nfs://10.23.1.7/HN1-shared-s1)
  • وحدة التخزين HN1-shared-s2 (nfs://10.23.1.7/HN1-shared-s2)

نشر NFS على البنية الأساسية لملفات Azure

نشر مشاركات Azure Files NFS لنظام الملفات /hana/shared. ستحتاج إلى مشاركة NFS منفصلة /hana/shared لملفات Azure لكل موقع نسخ متماثل لنظام HANA. لمزيد من المعلومات، راجع كيفية إنشاء مشاركة NFS.

في هذا المثال، تم استخدام مشاركات Azure Files NFS التالية:

  • share hn1-shared-s1 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1)
  • share hn1-shared-s2 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2)

تكوين نظام التشغيل وإعداده

الإرشادات الواردة في الأقسام التالية مسبوقة بأحد الاختصارات التالية:

  • [أ]: ينطبق على جميع العقد
  • [A]: ينطبق على جميع عقد قاعدة بيانات HANA
  • [M]: ينطبق على عقدة صانع الأغلبية
  • [AH1]: ينطبق على جميع عُقد قاعدة بيانات HANA على SITE 1
  • [AH2]: ينطبق على جميع عُقد قاعدة بيانات HANA على SITE 2
  • [1]: لا ينطبق إلا على عقدة قاعدة بيانات HANA 1، على SITE 1
  • [2]: لا ينطبق إلا على عقدة قاعدة بيانات HANA 1، SITE 2

يمكنك تكوين نظام التشغيل وإعداده من خلال التالي:

  1. [A] الحفاظ على ملفات المضيف على الأجهزة الظاهرية. قم بتضمين إدخالات لجميع الشبكات الفرعية. تمت إضافة الإدخالات التالية إلى /etc/hosts لهذا المثال.

    # Client subnet
    10.23.0.11 hana-s1-db1
    10.23.0.12 hana-s1-db1
    10.23.0.13 hana-s1-db2
    10.23.0.14 hana-s2-db1
    10.23.0.15 hana-s2-db2
    10.23.0.16 hana-s2-db3
    10.23.0.17 hana-s-mm
    # Internode subnet
    10.23.1.138 hana-s1-db1-inter
    10.23.1.139 hana-s1-db2-inter
    10.23.1.140 hana-s1-db3-inter
    10.23.1.141 hana-s2-db1-inter
    10.23.1.142 hana-s2-db2-inter
    10.23.1.143 hana-s2-db3-inter
    # HSR subnet
    10.23.1.202 hana-s1-db1-hsr
    10.23.1.203 hana-s1-db2-hsr
    10.23.1.204 hana-s1-db3-hsr
    10.23.1.205 hana-s2-db1-hsr
    10.23.1.206 hana-s2-db2-hsr
    10.23.1.207 hana-s2-db3-hsr
    
  2. [A] أنشئ ملف التكوين /etc/sysctl.d/ms-az.conf باستخدام Microsoft لإعدادات تكوين Azure.

    vi /etc/sysctl.d/ms-az.conf
    
    # Add the following entries in the configuration file
    
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv4.tcp_max_syn_backlog = 16348
    net.ipv4.conf.all.rp_filter = 0
    sunrpc.tcp_slot_table_entries = 128
    vm.swappiness=10
    

    تلميح

    تجنب الإعداد net.ipv4.ip_local_port_range وnet.ipv4.ip_local_reserved_ports بشكل واضح في ملفات التكوين sysctl، للسماح لعامل مضيف SAP بإدارة نطاقات المنافذ. لمزيد من التفاصيل، راجع ملاحظة SAP 2382421.

  3. [A] قم بتثبيت حزمة عميل NFS.

    yum install nfs-utils
    
  4. [AH]تكوين Red Hat لـ HANA.

    يمكنك تكوين RHEL، كما هو موضح في مدخل عملاء Red Hat وفي ملاحظات SAP التالية:

إعداد أنظمة الملفات

توفر الأقسام التالية خطوات لإعداد أنظمة الملفات الخاصة بك. لقد اخترت نشر /hana/shared' على مشاركة NFS على Azure Files أو وحدة تخزين NFS على Azure NetApp Files.

تحميل أنظمة الملفات المشتركة (Azure NetApp Files NFS)

في هذا المثال، يتم نشر أنظمة ملفات HANA المشتركة على ملفات Azure NetApp وتثبيتها عبر NFSv4.1. اتبع الخطوات الواردة في هذا القسم، فقط إذا كنت تستخدم NFS على Azure NetApp Files.

  1. [AH] قم بإعداد نظام التشغيل لتشغيل SAP HANA على أنظمة NetApp باستخدام NFS، كما هو موضح في ملاحظة SAP 3024346 - إعدادات Linux Kernel ل NetApp NFS. أنشئ ملف التكوين/etc/sysctl.d/91-NetApp-HANA.conf لإعدادات تكوين NetApp.

    vi /etc/sysctl.d/91-NetApp-HANA.conf
    
    # Add the following entries in the configuration file
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 131072 16777216
    net.ipv4.tcp_wmem = 4096 16384 16777216
    net.core.netdev_max_backlog = 300000
    net.ipv4.tcp_slow_start_after_idle=0
    net.ipv4.tcp_no_metrics_save = 1
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_sack = 1
    
  2. [AH] اضبط إعدادات sunrpc، كما هو موصى به في ملاحظة SAP 3024346 - إعدادات Linux Kernel ل NetApp NFS.

    vi /etc/modprobe.d/sunrpc.conf
    
    # Insert the following line
    options sunrpc tcp_max_slot_table_entries=128
    
  3. [AH] إنشاء نقاط تركيب لوحدات تخزين قاعدة بيانات HANA.

    mkdir -p /hana/shared
    
  4. [AH] تحقق من إعداد نطاق NFS. تأكد من تكوين المجال كمجال Azure NetApp Files الافتراضي: defaultv4iddomain.com. تأكد من ضبط التعيين على nobody.
    (هذه الخطوة مطلوبة فقط في حالة استخدام Azure NetAppFiles NFS v4.1.)

    هام

    تأكد من ضبط مجال NFS على /etc/idmapd.conf في الجهاز الظاهري لمطابقة تكوين المجال الافتراضي على Azure NetApp Files: defaultv4iddomain.com. إذا كان هناك عدم تطابق بين تكوين المجال على عميل NFS وخادم NFS، سيتم عرض أذونات الملفات الموجودة على وحدات تخزين Azure NetApp التي تم تركيبها على الأجهزة الظاهرية كـ nobody.

    sudo cat /etc/idmapd.conf
    # Example
    [General]
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  5. [AH] تحقق من صحة nfs4_disable_idmapping. يجب ضبطه على Y. لإنشاء بنية الدليل حيث يوجد nfs4_disable_idmapping، شغّل أمر التركيب. لن تتمكن من إنشاء الدليل يدويًا ضمن /sys/modules، لأن الوصول محجوز للنواة وبرامج تشغيل الجهاز.
    هذه الخطوة مطلوبة فقط، في حالة استخدام Azure NetAppFiles NFSv4.1.

    # Check nfs4_disable_idmapping 
    cat /sys/module/nfs/parameters/nfs4_disable_idmapping
    # If you need to set nfs4_disable_idmapping to Y
    mkdir /mnt/tmp
    mount 10.9.0.4:/HN1-shared /mnt/tmp
    umount  /mnt/tmp
    echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
    # Make the configuration permanent
    echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
    

    لمزيد من المعلومات حول كيفية تغيير المعلمة nfs4_disable_idmapping، راجع مدخل عملاء Red Hat.

  6. [AH1] قم بتركيب وحدات تخزين ملفات Azure NetApp المشتركة على الأجهزة الظاهرية لـ SITE1 HANA DB.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s1 /hana/shared
    
  7. [AH2] تركيب وحدات تخزين Azure NetApp Files المشتركة على الأجهزة الظاهرية لقاعدة بيانات SITE2 HANA.

    sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s2 /hana/shared
    
  8. [AH] التحقق من أن أنظمة الملفات المقابلة /hana/shared/ مركّبة على جميع الأجهزة الظاهرية لقاعدة بيانات HANA مع إصدار بروتوكول NFS NFSv4.

    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from SITE 1, hana-s1-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7
    # Example from SITE 2, hana-s2-db1
    /hana/shared from 10.23.1.7:/HN1-shared-s2
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
    

تحميل أنظمة الملفات المشتركة (Azure Files NFS)

في هذا المثال، يتم نشر أنظمة ملفات HANA المشتركة على NFS على ملفات Azure. اتبع الخطوات الواردة في هذا القسم، فقط إذا كنت تستخدم NFS على Azure Files.

  1. [AH] إنشاء نقاط تركيب لوحدات تخزين قاعدة بيانات HANA.

    mkdir -p /hana/shared
    
  2. [AH1] قم بتركيب وحدات تخزين ملفات Azure NetApp المشتركة على الأجهزة الظاهرية لـ SITE1 HANA DB.

    sudo vi /etc/fstab
    # Add the following entry
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 /hana/shared  nfs nfsvers=4.1,sec=sys  0  0
    # Mount all volumes
    sudo mount -a 
    
  3. [AH2] تركيب وحدات تخزين Azure NetApp Files المشتركة على الأجهزة الظاهرية لقاعدة بيانات SITE2 HANA.

    sudo vi /etc/fstab
    # Add the following entries
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 /hana/shared  nfs nfsvers=4.1,sec=sys  0  0
    # Mount the volume
    sudo mount -a 
    
  4. [AH] التحقق من أن أنظمة الملفات المقابلة /hana/shared/ مركّبة على جميع الأجهزة الظاهرية لقاعدة بيانات HANA مع إصدار بروتوكول NFS NFSv4.1.

    sudo nfsstat -m
    # Example from SITE 1, hana-s1-db1
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1
     Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35
    # Example from SITE 2, hana-s2-db1
    sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2
     Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
    

إعداد البيانات وتسجيل أنظمة الملفات المحلية

في التكوين المعروض، يمكنك نشر أنظمة الملفات /hana/data و/hana/log على قرص مُدار، وإرفاق أنظمة الملفات هذه محليًا بكل جهاز ظاهري لقاعدة بيانات HANA. نفذ الخطوات التالية لإنشاء البيانات المحلية ووحدات تخزين السجل على كل جهاز ظاهري لقاعدة بيانات HANA.

إعداد تخطيط القرص باستخدام Logical Volume Manager (LVM). يفترض المثال التالي أن كل جهاز HANA ظاهري يحتوي على ثلاثة أقراص بيانات مرفقة، وأن هذه الأقراص تُستخدَم لإنشاء مجلدين.

  1. [AH]إعداد قائمة بجميع الأقراص المتوفرة:

    ls /dev/disk/azure/scsi1/lun*
    

    مثال على الإخراج:

    /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2 
    
  2. [AH] إنشاء وحدات تخزين فعلية لكافة الأقراص التي تريد استخدامها:

    sudo pvcreate /dev/disk/azure/scsi1/lun0
    sudo pvcreate /dev/disk/azure/scsi1/lun1
    sudo pvcreate /dev/disk/azure/scsi1/lun2
    
  3. [AH]إنشاء مجموعة وحدة تخزين لملفات البيانات. يمكنك استخدام مجموعة وحدة تخزين واحدة لملفات السجل وواحدة للدليل المشترك لـ 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
    
  4. [AH] إنشاء وحدات التخزين المنطقية. يتم إنشاء وحدة تخزين خطية عند استخدام lvcreate بدون مفتاح -i. نوصي بإنشاء وحدة تخزين خط الشريحة لتحسين أداء الإدخال/الإخراج. حَاذِ أحجام خط الشريحة مع القيم الموثقة في تكوينات تخزين أجهزة SAP Hana الظاهرية. يجب -iأن تكون الوسيطة هي عدد وحدات التخزين المادية الأساسية والوسيطة -I هي حجم الشريط. في هذه الحالة، تُستخدم وحدتي تخزين فعليتين لوحدة تخزين البيانات، لذلك يكون ضبط وسيطة المفتاح -i على 2. حجم خط الشريحة لوحدة تخزين البيانات هو 256 KiB. يتم استخدام وحدة تخزين فعلية واحدة لوحدة تخزين السجل، لذلك لا تحتاج إلى استخدام المفاتيح -i أو -I واضحة لأوامر وحدة تخزين السجل.

    هام

    استخدم المفتاح -i ثم اضبطه إلى عدد وحدة التخزين الفعلية الأساسية عند استخدام أكثر من وحدة تخزين فعلية لكل وحدة تخزين بيانات أو سجل أو وحدات تخزين مشتركة. استخدم المفتاح -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 mkfs.xfs /dev/vg_hana_data_HN1/hana_data
    sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log
    
  5. [AH] إنشاء الدلائل التركيب ونسخ UUID من جميع وحدات التخزين المنطقية:

    sudo mkdir -p /hana/data/HN1
    sudo mkdir -p /hana/log/HN1
    # Write down the ID of /dev/vg_hana_data_HN1/hana_data and /dev/vg_hana_log_HN1/hana_log
    sudo blkid
    
  6. [AH] إنشاء إدخالات fstab لوحدات التخزين المنطقية وتركيب:

    sudo vi /etc/fstab
    

    إدراج السطر التالي في /etc/fstab الملف:

    /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_data_HN1-hana_data /hana/data/HN1 xfs  defaults,nofail  0  2
    /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_log_HN1-hana_log /hana/log/HN1 xfs  defaults,nofail  0  2
    

    تحميل وحدات التخزين الجديدة:

    sudo mount -a
    

التثبيت

في هذا المثال لنشر SAP Hana في تكوين موسع باستخدام HSR على أجهزة Azure الظاهرية، فأنت تستخدم HANA 2.0 SP4.

الاستعداد لتركيب HANA

  1. [AH] قبل تثبيت HANA، اضبط كلمة مرور الجذر. يمكنك تعطيل كلمة مرور الجذر بعد اكتمال التثبيت. تشغيل root كأمر passwd لضبط كلمة المرور.

  2. [1،2] تغيير الأذونات على /hana/shared.

    chmod 775 /hana/shared
    
  3. [1] تحقق من أنه يمكنك تسجيل الدخول إلى hana-s1-db2 وhana-s1-db3 عبر shell الآمن (SSH)، دون مطالبتك بكلمة مرور. إذا لم يكن الأمر كذلك، بدّل المفاتيح ssh، كما هو موثق في استخدام المصادقة المستندة إلى المفاتيح.

    ssh root@hana-s1-db2
    ssh root@hana-s1-db3
    
  4. [2] تحقق من أنه يمكنك تسجيل الدخول إلى hana-s2-db2 وhana-s2-db3 عبر SSH، دون مطالبتك بكلمة مرور. إذا لم يكن الأمر كذلك، بدّل المفاتيح ssh، كما هو موثق في استخدام المصادقة المستندة إلى المفاتيح.

    ssh root@hana-s2-db2
    ssh root@hana-s2-db3
    
  5. [AH] قم بتثبيت حزم إضافية، وهي مطلوبة ل HANA 2.0 المزود بحزمة الخدمة SP4. لمزيد من المعلومات، راجع ملاحظة SAP 2593824 لـRHEL 7.

    # If using RHEL 7
    yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1
    # If using RHEL 8
    yum install libatomic libtool-ltdl.x86_64
    
  6. [A] تعطيل جدار الحماية مؤقتًا، بحيث لا يتداخل مع تثبيت HANA. يمكنك إعادة تمكينه بعد الانتهاء من تثبيت HANA.

    # Execute as root
    systemctl stop firewalld
    systemctl disable firewalld
    

تثبيت HANA على العقدة الأولى في كل موقع

  1. [1] تثبيت SAP HANA باتباع الإرشادات الواردة في دليل التثبيت والتحديث SAP HANA 2.0. توضح الإرشادات التالية تثبيت SAP Hana على العقدة الأولى على SITE 1.

    1. ابدأ تشغيل برنامج hdblcm باعتباره root من دليل برامج تثبيت HANA. استخدم المعلمة internal_network وتجاوز مساحة العنوان للشبكة الفرعية، والتي تستخدم للاتصال الداخلي بين عُقد HANA الداخلية.

      ./hdblcm --internal_network=10.23.1.128/26
      
    2. في المطالبة، أدخل القيم التالية:

      • لاختيار إجراء: أدخل 1 (للتثبيت).
      • للحصول على مكونات إضافية للتثبيت: أدخل 2، 3.
      • بالنسبة لمسار التثبيت، اضغط على Enter (الإعدادات الافتراضية على /hana/shared).
      • بالنسبة إلى اسم المضيف المحلي، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى هل تريد إضافة مضيفين إلى النظام؟، أدخل n.
      • للحصول على معرف النظام SAP Hana، أدخل HN1.
      • بالنسبة إلى رقم المثيل [00]، أدخل 03.
      • بالنسبة إلى مجموعة عمال المضيف المحلي [افتراضي]، اضغط على Enter لقبول الإعداد الافتراضي.
      • لتحديد استخدام النظام / أدخل الفهرس [4]، أدخل 4 (للمخصص).
      • بالنسبة إلى موقع وحدات تخزين البيانات [/hana/data/HN1]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى موقع وحدات تخزين السجلات [/hana/log/HN1]، اضغط على Enter لقبول الإعداد الافتراضي.
      • لتقييد الحد الأقصى لتخصيص الذاكرة؟ [n]، أدخل n.
      • بالنسبة إلى اسم مضيف الشهادة للمضيف hana-s1-db1 [hana-s1-db1]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى كلمة مرور SAP Host Agent User (sapadm)، أدخل كلمة المرور.
      • بالنسبة إلى تأكيد كلمة مرور SAP Host Agent User (sapadm)، أدخل كلمة المرور.
      • بالنسبة إلى كلمة مرور مسؤول النظام (hn1adm)، أدخل كلمة المرور.
      • بالنسبة إلى الدليل الرئيسي لمسؤول النظام [/usr/sap/HN1/home]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى تسجيل دخول مسؤول النظام Shell [/bin/sh]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى معرف مستخدم مسؤول النظام [1001]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى إدخال معرف مجموعة المستخدمين (sapsys) [79]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى كلمة مرور مستخدم قاعدة بيانات النظام (النظام)، أدخل كلمة مرور النظام.
      • لتأكيد كلمة مرور مستخدم قاعدة بيانات النظام (النظام)، أدخل كلمة مرور النظام.
      • لإعادة تشغيل النظام بعد إعادة تشغيل الجهاز؟ [n]، أدخل n.
      • بالنسبة إلى هل تريد المتابعة (y/n)، تحقق من صحة الملخص وإذا كان كل شيء يبدو جيدا، فأدخل y.
  2. [2] كرر الخطوة السابقة لتثبيت SAP HANA على العقدة الأولى على SITE 2.

  3. [1،2] تحقق من global.ini.

    عرض global.ini، وتأكد من أن تكوين اتصال عقدة SAP Hana الداخلية في مكانه. تحقق من القسم communication. يجب أن يحتوي على مساحة عنوان الشبكة inter الفرعية، ويجب listeninterface تعيينه على .internal. تحقق من القسم internal_hostname_resolution. يجب أن يحتوي على عناوين IP لأجهزة HANA الظاهرية التي تنتمي إلى الشبكة الفرعية inter.

      sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      # Example from SITE1 
      [communication]
      internal_network = 10.23.1.128/26
      listeninterface = .internal
      [internal_hostname_resolution]
      10.23.1.138 = hana-s1-db1
      10.23.1.139 = hana-s1-db2
      10.23.1.140 = hana-s1-db3
    
  4. [1,2] أعد global.ini للتثبيت في بيئة غير مشتركة، كما هو موضح في ملاحظة SAP 2080991.

     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     [persistence]
     basepath_shared = no
    
  5. [1،2] أعد تشغيل SAP Hana لتنشيط التغييرات.

     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem
    
  6. [1،2] تحقق من أن واجهة العميل تستخدم عناوين IP من الشبكة الفرعية client للاتصال.

    # Execute as hn1adm
    /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname
    # Expected result - example from SITE 2
    "hana-s2-db1","net_publicname","10.23.0.14"
    

    للحصول على معلومات حول كيفية التحقق من التكوين، راجع SAP Note 2183363 - تكوين شبكة SAP HANA الداخلية.

  7. [AH] غيّر الأذونات على البيانات وأدلة السجل لتجنب خطأ تثبيت HANA.

     sudo chmod o+w -R /hana/data /hana/log
    
  8. [1] قم بتثبيت عقد HANA الثانوية. الإرشادات النموذجية في هذه الخطوة هي لـ SITE 1.

    1. ابدأ برنامج hdblcm المقيم باعتباره root.

       cd /hana/shared/HN1/hdblcm
       ./hdblcm 
      
    2. في المطالبة، أدخل القيم التالية:

      • لاختيار إجراء، أدخل 2 (لإضافة المضيفين).
      • لإدخال أسماء مضيفين مفصولة بفواصل لإضافتها، hana-s1-db2، hana-s1-db3.
      • للحصول على مكونات إضافية للتثبيت: أدخل 2، 3.
      • لإدخال اسم المستخدم الجذر [root]، اضغط على Enter لقبول الإعداد الافتراضي.
      • لتحديد أدوار المضيف 'hana-s1-db2' [1]، حدد 1 (للعامل).
      • لإدخال مجموعة تجاوز فشل المضيفة للمضيف 'hana-s1-db2' [افتراضي]، اضغط على Enter لقبول الإعداد الافتراضي.
      • لإدخال قسم التخزين للمضيف 'hana-s1-db2' [<<assign automatically>>]، اضغط على Enter لقبول الإعداد الافتراضي.
      • لإدخال مجموعة العامل للمضيف 'hana-s1-db2' [افتراضي]، اضغط على Enter لقبول الإعداد الافتراضي.
      • لتحديد أدوار المضيف 'hana-s1-db3' [1]، حدد 1 (للعامل).
      • لإدخال مجموعة تجاوز فشل المضيفة للمضيف 'hana-s1-db3' [افتراضي]، اضغط على Enter لقبول الإعداد الافتراضي.
      • لإدخال قسم التخزين للمضيف 'hana-s1-db3' [<<assign automatically>>]، اضغط على Enter لقبول الإعداد الافتراضي.
      • لإدخال مجموعة العامل للمضيف 'hana-s1-db3' [افتراضي]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى كلمة مرور مسؤول النظام (hn1adm)، أدخل كلمة المرور.
      • لإدخال كلمة مرور SAP Host Agent User (sapadm)، أدخل كلمة المرور.
      • بالنسبة إلى تأكيد كلمة مرور SAP Host Agent User (sapadm)، أدخل كلمة المرور.
      • بالنسبة إلى اسم مضيف الشهادة للمضيف hana-s1-db2 [hana-s1-db2]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى اسم مضيف الشهادة للمضيف hana-s1-db3 [hana-s1-db3]، اضغط على Enter لقبول الإعداد الافتراضي.
      • بالنسبة إلى هل تريد المتابعة (y/n)، تحقق من صحة الملخص وإذا كان كل شيء يبدو جيدا، فأدخل y.
  9. [2] كرر الخطوة السابقة لتثبيت عقد SAP HANA الثانوية على SITE 2.

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

تتيح لك الخطوات التالية الإعداد للنسخ المتماثل للنظام:

  1. [1] تكوين النسخ المتماثل للنظام على SITE 1:

    نسخة احتياطية قواعد البيانات كـ hn1adm:

    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')"
    

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

    scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/
    scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY  hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
    

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

    hdbnsutil -sr_enable --name=HANA_S1
    
  2. [2] تكوين النسخ المتماثل للنظام على SITE 2:

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

    sapcontrol -nr 03 -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2
    sapcontrol -nr 03 -function StartSystem
    
  3. [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 |
    # | -------- | ------------- | ----- | ------------ | --------- | ------- | --------- | ------------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
    # | HN1      | hana-s1-db3   | 30303 | indexserver  |         5 |       1 | HANA_S1   | hana-s2-db3   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | SYSTEMDB | hana-s1-db1   | 30301 | nameserver   |         1 |       1 | HANA_S1   | hana-s2-db1   |     30301 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db1   | 30307 | xsengine     |         2 |       1 | HANA_S1   | hana-s2-db1   |     30307 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db1   | 30303 | indexserver  |         3 |       1 | HANA_S1   | hana-s2-db1   |     30303 |         2 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hana-s1-db2   | 30303 | indexserver  |         4 |       1 | HANA_S1   | hana-s2-db2   |     30303 |         2 | HANA_S2   | 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: HANA_S1
    
  4. [1،2] غيّر تكوين HANA بحيث يتم توجيه الاتصال الخاص بالنسخ المتماثل لنظام HANA من خلال واجهات الشبكة الظاهرية للنسخ المتماثل لنظام HANA.

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

      sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
      
    2. حرر global.ini لإضافة تعيين المضيف للنسخ المتماثل لنظام HANA. استخدم عناوين IP من الشبكة الفرعية hsr.

      sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
      #Add the section
      [system_replication_hostname_resolution]
      10.23.1.202 = hana-s1-db1
      10.23.1.203 = hana-s1-db2
      10.23.1.204 = hana-s1-db3
      10.23.1.205 = hana-s2-db1
      10.23.1.206 = hana-s2-db2
      10.23.1.207 = hana-s2-db3
      
    3. ابدأ HANA على كلا الموقعين.

       sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
      

    لمزيد من المعلومات، راجع تحليل اسم المضيف للنسخ المتماثل للنظام.

  5. [AH] أعد تمكين جدار الحماية وافتح المنافذ الضرورية.

    1. أعد تمكين جدار الحماية.

      # Execute as root
      systemctl start firewalld
      systemctl enable firewalld
      
    2. افتح منافذ جدار الحماية الضرورية. ستحتاج إلى ضبط منافذ رقم مثيل HANA الخاص بك.

      هام

      أنشئ قواعد جدار الحماية للسماح باتصال عقدة HANA الداخلية ونسبة استخدام شبكة العميل. يتم سرد المنافذ المطلوبة في منافذ TCP/IP لجميع منتجات SAP. الأوامر التالية هي مجرد مثال. في هذا السيناريو، يمكنك استخدام رقم النظام 03.

       # Execute as root
       sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp --permanent
       sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp
      

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

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

هام

لا تضبط quorum expected-votes على 2. هذا ليس نظام مجموعة من عقدتين. تأكد من تمكين خاصية نظام المجموعة concurrent-fencing، بحيث يتم إلغاء تسلسل سياج العقدة.

إنشاء موارد نظام الملفات

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

  1. [1،2] إيقاف SAP Hana على موقعي النسخ المتماثل. تشغيل كـ <sid>adm.

    sapcontrol -nr 03 -function StopSystem
    
  2. [AH] إلغاء تحميل نظام الملفات /hana/shared، الذي تم تركيبه مؤقتًا للتثبيت على جميع الأجهزة الظاهرية لقاعدة بيانات HANA. قبل أن تتمكن من إلغاء تركيبه، تحتاج إلى إيقاف أي عمليات وجلسات استخدام نظام الملفات.

    umount /hana/shared 
    
  3. [1] إنشاء موارد نظام مجموعة الملفات لـ /hana/shared في الحالة المعطّلة. تستخدم --disabled لأنه يجب عليك تحديد قيود الموقع قبل تمكين التركيبات.
    لقد اخترت نشر /hana/shared' على مشاركة NFS على Azure Files أو وحدة تخزين NFS على Azure NetApp Files.

    • في هذا المثال، يتم نشر نظام الملفات '/hana/shared' على Azure NetApp Files ويتم تحميله عبر NFSv4.1. اتبع الخطوات الواردة في هذا القسم، فقط إذا كنت تستخدم NFS على Azure NetApp Files.

      # /hana/shared file system for site 1
      pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1  directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # /hana/shared file system for site 2
      pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1 directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # clone the /hana/shared file system resources for both site1 and site2
      pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true
      pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
      
      

    تسمح قيم المهلات المقترحة لموارد نظام المجموعة بتحمل الإيقاف المؤقت الخاص بالبروتوكول، المتعلق بتجديدات تأجير NFSv4.1 على Azure NetApp Files. لمزيد من المعلومات، راجع NFS في أفضل ممارسات NetApp.

    • في هذا المثال، يتم نشر نظام الملفات '/hana/shared' على NFS على Azure Files. اتبع الخطوات الواردة في هذا القسم، فقط إذا كنت تستخدم NFS على Azure Files.

      # /hana/shared file system for site 1
      pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1  directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # /hana/shared file system for site 2
      pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 directory=/hana/shared \
      fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \
      op start interval=0 timeout=120 op stop interval=0 timeout=120
      
      # clone the /hana/shared file system resources for both site1 and site2
      pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true
      pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
      

      تتم إضافة السمة OCF_CHECK_LEVEL=20 إلى عملية جهاز المراقبة، بحيث تقوم عمليات المراقبة بإجراء اختبار قراءة/كتابة على نظام الملفات. بدون هذه السمة، تتحقق عملية تشغيل المراقبة فقط من تحميل نظام الملفات. قد يكون هذا مشكلة لأنه عند فقدان الاتصال، قد يظل نظام الملفات مركبًا، على الرغم من تعذّر الوصول إليه.

      تتم إضافة السمة on-fail=fence أيضًا إلى عملية المراقبة. باستخدام هذا الخيار، إذا فشلت عملية المراقبة على إحدى العقد، فسيتم تسييج هذه العقدة على الفور. بدون هذا الخيار، يكون السلوك الافتراضي هو إيقاف جميع الموارد التي تعتمد على المورد الفاشل، ثم إعادة تشغيل المورد الفاشل، ثم بدء جميع الموارد التي تعتمد على المورد الفاشل. لا يمكن أن يستغرق هذا السلوك وقتًا طويلًا فقط عندما يعتمد مورد SAP HANA على المورد الفاشل، ولكنه قد يفشل أيضًا تمامًا. لا يمكن أن يتوقف مورد SAP HANA بنجاح، إذا تعذّر الوصول إلى مشاركة NFS التي تحتوي على ثنائيات HANA.

      قد تحتاج المهلات في التكوينات أعلاه إلى التكيف مع إعداد SAP المحدد.

  4. [1] تكوين سمات العقدة والتحقق منها. يتم تعيين السمة S1 لكافة عُقد قاعدة بيانات SAP Hana على موقع النسخ المتماثل 1، ويتم تعيين السمة S2 لكافة عُقد قاعدة بيانات SAP Hana على موقع النسخ المتماثل 2.

    # HANA replication site 1
    pcs node attribute hana-s1-db1 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db2 NFS_SID_SITE=S1
    pcs node attribute hana-s1-db3 NFS_SID_SITE=S1
    # HANA replication site 2
    pcs node attribute hana-s2-db1 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db2 NFS_SID_SITE=S2
    pcs node attribute hana-s2-db3 NFS_SID_SITE=S2
    # To verify the attribute assignment to nodes execute
    pcs node attribute
    
  5. [1] تكوين القيود التي تحدد مكان تحميل أنظمة ملفات NFS، وتمكين موارد نظام الملفات.

    # Configure the constraints
    pcs constraint location fs_hana_shared_s1-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S1
    pcs constraint location fs_hana_shared_s2-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S2
    # Enable the file system resources
    pcs resource enable fs_hana_shared_s1
    pcs resource enable fs_hana_shared_s2
    

    عند تمكين موارد نظام الملفات، سيعمل نظام المجموعة على تركيب نظام الملفات /hana/shared.

  6. [AH] تحقق من تحميل وحدات تخزين Azure NetApp Files ضمن /hana/shared، على كافة الأجهزة الظاهرية لقاعدة بيانات HANA على كلا الموقعين.

    • على سبيل المثال، إذا كنت تستخدم Azure NetApp Files:

      sudo nfsstat -m
      # Verify that flag vers is set to 4.1 
      # Example from SITE 1, hana-s1-db1
      /hana/shared from 10.23.1.7:/HN1-shared-s1
       Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7
      # Example from SITE 2, hana-s2-db1
      /hana/shared from 10.23.1.7:/HN1-shared-s2
       Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
      
    • على سبيل المثال، إذا كنت تستخدم Azure Files NFS:

      sudo nfsstat -m
      # Example from SITE 1, hana-s1-db1
      sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1
       Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35
      # Example from SITE 2, hana-s2-db1
      sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2
       Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
      
  7. [1] تكوين موارد السمات واستنساخها، وتكوين القيود، كما يلي:

    # Configure the attribute resources
    pcs resource create hana_nfs_s1_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s1_active
    pcs resource create hana_nfs_s2_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s2_active
    # Clone the attribute resources
    pcs resource clone hana_nfs_s1_active meta clone-node-max=1 interleave=true
    pcs resource clone hana_nfs_s2_active meta clone-node-max=1 interleave=true
    # Configure the constraints, which will set the attribute values
    pcs constraint order fs_hana_shared_s1-clone then hana_nfs_s1_active-clone
    pcs constraint order fs_hana_shared_s2-clone then hana_nfs_s2_active-clone
    

    تلميح

    إذا كان عملية التكوين تتضمن أنظمة ملفات أخرى غير /hana/shared، وكانت أنظمة الملفات هذه مثبتة بتقنية NFS، فقم بتضمين الخيار sequential=false. يضمن هذا الخيار عدم وجود تبعيات للطلب بين أنظمة الملفات. يجب أن تبدأ جميع أنظمة الملفات المثبتة على NFS قبل مورد السمة المقابل، ولكنها لا تحتاج إلى بدء تشغيل بأي ترتيب بالنسبة لبعضها البعض. لمزيد من المعلومات، راجع كيف أعمل تكوين HSR SAP Hana قابل للتوسعة في نظام مجموعة Pacemaker عندما تكون أنظمة ملفات HANA هي مشاركات NFS.

  8. [1] ضع Pacemaker في وضع الصيانة، استعدادًا لإنشاء موارد نظام مجموعة HANA.

    pcs property set maintenance-mode=true
    

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

أنت الآن جاهز لإنشاء موارد نظام المجموعة:

  1. [A] تثبيت عامل موارد HANA قابل للتوسعة على جميع عُقد نظام المجموعة، بما في ذلك صانع الأغلبية.

    yum install -y resource-agents-sap-hana-scaleout 
    

    إشعار

    للحصول على الحد الأدنى من الإصدار المدعوم من الحزمة resource-agents-sap-hana-scaleout لإصدار نظام التشغيل الخاص بك، راجع نهج الدعم لنظم مجموعات RHEL ذات قابلية الوصول العالية - إدارة SAP Hana في نظام مجموعة .

  2. [1،2] تثبيت إخطار النسخ المتماثل لنظام HANA على عقدة قاعدة بيانات HANA واحدة في كل موقع نسخ متماثل للنظام. يجب أن يظل SAP Hana متراجعًا.

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

      mkdir -p /hana/shared/myHooks
      cp /usr/share/SAPHanaSR-ScaleOut/SAPHanaSR.py /hana/shared/myHooks
      chown -R hn1adm:sapsys /hana/shared/myHooks
      
    2. ضبط global.ini.

      # add to global.ini
      [ha_dr_provider_SAPHanaSR]
      provider = SAPHanaSR
      path = /hana/shared/myHooks
      execution_order = 1
      
      [trace]
      ha_dr_saphanasr = info
      
  3. [AH] تتطلب المجموعة تكوين sudoers على كل عقدة مجموعة لـ <sid>adm. في هذا المثال، يمكنك تحقيق ذلك عن طريق إنشاء ملف جديد. شغّل الأوامر كـ root.

    sudo visudo -f /etc/sudoers.d/20-saphana
    # Insert the following lines and then save
    Cmnd_Alias SOK = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SOK -t crm_config -s SAPHanaSR
    Cmnd_Alias SFAIL = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SFAIL -t crm_config -s SAPHanaSR
    hn1adm ALL=(ALL) NOPASSWD: SOK, SFAIL
    Defaults!SOK, SFAIL !requiretty
    
  4. [1,2] بدء 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_*
    
     # Example entries
     # 2020-07-21 22:04:32.364379 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:46.905661 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.092016 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:52.782774 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:04:53.117492 ha_dr_SAPHanaSR SFAIL
     # 2020-07-21 22:06:35.599324 ha_dr_SAPHanaSR SOK
    
  6. [1] إنشاء موارد نظام مجموعة HANA. يمكنك تشغيل الأوامر كـ root.

    1. تأكد من أن نظام المجموعة في وضع الصيانة بالفعل.

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

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopologyScaleOut \
       SID=HN1 InstanceNumber=03 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      

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

      pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopology \
       SID=HN1 InstanceNumber=03 meta clone-node-max=1 interleave=true \
       op methods interval=0s timeout=5 \
       op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600
      
      pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
      
    3. أنشئ مورد مثيل HANA.

      إشعار

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

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

      pcs resource create SAPHana_HN1_HDB03 SAPHanaController \
       SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
       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
      
      pcs resource master msl_SAPHana_HN1_HDB03 SAPHana_HN1_HDB03 \
       meta master-max="1" clone-node-max=1 interleave=true
      

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

      pcs resource create SAPHana_HN1_HDB03 SAPHanaController \
       SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
       op demote interval=0s timeout=320 op methods interval=0s timeout=5 \
       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
      
      pcs resource promotable SAPHana_HN1_HDB03 \
       meta master-max="1" clone-node-max=1 interleave=true
      

      هام

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

    4. أنشئ عنوان IP الافتراضي والموارد المرتبطة به.

      pcs resource create vip_HN1_03 ocf:heartbeat:IPaddr2 ip=10.23.0.18 op monitor interval="10s" timeout="20s"
      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
      
    5. أنشئ قيود نظام المجموعة.

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

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then msl_SAPHana_HN1_HDB03
      
      pcs constraint colocation add g_ip_HN1_03 with master msl_SAPHana_HN1_HDB03 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      

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

      #Start HANA topology, before the HANA instance
      pcs constraint order SAPHanaTopology_HN1_HDB03-clone then SAPHana_HN1_HDB03-clone
      
      pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_HDB03-clone 4000
      #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node
      pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
      
  7. [1 ] ضع المجموعة خارج وضع الصيانة. تأكد من أن حالة نظام المجموعة ok، وبدء تشغيل كافة الموارد.

    sudo pcs property set maintenance-mode=false
    #If there are failed cluster resources, you may need to run the next command
    pcs resource cleanup
    

    إشعار

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

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

بدءًا من SAP Hana 2.0 SPS 01، يسمح SAP بالإعدادات النشطة / الممكّنة للقراءة للنسخ المتماثل لنظام SAP Hana. باستخدام هذه الإمكانية، يمكنك استخدام الأنظمة الثانوية للنسخ المتماثل لنظام SAP Hana بنشاط لأحمال العمل كثيفة القراءة. لدعم مثل هذا الإعداد في مجموعة، يلزمك عنوان IP افتراضي ثانٍ يسمح للعملاء بالوصول إلى قاعدة بيانات SAP HANA الثانوية الممكّنة للقراءة. للتأكد من أنه لا يزال من الممكن الوصول إلى موقع النسخ المتماثل الثانوي بعد حدوث الاستحواذ، يحتاج نظام المجموعة إلى نقل عنوان IP الظاهري مع ثانوي مورد SAP Hana.

يصف هذا القسم الخطوات الإضافية التي يجب اتخاذها لإدارة هذا النوع من النسخ المتماثل للنظام في نظام مجموعة Red Hat ذات قابلية وصول عالية باستخدام عنوان IP افتراضي ثانٍ.

قبل المتابعة، تأكد من تكوين نظام مجموعة Red Hat ذات قابلية وصول عالية بالكامل، وإدارة قاعدة بيانات SAP Hana، كما هو موضح سابقًا في هذه المقالة.

قابلية وصول عالية لتوسيع SAP HANA باستخدام سيناريو ثانوي تم تمكينه للقراءة

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

لمتابعة توفير عنوان IP الظاهري الثاني، تأكد من تكوين Azure Load Balancer كما هو موضح في تكوين موازن تحميل Azure.

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

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

    1. افتح جزء موازن التحميل، وحدد مجموعة IP الواجهة الأمامية، وحدد إضافة.
    2. أدخل اسم مجموعة IP الواجهة الأمامية الثاني (على سبيل المثال، hana-secondaryIP).
    3. اضبط التعيين على ثابت وأدخل عنوان IP (على سبيل المثال، 10.23.0.19).
    4. حدد موافق.
    5. بعد إنشاء مجموعة IP الواجهة الأمامية الجديدة، لاحظ عنوان IP المجموعة.
  2. بعد ذلك، قم بإنشاء فحص السلامة:

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

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

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

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

sapcontrol -nr 03 -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2 --operationMode=logreplay_readaccess 

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

يمكنك تكوين عنوان IP الظاهري الثاني والقيود الإضافية باستخدام الأوامر التالية. إذا كان المثيل الثانوي متوقفًا عن التشغيل، بدّل عنوان IP الظاهري الثانوي إلى المثيل الأساسي.

pcs property set maintenance-mode=true

pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.23.0.19"
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

# RHEL 8.x: 
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50  hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote  SAPHana_HN1_HDB03-clone then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave SAPHana_HN1_HDB03-clone 5

# RHEL 7.x:
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50  hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote  msl_SAPHana_HN1_HDB03 then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave msl_SAPHana_HN1_HDB03 5

pcs property set maintenance-mode=false

تأكد من أن حالة نظام المجموعة ok، وبدء تشغيل كافة الموارد. سيتم تشغيل IP الافتراضي الثاني على الموقع الثانوي إلى جانب مورد SAP Hana ثانوي.

# Example output from crm_mon
#Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#
#Active resources:
#
#rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
#Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
#    Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
#    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
#    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
#    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
#    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
#    Masters: [ hana-s1-db1 ]
#    Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Resource Group: g_ip_HN1_03
#    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
#    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
#Resource Group: g_secip_HN1_03
#    secnc_HN1_03       (ocf::heartbeat:azure-lb):      Started hana-s2-db1
#    secvip_HN1_03      (ocf::heartbeat:IPaddr2):       Started hana-s2-db1

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

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

  • عندما ينتقل مورد نظام المجموعة SAPHana_HN1_HDB03 إلى الموقع الثانوي (S2)، سينتقل عنوان IP الظاهري الثاني إلى الموقع الآخر، hana-s1-db1. في حالة تكوين AUTOMATED_REGISTER="false"، ولم يتم تسجيل النسخ المتماثل لنظام HANA تلقائيًا، يمكنك تشغيل عنوان IP الظاهري الثاني على hana-s2-db1.

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

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

اختبار تجاوز فشل SAP Hana

  1. قبل بدء الاختبار، تحقق من نظام المجموعة وحالة النسخ المتماثل لنظام SAP Hana.

    1. تحقق من عدم وجود إجراءات نظام مجموعة فاشلة.

      #Verify that there are no failed cluster actions
      pcs status
      # Example
      #Stack: corosync
      #Current DC: hana-s-mm (version 1.1.19-8.el7_6.5-c3c624ea3d) - partition with quorum
      #Last updated: Thu Sep 24 06:00:20 2020
      #Last change: Thu Sep 24 05:59:17 2020 by root via crm_attribute on hana-s1-db1
      #
      #7 nodes configured
      #45 resources configured
      #
      #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #
      #Active resources:
      #
      #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
      #Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
      #    Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
      #Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
      #    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
      #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
      #Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
      #    Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
      #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
      #    Masters: [ hana-s1-db1 ]
      #    Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
      #Resource Group: g_ip_HN1_03
      #    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
      #    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
      
    2. تحقق من مزامنة النسخ المتماثل لنظام SAP Hana.

      # Verify HANA HSR is in sync
      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 |
      #| -------- | ----------- | ----- | ------------ | --------- | ------- | --------- | ------------- | -------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
      #| HN1      | hana-s1-db3 | 30303 | indexserver  |         5 |       2 | HANA_S1   | hana-s2-db3 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db2 | 30303 | indexserver  |         4 |       2 | HANA_S1   | hana-s2-db2 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |  
      #| SYSTEMDB | hana-s1-db1 | 30301 | nameserver   |         1 |       2 | HANA_S1   | hana-s2-db1 |     30301  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30307 | xsengine     |         2 |       2 | HANA_S1   | hana-s2-db1 |     30307  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      #| HN1      | hana-s1-db1 | 30303 | indexserver  |         3 |       2 | HANA_S1   | hana-s2-db1 |     30303  |         1 | HANA_S2   | YES           | SYNC        | ACTIVE      |                |
      
      #status system replication site "1": ACTIVE
      #overall system replication status: ACTIVE
      
      #Local System Replication State
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      #mode: PRIMARY
      #site id: 1
      #site name: HANA_S1
      
  2. تحقق من تكوين نظام المجموعة لسيناريو فشل، عندما تفقد عقدة الوصول إلى مشاركة NFS (/hana/shared).

    تعتمد عوامل موارد SAP Hana على الثنائيات المخزنة عليها /hana/sharedلتنفيذ العمليات أثناء تجاوز الفشل. يتم تركيب نظام ملفات /hana/shared عبر NFS في التكوين المعروض. الاختبار الذي يمكن إجراؤه، هو إنشاء قاعدة جدار حماية مؤقتة لمنع الوصول إلى نظام الملفات المحمّل على NFS /hana/shared على أحد الأجهزة الظاهرية الخاصة بالموقع الأساسي. يتحقق هذا النهج من أن نظام المجموعة سيفشل في حالة فقدان الوصول إلى /hana/shared موقع النسخ المتماثل للنظام النشط.

    النتيجة المتوقعة: عند حظر الوصول إلى نظام الملفات المحمّل على NFS /hana/shared على أحد الأجهزة الظاهرية الأساسية للموقع، ستفشل عملية المراقبة التي تقوم بإجراء عملية قراءة/كتابة على نظام الملفات، حيث إنها غير قادرة على الوصول إلى نظام الملفات وستقوم بتشغيل تجاوز فشل مورد HANA. من المتوقع الحصول على نفس النتيجة عندما تفقد عقدة HANA الوصول إلى مشاركة NFS.

    يمكنك التحقق من حالة موارد نظام المجموعة عن طريق تشغيل crm_mon أو pcs status. حالة المورد قبل بدء الاختبار:

    # Output of crm_mon
    #7 nodes configured
    #45 resources configured
    
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    #
    #Active resources:
    
    #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
    # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
    #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
    #     Masters: [ hana-s1-db1 ]
    #     Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Resource Group: g_ip_HN1_03
    #     nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s1-db1
    #     vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s1-db1
    

    لمحاكاة الفشل لـ /hana/shared:

    • إذا كنت تستخدم NFS على ANF، فتأكد أولًا من عنوان IP لوحدة تخزين ANF /hana/shared على الموقع الأساسي. يمكنك القيام بذلك عن طريق تشغيل df -kh|grep /hana/shared.
    • إذا كنت تستخدم NFS على Azure Files، فحدد أولًا عنوان IP لنقطة النهاية الخاصة لحساب التخزين الخاص بك.

    ثم قم بإعداد قاعدة جدار حماية مؤقتة لمنع الوصول إلى عنوان IP الخاص بنظام ملفات NFS /hana/shared عن طريق تنفيذ الأمر التالي على أحد الأجهزة الظاهرية الأساسية لموقع النسخ المتماثل لنظام HANA.

    في هذا المثال، تم تنفيذ الأمر على hana-s1-db1 لوحدة تخزين /hana/sharedANF .

    iptables -A INPUT -s 10.23.1.7 -j DROP; iptables -A OUTPUT -d 10.23.1.7 -j DROP
    

    يجب إعادة تشغيل جهاز HANA الظاهري الذي فقد الوصول إليه /hana/shared أو إيقافه، اعتماداً على تكوين نظام المجموعة. يتم ترحيل موارد نظام المجموعة إلى موقع النسخ المتماثل لنظام HANA الآخر.

    إذا لم يتم بدء تشغيل نظام المجموعة على الجهاز الظاهري الذي تمت إعادة تشغيله، فابدأ تشغيل نظام المجموعة عن طريق تشغيل ما يلي:

    # Start the cluster 
    pcs cluster start
    

    عند بدء تشغيل نظام المجموعة، يتم تركيب نظام ملفات /hana/shared تلقائيًا. في حالة ضبط AUTOMATED_REGISTER="false"، فستحتاج إلى تكوين النسخ المتماثل لنظام SAP Hana على الموقع الثانوي. في هذه الحالة، يمكنك تنفيذ هذه الأوامر لإعادة تكوين SAP Hana كثانوي.

    # Execute on the secondary 
    su - hn1adm
    # Make sure HANA is not running on the secondary site. If it is started, stop HANA
    sapcontrol -nr 03 -function StopWait 600 10
    # Register the HANA secondary site
    hdbnsutil -sr_register --name=HANA_S1 --remoteHost=hana-s2-db1 --remoteInstance=03 --replicationMode=sync
    # Switch back to root and clean up failed resources
    pcs resource cleanup SAPHana_HN1_HDB03
    

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

    # Output of crm_mon
    #7 nodes configured
    #45 resources configured
    
    #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    
    #Active resources:
    
    #rsc_st_azure    (stonith:fence_azure_arm):      Started hana-s-mm
    # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
    #    Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
    # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
    #     Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
    #     Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
    # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
    #     Masters: [ hana-s2-db1 ]
    #     Slaves: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db2 hana-s2-db3 ]
    # Resource Group: g_ip_HN1_03
    #     nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hana-s2-db1
    #     vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hana-s2-db1
    

من المستحسن اختبار تكوين نظام مجموعة SAP Hana بدقة، من خلال إجراء الاختبارات الموثقة في قابلية الوصول العالية لـ SAP Hana على أجهزة Azure الظاهرية على RHEL.

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