نشر نظام SAP HANA الموسع مع عقدة الاستعداد على أجهزة Azure الظاهرية باستخدام Azure NetApp Files على Red Hat Enterprise Linux

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

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

إشعار

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

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

نظرة عامة

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

إشعار

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

هام

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

نظرة عامة حول توفر SAP NetWeaver العالي

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

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

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

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

  • client 10.9.1.0/26
  • storage 10.9.3.0/26
  • hana 10.9.2.0/26
  • anf 10.9.0.0/26 (الشبكة الفرعية المفوضة إلى Azure NetApp Files)

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

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

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

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

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

أثناء إنشاء وحدات تخزين Azure NetApp Files لتوسيع نطاق SAP HANA مع سيناريو الوقوف بجانب العقد، كن على دراية بالاعتبارات المهمة الموثقة في وحدات تخزين 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. يمكنك توزيع وحدات التخزين في الشبكة الفرعية لـ Azure NetApp Files المعينة. يتم تعيين عناوين IP الخاصة بوحدات تخزين Azure NetApp تلقائيا.

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

    • وحدة التخزين HN1-data-mnt00001 (nfs://10.9.0.4/HN1-data-mnt00001)
    • وحدة التخزين HN1-data-mnt00002 (nfs://10.9.0.4/HN1-data-mnt00002)
    • وحدة التخزين HN1-log-mnt00001 (nfs://10.9.0.4/HN1-log-mnt00001)
    • وحدة التخزين HN1-log-mnt00002 (nfs://10.9.0.4/HN1-log mnt00002)
    • وحدة التخزين HN1-shared (nfs://10.9.0.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) عن طريق القيام بالخطوات التالية:

    أ. استخدم صورة Red Hat Enterprise Linux في معرض Azure المدعوم SAP HANA. استخدمنا صورة RHEL-SAP-HA 7.6 في هذا المثال.

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

    أ. انتقل إلى جهازك الظاهري في مدخل Microsoft Azure.

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

    جـ. في جزء نظرة عامة، حدد إيقاف لتوزيع الجهاز الظاهري.

    د. حدد الشبكة، ثم قم بتوصيل واجهة الشبكة. في القائمة المنسدلة إرفاق واجهة شبكة الاتصال، حدد واجهات الشبكة التي تم إنشاؤها مسبقا storageوhana للشبكات الفرعية.

    هـ. حدد حفظ.

    و. كرر الخطوات من (ب) إلى (هـ) للأجهزة الظاهرية المتبقية (في مثالنا، hanadb2وhanadb3).

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

  6. تمكين الشبكات المعجلة لواجهات الشبكة الإضافية للشبكات storage والشبكات hana الفرعية من خلال القيام بالخطوات التالية:

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

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

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

    ب. في جزء نظرة عامة، حدد ابدأ.

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

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

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

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

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

    
     # Storage
     10.9.3.4   hanadb1-storage
     10.9.3.5   hanadb2-storage
     10.9.3.6   hanadb3-storage
     # Client
     10.9.1.5   hanadb1
     10.9.1.6   hanadb2
     10.9.1.7   hanadb3
     # Hana
     10.9.2.4   hanadb1-hana
     10.9.2.5   hanadb2-hana
     10.9.2.6   hanadb3-hana
     
  2. [أ] أضف مسار شبكة، بحيث يتم الاتصال بـ Azure NetApp Files عبر واجهة شبكة التخزين.

    في هذا المثال سيتم استخدامها Networkmanager لتكوين مسار الشبكة الإضافي. تفترض الإرشادات التالية أن واجهة شبكة التخزين هي eth1.
    أولا، حدد اسم الاتصال للجهاز eth1. في هذا المثال، يكون اسم الاتصال للجهاز eth1 هو Wired connection 1.

    
     # Execute as root
     nmcli connection
     # Result
     #NAME                UUID                                  TYPE      DEVICE
     #System eth0         5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
     #Wired connection 1  4b0789d1-6146-32eb-83a1-94d61f8d60a7  ethernet  eth1
     

    ثم قم بتكوين مسار إضافي إلى الشبكة المفوضة لAzure NetApp Files عبر eth1.

    
     # Add the following route 
     # ANFDelegatedSubnet/cidr via StorageSubnetGW dev StorageNetworkInterfaceDevice
     nmcli connection modify "Wired connection 1" +ipv4.routes "10.9.0.0/26 10.9.3.1"
     

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

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

    
     yum install nfs-utils
     
  4. [A] قم بإعداد نظام التشغيل لتشغيل SAP Hana على Azure 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 باستخدام إعدادات تحسين إضافية.

    
     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 Host Agent بإدارة نطاقات المنافذ. لمزيد من التفاصيل، راجع ملاحظة SAP 2382421.

  1. [A] اضبط إعدادات 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
     
  2. [A] القبعة الحمراء لتكوين HANA.

    قم بتكوين RHEL كما هو موضح في SAP Note 2292690, 2455582, 2593824, and Red Hat note 2447641.

    إشعار

    في حالة تثبيت HANA 2.0 SP04، سيطلب منك تثبيت الحزمة compat-sap-c++-7 كما هو موضح في ملاحظة SAP 2593824، قبل أن تتمكن من تثبيت SAP HANA.

تحميل وحدات تخزين 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.9.0.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.9.0.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]
     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.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 المعلمة، راجع https://access.redhat.com/solutions/1749883.

  5. [أ] إدخال وحدات تخزين Azure NetApp Files المشتركة.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/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.9.0.4:/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.9.0.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.9.0.4:/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.9.0.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 الخاص بك.

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

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.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 
     
  7. [2] إدخال وحدات التخزين الخاصة بالعقدة على hanadb2.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.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 
     
  8. [3] إدخال وحدات التخزين الخاصة بالعقدة على hanadb3.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.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 
     
  9. [أ] تحقق من تركيب جميع وحدات تخزين HANA باستخدام إصدار بروتوكول NFS NFSv4.

    
    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from hanadb1
    /hana/data/HN1/mnt00001 from 10.9.0.4:/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.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00002 from 10.9.0.4:/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.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/data/HN1/mnt00002 from 10.9.0.4:/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.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00001 from 10.9.0.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.9.3.4,local_lock=none,addr=10.9.0.4
    /usr/sap/HN1 from 10.9.0.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.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/shared from 10.9.0.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.9.3.4,local_lock=none,addr=10.9.0.4
    

التثبيت

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

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

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

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

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

    
     yum install libgcc_s1 libstdc++6 compat-sap-c++-7 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
     
  5. [A] تعطيل جدار الحماية مؤقتًا، بحيث لا يتداخل مع تثبيت HANA. يمكنك إعادة تمكينه، بعد الانتهاء من تثبيت HANA.

    
     # Execute as root
     systemctl stop firewalld
     systemctl disable firewalld
    

تركيب HANA

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

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

    
     ./hdblcm --internal_network=10.9.2.0/26
     

    ب. في المطالبة، أدخل القيم التالية:

    • لاختيار إجراء: أدخل 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.9.2.0/26
     listeninterface = .internal
     [internal_hostname_resolution]
     10.9.2.4 = hanadb1
     10.9.2.5 = hanadb2
     10.9.2.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.9.1.5
     map_hanadb2 = 10.9.1.6
     map_hanadb3 = 10.9.1.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 للاتصال.

    
     # 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
     "hanadb3","net_publicname","10.9.1.7"
     "hanadb2","net_publicname","10.9.1.6"
     "hanadb1","net_publicname","10.9.1.5"
    

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

  6. [A] أعد تمكين جدار الحماية.

    • إيقاف HANA

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
        
    • إعادة تمكين جدار الحماية

      
         # Execute as root
         systemctl start firewalld
         systemctl enable firewalld
        
    • افتح منافذ جدار الحماية الضرورية

      هام

      قم بإنشاء قواعد جدار الحماية للسماح باتصال 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
        
    • ابدأ HANA

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
        
  7. لتحسين SAP Hana لتخزين Azure NetApp Files الأساسي، قم بتعيين معلمات SAP Hana التالية:

    • max_parallel_io_requests128
    • async_read_submitعلى
    • async_write_submit_activeعلى
    • async_write_submit_blocksكل

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

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

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

  8. تحتوي وحدة التخزين المستخدمة بواسطة 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

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

    أ. قبل محاكاة تعطل العقدة، قم بتشغيل الأوامر التالية كـ 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
    

    ب. لمحاكاة تعطل عقدة، قم بتشغيل الأمر التالي كجذر على العقدة العاملة، وهو hanadb2 في هذه الحالة:

    
     echo b > /proc/sysrq-trigger
    

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

    
     # 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, 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 | 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. إنهاء خادم الأسماء عن طريق القيام بما يلي:

    أ. قبل الاختبار، تحقق من حالة البيئة عن طريق تشغيل الأوامر التالية كـ 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 | 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
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
    

    ب. قم بتشغيل الأوامر التالية كـ 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
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, 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 | 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 |
     

    جـ. أعد تشغيل مثيل 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
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, 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 |
    

    د. مرة أخرى، قم بإنهاء خادم الأسماء على العقدة الرئيسية النشطة حاليًا (أي على العقدة hanadb3).

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

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

    
     # 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
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, 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    | 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 | -       |
    

    هـ. ابدأ 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
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, 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    | 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 | -       |
    

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