توزيع نظام توسيع SAP HANA مع عقدة احتياطية على أجهزة Azure الظاهرية باستخدام ملفات Azure NetApp على SUSE Linux Enterprise Server

توضح هذه المقالة كيفية توزيع نظام SAP HANA المتوفر للغاية في تكوين التوسع مع وضع الاستعداد على أجهزة Azure الظاهرية باستخدام Azure NetApp Files لوحدات التخزين المشتركة.

في مثال التكوينات وأوامر التثبيت وما إلى ذلك، يشير مثيل HANA إلى 03 ومعرف نظام HANA هو HN1. تستند الأمثلة إلى HANA 2.0 SP4 وSUSE Linux Enterprise Server لـ SAP 12 SP4.

قبل البدء، راجع ملاحظات وأوراق SAP التالية:

نظرة عامة

يتمثل أحد أساليب قابلية الوصول العالية لـ HANA في تكوين تجاوز الفشل التلقائي للمضيف. لتكوين تجاوز الفشل التلقائي للمضيف، يمكنك إضافة جهاز ظاهري واحد أو أكثر إلى نظام HANA وتكوينها كعقد للاستعداد. عند فشل العقدة النشطة، تتولى عقدة الاستعداد المسؤولية تلقائيًا. في التكوين المقدم باستخدام أجهزة Azure الظاهرية، يمكنك تحقيق تجاوز الفشل التلقائي باستخدام NFS على Azure NetApp Files.

إشعار

تحتاج عقدة الاستعداد إلى الوصول إلى كافة وحدات تخزين قاعدة البيانات. يجب تركيب وحدات تخزين HANA كوحدات تخزين NFSv4. يتم استخدام آلية القفل المحسنة القائمة على تأجير الملفات في بروتوكول NFSv4 لإنشاء حد لـ I/O.

هام

لإنشاء التكوين المدعوم، يجب توزيع بيانات HANA ووحدات تخزين السجل كوحدات تخزين NFSv4.1 وإدخالها باستخدام بروتوكول NFSv4.1. لا يتم دعم تكوين تجاوز الفشل التلقائي لمضيف HANA مع عقدة الاستعداد مع NFSv3.

SAP NetWeaver High Availability overview

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

  • للتواصل مع العملاء
  • للتواصل مع نظام التخزين
  • للاتصال الداخلي بين عقد HANA

وحدات تخزين Azure NetApp موجودة في شبكة فرعية منفصلة، مفوضة إلى Azure NetApp Files.

بالنسبة لتكوين هذا المثال، تكون الشبكات الفرعية هي:

  • client 10.23.0.0/24
  • storage 10.23.2.0/24
  • hana 10.23.3.0/24
  • anf 10.23.1.0/26

إعداد البنية الأساسية لAzure NetApp Files

قبل متابعة إعداد البنية الأساسية لملفات Azure NetApp، تعرف على وثائق Azure NetApp Files.

لا تتوفر Azure NetApp Files في العديد من مناطق Azure. تحقق لمعرفة ما إذا كانت منطقة Azure المحددة تقدم Azure NetApp Files.

للحصول على معلومات حول توفر Azure NetApp Files حسب منطقة Azure، راجع توفر Azure NetApp Files حسب منطقة Azure.

اعتبارات هامة

أثناء إنشاء ملفات Azure NetApp ل SAP NetWeaver على بنية SUSE عالية التوفر، كن على دراية بالاعتبارات المهمة الموثقة في وحدات تخزين NFS v4.1 على ملفات Azure NetApp ل SAP HANA.

التحجيم لقاعدة بيانات HANA على ملفات Azure NetApp

الإنتاجية لوحدة تخزين Azure NetApp هي دالة لحجم وحدة التخزين ومستوى الخدمة، كما هو موثق في مستوى الخدمة لملفات Azure NetApp.

أثناء تصميم البنية الأساسية ل SAP HANA على Azure باستخدام Azure NetApp Files، كن على دراية بالتوصيات الواردة في وحدات تخزين NFS v4.1 على Azure NetApp Files ل SAP HANA.

يتم تقديم التكوين في هذه المقالة مع وحدات تخزين ملفات Azure NetApp بسيطة.

هام

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

انشر موارد Azure NetApp Files

تفترض الإرشادات التالية أنك قمت بالفعل بتوزيع شبكة Azure الظاهرية. يجب نشر موارد Azure NetApp Files والأجهزة الافتراضية، حيث سيتم تثبيت موارد Azure NetApp Files، في نفس شبكة Azure الافتراضية أو في شبكات Azure الظاهرية.

  1. قم بإنشاء حساب NetApp في منطقة Azure المحددة باتباع الإرشادات الواردة في إنشاء حساب NetApp.

  2. قم بإعداد تجمع سعة Azure NetApp Files باتباع الإرشادات الواردة في إعداد تجمع سعة Azure NetApp Files.

    تستخدم بنية HANA الواردة في هذه المقالة مجموعة سعة Azure NetApp Files واحدة على مستوى Ultra Service. بالنسبة لأحمال عمل HANA على Azure، نوصي باستخدام Azure NetApp Files Ultra أو مستوى Premiumالخدمة.

  3. قم بتفويض شبكة فرعية إلى Azure NetApp Files، كما هو موضح في الإرشادات الواردة في تفويض شبكة فرعية إلى Azure NetApp Files .

  4. نشر وحدات تخزين Azure NetApp Files باتباع الإرشادات الواردة في إنشاء وحدة تخزين NFS لAzure NetApp Files.

    أثناء نشر وحدات التخزين، تأكد من تحديد إصدار NFSv4.1. حاليًا، يتطلب الوصول إلى NFSv4.1 إضافته إلى قائمة السماح. يمكنك توزيع وحدات التخزين في الشبكة الفرعية لـ Azure NetApp Files المعينة. يتم تعيين عناوين IP الخاصة بوحدات تخزين Azure NetApp تلقائيا.

    ضع في اعتبارك أن موارد Azure NetApp Files وأجهزة Azure الظاهرية يجب أن تكون في نفس شبكة Azure الظاهرية أو في شبكات Azure الظاهرية المتناظرة. على سبيل المثال، HN1-data-mnt00001، وHN1-log-mnt00001، وهكذا هي أسماء وحدات التخزين وnfs://10.23.1.5/HN1-data-mnt00001، وnfs://10.23.1.4/HN1-log-mnt00001، وهكذا هي مسارات الملفات لوحدات تخزين Azure NetApp Files.

    • وحدة التخزين HN1-data-mnt00001 (nfs://10.23.1.5/HN1-data-mnt00001)
    • وحدة التخزين HN1-data-mnt00002 (nfs://10.23.1.6/HN1-data-mnt00002)
    • وحدة التخزين HN1-log-mnt00001 (nfs://10.23.1.4/HN1-log-mnt00001)
    • وحدة التخزين HN1-log-mnt00002 (nfs://10.23.1.6/HN1-log-mnt00002)
    • وحدة التخزين HN1-shared (nfs://10.23.1.4/HN1-shared)

    في هذا المثال، استخدمنا وحدة تخزين Azure NetApp Files منفصلة لكل بيانات HANA ووحدة تخزين السجل. للحصول على تكوين أكثر تكلفة على الأنظمة الأصغر أو غير المنتجة، من الممكن وضع جميع عمليات تحميل البيانات وجميع السجلات في وحدة تخزين واحدة.

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

تحتاج أولاً إلى إنشاء وحدات تخزين Azure NetApp Files. ثم قم بالخطوات التالية:

  1. أنشئ الشبكات الفرعية لشبكة Azure الظاهرية في شبكة Azure الظاهرية.

  2. نشر الأجهزة الظاهرية.

  3. أنشئ واجهات الشبكة الإضافية، وقم بتوصيل واجهات الشبكة بالأجهزة الظاهرية المقابلة.

    يحتوي كل جهاز ظاهري على ثلاث واجهات شبكة، والتي تتوافق مع الشبكات الفرعية الثلاث لشبكة Azure الظاهرية (client وstorage وhana).

    لمزيد من المعلومات، راجع إنشاء جهاز ظاهري Linux في Azure باستخدام بطاقات واجهة شبكة متعددة.

هام

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

تفترض الإرشادات التالية أنك قمت بالفعل بإنشاء مجموعة الموارد وشبكة Azure الظاهرية والشبكات الفرعية الثلاث لشبكة Azure الظاهرية: client وstorage وhana. عند توزيع الأجهزة الظاهرية، حدد الشبكة الفرعية للعميل، بحيث تكون واجهة شبكة العميل هي الواجهة الأساسية على الأجهزة الظاهرية. ستحتاج أيضا إلى تكوين مسار صريح إلى الشبكة الفرعية المفوضة لAzure NetApp Files عبر بوابة الشبكة الفرعية للتخزين.

هام

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

  1. إنشاء مجموعة توفر SAP HANA. تأكد من تعيين مجال التحديث الأقصى.

  2. أنشئ ثلاثة أجهزة ظاهرية (hanadb1 وhanadb2 وhanadb3) عن طريق القيام بالخطوات التالية:

    أ. استخدم صورة SLES4SAP في معرض Azure المعتمد لـ SAP HANA.

    ب. حدد مجموعة التوفر التي أنشأتها سابقا SAP HANA.

    ج. حدد الشبكة الفرعية لشبكة Azure الظاهرية العميلة. حدد الشبكة المسرعة.

    عند توزيع الأجهزة الظاهرية، يتم إنشاء اسم واجهة الشبكة تلقائيًا. في هذه التعليمات للبساطة سنشير إلى واجهات الشبكة التي تم إنشاؤها تلقائيًا، والتي يتم إرفاقها بالشبكة الفرعية لشبكة Azure الافتراضية للعميل، مثل hanadb1-العميل،hanadb2-client،وhanadb3-client.

  3. أنشئ واجهات الشبكة الثلاث، شبكة واحدة لكل جهاز ظاهري، بالنسبة إلى storageالشبكة الفرعية للشبكة الظاهرية (في هذا المثال، hanadb1-storage، وhanadb2-storage، وhanadb3-storage).

  4. أنشئ واجهات الشبكة الثلاث، شبكة واحدة لكل جهاز ظاهري، بالنسبة hanaللشبكة الفرعية للشبكة الظاهرية (في هذا المثال، hanadb1-hana، وhanadb2-hana، وhanadb3-hana).

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

    1. انتقل إلى جهازك الظاهري في مدخل Microsoft Azure.
    2. في الجزء الأيسر، حدد ⁧⁧⁩⁩الأجهزة الظاهرية⁧⁧⁩⁩. قم بالتصفية على اسم الجهاز الظاهري (على سبيل المثال، hanadb1)، ثم حدد الجهاز الظاهري.
    3. في جزء نظرة عامة، حدد إيقاف لتوزيع الجهاز الظاهري.
    4. حدد الشبكة، ثم قم بتوصيل واجهة الشبكة. في القائمة المنسدلة إرفاق واجهة شبكة الاتصال، حدد واجهات الشبكة التي تم إنشاؤها مسبقا storageوhana للشبكات الفرعية.
    5. حدد حفظ.
    6. كرر الخطوات من (ب) إلى (هـ) للأجهزة الظاهرية المتبقية (في مثالنا، hanadb2وhanadb3).
    7. اترك الأجهزة الظاهرية في حالة توقف في الوقت الحالي. بعد ذلك، سنقوم بتمكين الشبكات المتسارعة لجميع واجهات الشبكة المتصلة حديثا.
  6. تمكين الشبكات المعجلة لواجهات الشبكة الإضافية للشبكات storage والشبكات hana الفرعية من خلال القيام بالخطوات التالية:

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

    2. نفذ الأوامر التالية لتمكين الشبكات المسرعة لواجهات الشبكة الإضافية، والتي يتم إرفاقها بالشبكتين الفرعيتين storage وhana.

      az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-storage --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-storage --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-storage --accelerated-networking true
      
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-hana --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-hana --accelerated-networking true
       az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-hana --accelerated-networking true
      
  7. ابدأ بتشغيل الأجهزة الظاهرية عن طريق تنفيذ الخطوات التالية:

    1. في الجزء الأيسر، حدد ⁧⁧⁩⁩الأجهزة الظاهرية⁧⁧⁩⁩. قم بالتصفية حسب اسم الجهاز الظاهري (على سبيل المثال، hanadb1)، ومن ثم حدده.
    2. في جزء نظرة عامة، حدد ابدأ.

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

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

  • [أ]: ينطبق على جميع العقد
  • [1]: ينطبق فقط على العقدة 1
  • [2]: ينطبق فقط على العقدة 2
  • [3]: ينطبق فقط على العقدة 3

قم بتكوين نظام التشغيل الخاص بك وإعداده من خلال تنفيذ الخطوات التالية:

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

    # Storage
     10.23.2.4   hanadb1-storage
     10.23.2.5   hanadb2-storage
     10.23.2.6   hanadb3-storage
     # Client
     10.23.0.5   hanadb1
     10.23.0.6   hanadb2
     10.23.0.7   hanadb3
     # Hana
     10.23.3.4   hanadb1-hana
     10.23.3.5   hanadb2-hana
     10.23.3.6   hanadb3-hana
    
  2. [أ] قم بتغيير إعدادات DHCP وتكوين السحابة لواجهة الشبكة للتخزين لتجنب تغييرات اسم المضيف غير المقصودة.

    تفترض الإرشادات التالية أن واجهة شبكة التخزين هي eth1.

    vi /etc/sysconfig/network/dhcp 
    # Change the following DHCP setting to "no"
    DHCLIENT_SET_HOSTNAME="no"
    
    vi /etc/sysconfig/network/ifcfg-eth1
    # Edit ifcfg-eth1 
    #Change CLOUD_NETCONFIG_MANAGE='yes' to "no"
    CLOUD_NETCONFIG_MANAGE='no'
    
  3. [أ] أضف مسار شبكة، بحيث يتم الاتصال بـ Azure NetApp Files عبر واجهة شبكة التخزين.

    تفترض الإرشادات التالية أن واجهة شبكة التخزين هي eth1.

    vi /etc/sysconfig/network/ifroute-eth1
    
    # Add the following routes 
    # RouterIPforStorageNetwork - - -
    # ANFNetwork/cidr RouterIPforStorageNetwork - -
    10.23.2.1 - - -
    10.23.1.0/26 10.23.2.1 - -
    

    أعد تشغيل الجهاز الظاهري لتنشيط التغييرات.

  4. [A] قم بإعداد نظام التشغيل لتشغيل 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_timestamps = 1
    net.ipv4.tcp_sack = 1
    
  5. [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
    

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

  6. [أ] اضبط إعدادات sunrpc لأحجام NFSv3، كما هو موضح في ملاحظة SAP 3024346 - إعدادات Linux Kernel لـ NetApp NFS.

    vi /etc/modprobe.d/sunrpc.conf
    
    # Insert the following line
    options sunrpc tcp_max_slot_table_entries=128
    

تحميل وحدات تخزين Azure NetApp Files

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

    mkdir -p /hana/data/HN1/mnt00001
    mkdir -p /hana/data/HN1/mnt00002
    mkdir -p /hana/log/HN1/mnt00001
    mkdir -p /hana/log/HN1/mnt00002
    mkdir -p /hana/shared
    mkdir -p /usr/sap/HN1
    
  2. [1] أنشئ الأدلة الخاصة بالعقدة لـ /usr/sap on HN1-shared.

    # Create a temporary directory to mount HN1-shared
    mkdir /mnt/tmp
    
    # if using NFSv3 for this volume, mount with the following command
    mount 10.23.1.4:/HN1-shared /mnt/tmp
    
    # if using NFSv4.1 for this volume, mount with the following command
    mount -t nfs -o sec=sys,nfsvers=4.1 10.23.1.4:/HN1-shared /mnt/tmp
    
    cd /mnt/tmp
    mkdir shared usr-sap-hanadb1 usr-sap-hanadb2 usr-sap-hanadb3
    
    # unmount /hana/shared
    cd
    umount /mnt/tmp
    
  3. [A] تحقق من إعداد نطاق NFS. تأكد من تكوين المجال كمجال Azure NetApp Files الافتراضي، أي defaultv4iddomain.comوتعيين التعيين إلى أي شخص.

    هام

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

    sudo cat /etc/idmapd.conf
    
    # Example
    [General]
    Verbosity = 0
    Pipefs-Directory = /var/lib/nfs/rpc_pipefs
    Domain = defaultv4iddomain.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  4. [A] تحقق من صحة nfs4_disable_idmapping. يجب ضبطه على Y. لإنشاء بنية الدليل حيث nfs4_disable_idmapping يقع، قم بتنفيذ أمر التحميل. لن تتمكن من إنشاء الدليل يدوياً ضمن /sys/modules، لأن الوصول محجوز لـ kernel / drivers.

    # 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.23.1.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
    
  5. [أ] أنشئ مجموعة SAP Hana والمستخدم يدويًا. يجب تعيين معرفات المجموعة sapsys والمستخدم hn1adm على نفس المعرفات، والتي يتم توفيرها أثناء الإلحاق. (في هذا المثال، يتم تعيين المعرفات إلى 1001.) إذا لم يتم تعيين المعرفات بشكل صحيح، فلن تتمكن من الوصول إلى وحدات التخزين. يجب أن تكون معرفات sapsys للمجموعة وحسابات المستخدمين hn1adm وsapadm هي نفسها على جميع الأجهزة الظاهرية.

    # Create user group 
    sudo groupadd -g 1001 sapsys
    
    # Create  users 
    sudo useradd hn1adm -u 1001 -g 1001 -d /usr/sap/HN1/home -c "SAP HANA Database System" -s /bin/sh
    sudo useradd sapadm -u 1002 -g 1001 -d /home/sapadm -c "SAP Local Administrator" -s /bin/sh
    
    # Set the password  for both user ids
    sudo passwd hn1adm
    sudo passwd sapadm
    
  6. [أ] إدخال وحدات تخزين Azure NetApp Files المشتركة.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.5:/HN1-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.6:/HN1-data-mnt00002 /hana/data/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.4:/HN1-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.6:/HN1-log-mnt00002 /hana/log/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    10.23.1.4:/HN1-shared/shared /hana/shared  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    
    # Mount all volumes
    sudo mount -a
    

    بالنسبة لأحمال العمل، التي تتطلب إنتاجية أعلى، ضع في اعتبارك استخدام nconnect خيار التحميل، كما هو موضح في وحدات تخزين NFS v4.1 على Azure NetApp Files ل SAP HANA. تحقق مما إذا كان nconnectمدعوما من قبل Azure NetApp Files على إصدار Linux الخاص بك.

  7. [1] إدخال وحدات التخزين الخاصة بالعقدة على hanadb1.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb1 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    
    # Mount the volume
    sudo mount -a
    
  8. [2] إدخال وحدات التخزين الخاصة بالعقدة على hanadb2.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb2 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    
    # Mount the volume
    sudo mount -a
    
  9. [3] إدخال وحدات التخزين الخاصة بالعقدة على hanadb3.

    sudo vi /etc/fstab
    
    # Add the following entries
    10.23.1.4:/HN1-shared/usr-sap-hanadb3 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
    
    # Mount the volume
    sudo mount -a
    
  10. [أ] تحقق من تركيب جميع وحدات تخزين HANA باستخدام إصدار بروتوكول NFS NFSv4.1.

    sudo nfsstat -m
    
    # Verify that flag vers is set to 4.1 
    # Example from hanadb1
    /hana/data/HN1/mnt00001 from 10.23.1.5:/HN1-data-mnt00001
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.5
    /hana/log/HN1/mnt00002 from 10.23.1.6:/HN1-log-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.6
    /hana/data/HN1/mnt00002 from 10.23.1.6:/HN1-data-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.6
    /hana/log/HN1/mnt00001 from 10.23.1.4:/HN1-log-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.4
    /usr/sap/HN1 from 10.23.1.4:/HN1-shared/usr-sap-hanadb1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.4
    /hana/shared from 10.23.1.4:/HN1-shared/shared
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.2.4,local_lock=none,addr=10.23.1.4
    

التثبيت

في هذا المثال لنشر SAP HANA في تكوين قابل للتوسيع باستخدام عقدة الاستعداد مع Azure، استخدمنا HANA 2.0 SP4.

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

  1. [أ] قبل تثبيت HANA، قم بتعيين كلمة مرور الجذر. يمكنك تعطيل كلمة مرور الجذر بعد اكتمال التثبيت. تنفيذ كأمر rootpasswd.

  2. [1] تحقق من أنه يمكنك تسجيل الدخول عبر SSH إلى hanadb2 وhanadb3، دون مطالبتك بكلمة مرور.

    ssh root@hanadb2
    ssh root@hanadb3
    
  3. [أ] قم بتثبيت حزم إضافية، وهي مطلوبة لـ HANA 2.0 SP4. لمزيد من المعلومات، راجع ملاحظة SAP رقم 2593824.

    sudo zypper install libgcc_s1 libstdc++6 libatomic1
    
  4. [2]، [3] تغيير ملكية SAP Hana data والدلائل log إلى hn1adm.

    # Execute as root
    sudo chown hn1adm:sapsys /hana/data/HN1
    sudo chown hn1adm:sapsys /hana/log/HN1
    

تركيب HANA

  1. [1 ] قم بتثبيت SAP HANA باتباع الإرشادات الواردة في دليل التثبيت والتحديث SAP HANA 2.0. في هذا المثال، نقوم بتثبيت SAP HANA مع ماستر وعامل واحد وعقدة استعداد واحدة.

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

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

      • لاختيار إجراء: أدخل 1 (للتثبيت)
      • للحصول على مكونات إضافية للتثبيت: أدخل 2، 3
      • لمسار التثبيت: اضغط على Enter (الإعدادات الافتراضية إلى /hana/shared)
      • بالنسبة إلى اسم المضيف المحلي: اضغط على Enter لقبول الإعداد الافتراضي
      • ضمن هل تريد إضافة مضيفين إلى النظام؟: أدخل y
      • لإضافة أسماء مضيفين مفصولة بفواصل: أدخل hanadb2، وhanadb3
      • بالنسبة إلى جذر اسم المستخدم [الجذر]: اضغط على Enter لقبول الإعداد الافتراضي
      • للحصول على كلمة مرور المستخدم الجذر: أدخل كلمة مرور المستخدم الجذر
      • بالنسبة لأدوار المضيف hanadb2: أدخل 1 (للعامل)
      • بالنسبة إلى مجموعة تجاوز فشل المضيف للمضيف hanadb2 [الإعداد الافتراضي]: اضغط على Enter لقبول الإعداد الافتراضي
      • بالنسبة إلى رقم قسم التخزين للمضيف hanadb2 [<<التعيين تلقائيًا>>]: اضغط على Enter لقبول الإعداد الافتراضي
      • بالنسبة إلى مجموعة العمال للمضيف hanadb2 [الإعداد الافتراضي]: اضغط على Enter لقبول الإعداد الافتراضي
      • بالنسبة إلى تحديد أدوار للمضيف hanadb3: أدخل 2 (للاستعداد)
      • بالنسبة إلى مجموعة تجاوز فشل المضيف للمضيف hanadb3 [الإعداد الافتراضي]: اضغط على Enter لقبول الإعداد الافتراضي
      • بالنسبة إلى مجموعة العمال للمضيف hanadb3 [الإعداد الافتراضي]: اضغط على Enter لقبول الإعداد الافتراضي
      • للحصول على معرف النظام SAP HANA: أدخل HN1
      • بالنسبة إلى رقم المثيل [00]: أدخل 03
      • بالنسبة إلى مجموعة عمال المضيف المحلي [افتراضي]: اضغط على Enter لقبول الإعداد الافتراضي
      • لتحديد استخدام النظام / أدخل الفهرس [4]: أدخل 4 (للمخصص)
      • بالنسبة إلى موقع وحدات تخزين البيانات [/hana/data/HN1]: اضغط على Enter لقبول الإعداد الافتراضي
      • بالنسبة إلى موقع وحدات تخزين السجلات [/hana/log/HN1]: اضغط على Enter لقبول الإعداد الافتراضي
      • بالنسبة إلى تقييد الحد الأقصى لتخصيص الذاكرة؟ [n]: أدخل n
      • بالنسبة إلى اسم مضيف الشهادة للمضيف hanadb1 [hanadb1]: اضغط على Enter لقبول الإعداد الافتراضي
      • بالنسبة إلى اسم مضيف الشهادة للمضيف hanadb2 [hanadb2]: اضغط على Enter لقبول الإعداد الافتراضي
      • بالنسبة إلى اسم مضيف الشهادة للمضيف hanadb3 [hanadb3]: اضغط على Enter لقبول الإعداد الافتراضي
      • لكلمة مرور مسؤول النظام (hn1adm): أدخل كلمة المرور
      • بالنسبة إلى كلمة مرور مستخدم قاعدة بيانات النظام (النظام): أدخل كلمة مرور النظام
      • لتأكيد كلمة مرور مستخدم قاعدة بيانات النظام (النظام): أدخل كلمة مرور النظام
      • لإعادة تشغيل النظام بعد إعادة تشغيل الجهاز؟ [n]: أدخل n
      • بالنسبة إلى هل تريد المتابعة (y/n): تحقق من صحة الملخص وإذا كان كل شيء يبدو جيداً، فأدخل y
  2. [1] تحقق من global.ini.

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

    sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
    
    # Example 
    #global.ini last modified 2019-09-10 00:12:45.192808 by hdbnameserve
    [communication]
    internal_network = 10.23.3/24
    listeninterface = .internal
    [internal_hostname_resolution]
    10.23.3.4 = hanadb1
    10.23.3.5 = hanadb2
    10.23.3.6 = hanadb3
    
  3. [1] أضف تعيين المضيف لضمان استخدام عناوين IP الخاصة بالعميل للاتصال بالعميل. أضف قسم public_host_resolution، وأضف عناوين IP المقابلة من الشبكة الفرعية للعميل.

    sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
    
    #Add the section
    [public_hostname_resolution]
    map_hanadb1 = 10.23.0.5
    map_hanadb2 = 10.23.0.6
    map_hanadb3 = 10.23.0.7
    
  4. [1 ] أعد تشغيل SAP HANA لتنشيط التغييرات.

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

    sudo -u 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
    "hanadb3","net_publicname","10.23.0.7"
    "hanadb2","net_publicname","10.23.0.6"
    "hanadb1","net_publicname","10.23.0.5"
    

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

  6. لتحسين SAP Hana لتخزين Azure NetApp Files الأساسي، قم بتعيين معلمات SAP Hana التالية:

    • max_parallel_io_requests128
    • async_read_submitتشغيل
    • async_write_submit_activeتشغيل
    • async_write_submit_blocksall

    لمزيد من المعلومات، راجع تكوين مكدس الإدخال/الإخراج لـ SAP Hana.

    بدءا من أنظمة SAP HANA 2.0، يمكنك تعيين المعلمات في global.ini. لمزيد من المعلومات، راجع ملاحظة SAP رقم 1999930.

    بالنسبة لإصدارات أنظمة SAP HANA 1.0 SPS12 والإصدارات السابقة، يمكن تعيين هذه المعلمات أثناء التثبيت، كما هو موضح في SAP Note 2267798.

  7. تحتوي وحدة التخزين المستخدمة بواسطة Azure NetApp Files على حد لحجم الملف يبلغ 16 تيرابايت (TB). SAP HANA ليس على دراية ضمنية بقيود التخزين، ولن يقوم تلقائيا بإنشاء ملف بيانات جديد عند الوصول إلى حد حجم الملف البالغ 16 تيرابايت. أثناء SAP HANA محاولات لتنمية الملف إلى ما بعد 16 تيرابايت، ستؤدي هذه المحاولة إلى حدوث أخطاء، وفي النهاية، إلى تعطل خادم الفهرس.

    هام

    لمنع SAP HANA من محاولة زيادة ملفات البيانات خارج الحد 16 تيرابايت من النظام الفرعي التخزين تعيين المعلمات التالية في global.ini.

    • datavolume_striping = true
    • datavolume_striping_size_gb = 15000 لمزيد من المعلومات، راجع ملاحظة SAP رقم 2400005. انتبه إلى ملاحظة SAP رقم 2631285.

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

إشعار

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

  1. قم بمحاكاة تعطل عقدة على عقدة عامل SAP Hana. قم بالتالي:

    1. قبل محاكاة تعطل العقدة، قم بتشغيل الأوامر التالية كـ hn1adm لتسجيل حالة البيئة:

      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      
    2. لمحاكاة تعطل عقدة، قم بتشغيل الأمر التالي كجذر على العقدة العاملة، وهو hanadb2 في هذه الحالة:

      echo b > /proc/sysrq-trigger
      
    3. راقب النظام لإكمال تجاوز الفشل. عند اكتمال تجاوز الفشل، قم بتسجيل الحالة، التي يجب أن تبدو على النحو التالي:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      
      # Check the landscape status
      /usr/sap/HN1/HDB03/exe/python_support> python landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | no     | info   |          |        |         2 |         0 | default  | default  | master 2   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb3 | yes    | info   |          |        |         0 |         2 | default  | default  | master 3   | slave      | standby     | slave       | standby | worker  | default | default |
      

      هام

      عندما تواجه عقدة اضطراب النواة، تجنب التأخير مع SAP HANA تجاوز الفشل عن طريق التعيين إلى 20 ثانية على kernel.panicجميع الأجهزة الظاهرية HANA. يتم إجراء التكوين في /etc/sysctl. أعد تشغيل الأجهزة الظاهرية لتنشيط التغيير. إذا لم يتم إجراء هذا التغيير، فقد يستغرق تجاوز الفشل 10 دقائق أو أكثر عندما تواجه العقدة حالة من التشوش من النواة.

  2. إنهاء خادم الأسماء عن طريق القيام بما يلي:

    1. قبل الاختبار، تحقق من حالة البيئة عن طريق تشغيل الأوامر التالية كـ hn1adm:

      #Landscape status 
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      
    2. قم بتشغيل الأوامر التالية كـ hn1adm على العقدة الرئيسية النشطة، وهي hanadb1 في هذه الحالة:

      hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB kill
      

      ستتولى عقدة الاستعداد hanadb3 دور العقدة الرئيسية. فيما يلي حالة المورد بعد اكتمال اختبار تجاوز الفشل:

      # Check the instance status
      sapcontrol -nr 03 -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
      
    3. أعد تشغيل مثيل HANA على hanadb1 (أي على نفس الجهاز الظاهري، حيث تم إنهاء خادم الأسماء). سوف تنضم عقدة hanadb1 إلى البيئة، وستحتفظ بدورها في وضع الاستعداد.

      hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB start
      

      بعد بدء SAP HANA على hanadb1، توقع الحالة التالية:

      # Check the instance status
      sapcontrol -nr 03 -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
      
    4. مرة أخرى، قم بإنهاء خادم الأسماء على العقدة الرئيسية النشطة حاليًا (أي على العقدة hanadb3).

      hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB kill
      

      ستستأنف العقدة hanadb1 دور العقدة الرئيسية. بعد اكتمال اختبار تجاوز الفشل، ستبدو الحالة كما يلي:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      
    5. ابدأ SAP HANA على hanadb3، والتي ستكون جاهزة لتكون بمثابة عقدة احتياطية.

      hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB start
      

      بعد بدء SAP HANA على hanadb3، تبدو الحالة كما يلي:

      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
      

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