تمرين - إضافة قرص إلى عقدة مجدول نظام مجموعة HPC

مكتمل

يعتمد Azure CycleCloud على القوالب لتعريف تكوينات نظام المجموعة. يتضمن تطبيقه الافتراضي قوالب مضمنة للمجدولات الأكثر شيوعا، ولكن يمكنك العثور على العديد من القوالب الأخرى في مستودع Azure CycleCloud GitHub.

تذكر أنك أردت اختبار عملية تنفيذ نظام مجموعة باستخدام قالب Azure CycleCloud مخصص. لهذا الغرض، سوف تستفيد من مستودع Azure CycleCloud GitHub الذي يستضيف مشروع Slurm المنسق من Microsoft. ستقوم بتعديل قالب مجموعة موجود من هذا المستودع عن طريق تغيير تكوين التخزين لعقدة المجدول، واستيراد القالب المعدل حديثا إلى تطبيق Azure CycleCloud، واستخدام واجهة التطبيق الرسومية لإنشاء نظام مجموعة، وأخيرا التحقق من صحة تغيير تكوين التخزين.

مهم

لإكمال التدريبات في هذه الوحدة النمطية، يجب عليك تلبية المتطلبات الأساسية التالية:

  • لديك اشتراك Azure مع توفر مراكز وحدة المعالجة المركزية الظاهرية في المجموعات الثلاث من أحجام الأجهزة الظاهرية:
    • ما لا يقل عن 4 مراكز vCPU من سلسلة DSv3
    • ما لا يقل عن 100 وحدة معالجة مركزية ظاهرية من سلسلة FSv2
    • ما لا يقل عن 48 وحدة معالجة مركزية ظاهرية من سلسلة NC
  • لديك حساب Microsoft أو حساب Microsoft Entra مع دور المالك أو المساهم في اشتراك Azure.
  • نشر تطبيق Azure CycleCloud على جهاز Azure ظاهري يمكن الوصول إليه باستخدام عنوان IP عام مقترن بواجهة الشبكة الخاصة به.
  • قم بتكوين تطبيق Azure CycleCloud مع وصول المالك أو المساهم على مستوى الدور إلى اشتراك Azure.
  • لديك حساب مستخدم تطبيق Azure CycleCloud مع دور المسؤول.
  • إنشاء شبكة فرعية لشبكة Azure الظاهرية التي يمكنك نشر عقد نظام المجموعة فيها.
  • استخدم المفتاح الخاص لزوج مفاتيح SSH لتكوين تطبيق Azure CycleCloud.

ملاحظه

للحصول على معلومات حول تحديد وزيادة الحصص النسبية لوحدة المعالجة المركزية الظاهرية في اشتراك Azure، راجع الوثائق التالية:

ملاحظه

ستحتاج إلى المفتاح الخاص للاتصال مباشرة بعقد نظام المجموعة في التمرين الأخير من هذه الوحدة النمطية.

في هذا التمرين، ستقوم بتنفيذ المهام التالية:

  • المهمة 1: تثبيت وتكوين Azure CycleCloud CLI
  • المهمة 2: تكوين مشروع Azure CycleCloud Slurm
  • المهمة 3: تنفيذ قالب Azure CycleCloud مخصص
  • المهمة 4: بدء مجموعة جديدة وفحص تكوين التخزين الخاص بها

المهمة 1: تثبيت وتكوين Azure CycleCloud CLI

تستخدم معظم مهام الإدارة في هذا التمرين والتمارين اللاحقة Azure CycleCloud CLI، لذلك ستبدأ بتثبيته وتوصيله بتطبيق Azure CycleCloud. لتبسيط الإعداد الأولي، ستستخدم Azure Cloud Shell.

ملاحظه

بدلا من ذلك، يمكنك تسجيل الدخول إلى Azure VM المستضاف على تطبيق Azure CycleCloud، حيث تم تثبيت Azure CycleCloud CLI بالفعل.

  1. من الكمبيوتر، ابدأ تشغيل أي مستعرض ويب متوافق مع مدخل Microsoft Azure، وانتقل إلى مدخل Microsoft Azure، وعند المطالبة، قم بالمصادقة باستخدام حساب Microsoft أو حساب Microsoft Entra له دور المساهم أو المالك في اشتراك Azure الذي ستستخدمه في هذه الوحدة النمطية.

    ملاحظه

    يدعم مدخل Microsoft Azure متصفحات الويب الحديثة الأكثر شيوعا، بما في ذلك الإصدارات الحالية من Microsoft Edge وGoogle Chrome وMozilla Firefox وApple Safari.

  2. من مدخل Microsoft Azure، افتح Cloud Shell عن طريق تحديد أيقونته في شريط الأدوات بجوار مربع نص البحث.

  3. إذا تمت مطالبتك بتحديد إما Bash أو PowerShell، فحدد Bash.

    ملاحظه

    إذا كانت هذه هي المرة الأولى التي تقوم فيها ببدء تشغيل Azure Cloud Shell وتم تقديم لم يتم تحميل أي تخزين الرسالة، فحدد الاشتراك الذي تستخدمه في هذا التمرين، ثم حدد إنشاء تخزين.

  4. ضمن جلسة Bash في جزء Azure Cloud Shell، قم بتشغيل الأمر التالي لتعيين قيمة متغير إلى عنوان IP العام لخادم تطبيق Azure CycleCloud (استبدل العنصر النائب <public_ip_address> بعنوان IP العام الفعلي):

    PIP=<public_ip_address>
    
  5. قم بتشغيل الأمر التالي لتنزيل ملف .zip الذي يحتوي على مثبت CLI الخاص بالمثيل Azure CycleCloud:

    curl -O --insecure https://$PIP/static/tools/cyclecloud-cli.zip
    
  6. قم بتشغيل الأوامر التالية على التوالي لاستخراج وتنفيذ البرنامج النصي الذي يقوم بتثبيت Azure CycleCloud CLI:

    unzip ./cyclecloud-cli.zip
    cd ./cyclecloud-cli-installer
    ./install.sh
    

    ملاحظه

    تجاهل أي رسائل تتعلق متغير بيئة المسار وتابع إلى الخطوة التالية.

  7. قم بتشغيل الأمر التالي لإنشاء اتصال بمثيل Azure CycleCloud، حيث يقوم <username> والعناصر النائبة <password> بتعيين بيانات اعتماد حساب مستخدم تطبيق Azure CycleCloud مع دور المسؤول:

    cyclecloud initialize --batch --url=https://$PIP --username=<username> --password=<password> --verify-ssl=false
    

    ملاحظه

    المعلمة --verify-ssl المعينة إلى false تستوعب السيناريوهات التي يتم فيها تكوين تطبيق Azure CycleCloud بشهادة موقعة ذاتيا أو شهادة من مرجع مصدق غير موثوق به.

  8. قم بتشغيل الأمر التالي للتحقق من الاتصال بمثيل Azure CycleCloud عن طريق عرض تكوين المخزن الخاص به:

    cyclecloud locker list
    

    ملاحظه

    يجب أن يتضمن الإخراج أسماء خزائن كل اشتراك Azure مسجل مع CycleCloud وحاوياتها الخاصة في حسابات Azure Storage الفردية. يجب عليك تسجيل اسم المخزن المقابل لاشتراك Azure الذي تنوي استخدامه لهذا المختبر، لأنك ستحتاج إليه لاحقا في هذا التمرين. إخراج الأمر بالتنسيق التالي (حيث يمثل العنصر النائب <locker-name> اسم المخزن، ويمثل العنصر النائب <storage_account_name> اسم حساب التخزين الذي يستضيف هذا المخزن، ويمثل العنصر النائب <container_name> اسم حاوية القفل داخل حساب التخزين هذا):

    <locker-name> (az://<storage_account_name>/<container_name>)
    

المهمة 2: تكوين مشروع Azure CycleCloud Slurm

بعد ذلك، ستقوم بتكوين نموذج مشروع Azure CycleCloud Slurm. سوف تستفيد من مشروع Slurm موجود من مستودع Azure CycleCloud GitHub. ستقوم بإحضاره إلى دليلك الرئيسي في Azure Cloud Shell ثم تحميله إلى خزانة Azure CycleCloud.

  1. على جهاز الكمبيوتر الخاص بك، ضمن جلسة عمل Bash في جزء Azure Cloud Shell، قم بتشغيل الأوامر التالية لإنشاء دليل مشروع وإحضار مشروع Slurm من مستودع GitHub المقابل إليه.

    mkdir ~/cyclecloud-slurm && cd ~/cyclecloud-slurm
    cyclecloud project fetch https://github.com/Azure/cyclecloud-slurm . 
    

    ملاحظه

    تأكد من تضمين الفترة اللاحقة في نهاية الأمر الثاني.

  2. قم بتشغيل الأمر التالي لتعيين المخزن الافتراضي وتحميل المشروع فيه (استبدل العنصر النائب <locker_name> باسم المخزن الذي حددته في المهمة السابقة، مثل cc-lab-subscription-storage):

    cyclecloud project default_locker <locker_name>
    cyclecloud project upload 
    

    ملاحظه

    بدلا من ذلك، يمكنك تشغيل cyclecloud project upload <locker_name>، حيث يقوم العنصر النائب <locker_name> بتعيين اسم المخزن.

    ملاحظه

    تجاهل رسالة الخطأ المتعلقة ب azcopy التي تفيد Cannot perform sync due to error: sync must happen between source and destination of the same type, e.g., either file <-> file, or directory/container <-> directory/container متبوعة Upload failed! طالما نجحت النسخ الفردية لملفات المشروع. لتأكيد ذلك، تحقق من إدراج حالة المهمة النهائية على أنها Completed، مع صفر عمليات نقل فاشلة.

المهمة 3: تنفيذ قالب Azure CycleCloud مخصص

الآن، ستقوم بتنزيل نموذج قالب Azure CycleCloud المتوافق مع المشروع المستند إلى GitHub الذي تم إحضاره وتعديله. ستستخدمه لتعريف تكوين تخزين مخصص يتضمن قرصا إضافيا مرفقا بعقدة المجدول ويتم تصديره من خلال نظام ملفات الشبكة (NFS). بعد هذا التعديل، ستقوم باستيراده إلى تطبيق Azure CycleCloud.

ملاحظه

يمكنك فحص محتوى القالب باستخدام مستعرض ويب بالانتقال إلى مستودع Azure/cyclecloud-slurm.

  1. على جهاز الكمبيوتر الخاص بك، ضمن نافذة مستعرض الويب التي تعرض جلسة Bash في جزء Azure Cloud Shell، قم بتشغيل الأمر التالي لتغيير دليل العمل إلى المستودع الذي تم جلبه حديثا:

    cd ~/cyclecloud-slurm/templates
    
  2. قم بتشغيل الأوامر التالية لإنشاء نسخة احتياطية من قالب نظام المجموعة الأصلي:

    cp slurm.txt slurm.bak.txt
    
  3. قم بتشغيل الأمر التالي لفتح القالب الذي تم تنزيله في محرر nano:

    nano slurm.txt
    

    ملاحظه

    بدلا من محرر nano، يمكنك استخدام أي محرر نصوص آخر متوفر لك، بما في ذلك محرر Azure Cloud Shell المضمن.

  4. ضمن واجهة محرر nano، انتقل إلى قسم [[node scheduler]]. في هذا القسم، حدد موقع القسم الفرعي [[[volume shared]]]، وانتقل إلى السطر Persistent = ${NFSType == "Builtin"}، وأضف المحتوى التالي بعده:

    
        # Add 2 premium disks in a RAID 0 configuration to the NFS export
        [[[volume nfs-1]]]
        Size = 128
        StorageAccountType = Premium_LRS
        Mount = nfs
        Persistent = true
    
        [[[volume nfs-2]]]
        Size = 128
        StorageAccountType = Premium_LRS
        Mount = nfs
        Persistent = true
    
        [[[configuration cyclecloud.mounts.nfs]]]
        mountpoint = /mnt/exports/lab
        fs_type = ext4
        raid_level = 0
    
    

    ملاحظه

    إذا كنت تستخدم كمبيوتر Windows، يمكنك لصق محتوى الحافظة باستخدام مجموعة مفاتيح Shift + Insert.

    ملاحظه

    تحدد تغييراتك قرصي تخزين Premium بسعة 128 غيغابايت في وحدة تخزين مستندة إلى شريطي سيتم تحميلها تلقائيا على العقدة الرئيسية أثناء توفيرها. ستستخدم وحدة التخزين /mnt/exports/mountpoint وسيتم تنسيقها تلقائيا كنظام ملفات ext4. يشير إعداد Persistent = true إلى أن الأقراص ستستمر عند إنهاء المجموعة، ولكن سيتم حذفها تلقائيا إذا قمت بحذف نظام المجموعة.

    ملاحظه

    ينفذ Azure CycleCloud وحدات التخزين كأقراص مدارة من Azure.

  5. ضمن واجهة محرر Nano، حدد مجموعة مفاتيح Ctrl + O، وحدد المفتاح Enter، ثم حدد مجموعة مفاتيح Ctrl + X لحفظ التغييرات التي أجريتها وإغلاق الملف.

    ملاحظه

    في هذه المرحلة، يمكنك استخدام اتصالك بتطبيق Azure CycleCloud من خلال CLI لاستيراد القالب.

  6. قم بتشغيل الأمر التالي لاستيراد القالب الذي قمت بتعديله في المهمة السابقة إلى تطبيق Azure CycleCloud:

    cyclecloud import_template -f ~/cyclecloud-slurm/templates/slurm.txt
    

    ملاحظه

    سيعرض الأمر اسم القالب المستورد وحالة المجدول (scheduler: Off -- --) وعدد إجمالي العقد (Total nodes: 1).

المهمة 4: بدء مجموعة جديدة وفحص تكوين التخزين الخاص بها

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

  1. على الكمبيوتر، افتح نافذة مستعرض أخرى وانتقل إلى عنوان URL https://<IP_address> (استبدل العنصر النائب <IP_address> بعنوان IP العام لخادم تطبيق Azure CycleCloud). إذا طلب منك ذلك، فتأكد من رغبتك في المتابعة.

  2. إذا تمت مطالبتك بالمصادقة، فسجل الدخول عن طريق توفير بيانات اعتماد لنفس حساب مستخدم تطبيق Azure CycleCloud الذي استخدمته لتكوين Azure CycleCloud CLI.

  3. في واجهة Azure CycleCloud الرسومية، انتقل إلى صفحة Clusters وحدد +.

  4. في صفحة Create a New Cluster، حدد الأيقونة المسماة Slurm في شكل مثلث isosceles مع دوائر صغيرة في كل رأس من رؤوسها.

    لقطة شاشة لصفحة إنشاء نظام مجموعة جديد لتطبيق الويب Azure CycleCloud.

  5. في علامة التبويب حول في صفحة New Slurm Cluster، أدخل contoso-custom-slurm-lab-cluster في مربع النص اسم نظام المجموعة.

    لقطة شاشة لعلامة التبويب

  6. في علامة التبويب Required Settings في صفحة New Slurm Cluster، قم بتكوين الإعدادات التالية (اترك الآخرين مع قيمهم الافتراضية) وحدد Next:

    اعداد قيمة
    قطر حدد اسم منطقة Azure حيث تنوي نشر نظام المجموعة في هذا التمرين.
    نوع الجهاز الظاهري المجدول حدد اختر في النافذة المنبثقة تحديد نوع جهاز. في مربع النص بحث SKU، أدخل D4s_v3. في قائمة النتائج، حدد خانة الاختيار بجوار إدخال D4s_v3، ثم حدد Apply.

    ملاحظه

    تأكد من تحديد حجم الجهاز الظاهري الذي يدعم المستوى المتميز من Azure Storage، وهو مطلوب لتوفير أقراص عقدة الرأس وفقا للتكوين المخصص الخاص بك.

    اعداد قيمة
    الحد الأقصى ل HPC Cores أدخل 100.
    ماكس HTC النوى أدخل 100.
    الحد الأقصى للأجهزة الظاهرية لكل مجموعة مقياس أدخل 40.
    معرف الشبكة الفرعية حدد cyclecloud-rg: cyclecloud-rg-vnet-contoso-slurm-lab-cluster-subnet.
  7. في علامة التبويب التخزين المرفق بالشبكة في صفحة مجموعة Slurm الجديدة، تحقق من تعيين نوع NFS إلى Builtin، واقبل القيمة الافتراضية حجم (GB) إلى 100، وحدد Next.

    لقطة شاشة لعلامة تبويب التخزين المرفق بالشبكة في صفحة مجموعة Slurm الجديدة لتطبيق الويب Azure CycleCloud.

  8. في علامة التبويب الإعدادات المتقدمة في صفحة مجموعة Slurm الجديدة، راجع الخيارات المتوفرة دون إجراء أي تغييرات، وحدد Next.

    لقطة شاشة لعلامة التبويب Advanced Settings في صفحة New Slurm Cluster لتطبيق الويب Azure CycleCloud.

  9. في علامة التبويب cloud-init صفحة New Slurm Cluster، راجع الخيارات المتاحة دون إجراء أي تغييرات، وحدد Save.

  10. في صفحة contoso-custom-slurm-lab-cluster، حدد الارتباط Start. عند مطالبتك بالتأكيد، حدد OK.

    لقطة شاشة لصفحة علامة تبويب العقد من contoso-slurm-lab-cluster في حالة إيقاف التشغيل في تطبيق الويب Azure CycleCloud.

  11. مراقبة عملية بدء التشغيل.

    ملاحظه

    تتضمن العملية توفير جهاز Azure الظاهري الذي يخدم دور العقدة الرئيسية للمجموعة، وتثبيتها، وتكوين مجدول Swarm، وإنشاء وحدات تخزين القرص وتركيبها. قد يستغرق هذا حوالي خمس دقائق.

  12. بعد تغيير حالة عقدة المجدول إلى Ready، حدد إدخالها في علامة التبويب Nodes، ثم حدد Show Detail لعرض طريقة العرض التفصيلية الخاصة بها.

    لقطة شاشة لعلامة التبويب Nodes لعقدة المجدول الخاصة بمجموعة contoso-custom-slurm-lab-cluster.

  13. في إظهار المجدول في مجموعة contoso-custom-slurm-lab-cluster النافذة المنبثقة، قم بالتبديل إلى علامة التبويب عقدة، وقم بالتمرير إلى قسم وحدات التخزين، وتحقق من أن الإدخالات nfs-1nfs-2 على قائمة وحدات التخزين.

    لقطة شاشة لصفحة علامة تبويب العقدة للعرض التفصيلي لنظام مجموعة تم تكوينه مع وحدتي تخزين NFS إضافيتين.

مبروك! لقد أكملت بنجاح التمرين الأول من هذه الوحدة النمطية. في هذا التمرين، قمت بتنفيذ نظام مجموعة استنادا إلى قالب Azure CycleCloud مخصص. لقد استخدمت Azure CycleCloud CLI لاستيراد نموذج مشروع مستضاف في مستودع Azure CycleCloud GitHub، بما في ذلك نسخة مخصصة من أحد قوالبه. بعد ذلك، قمت بإنشاء نظام مجموعة استنادا إلى القالب المستورد باستخدام واجهة Azure CycleCloud الرسومية، وبدأت تشغيله، وتحققت من أن التغيير المخصص قد بدأ سريانه.

ملاحظه

لا تحذف الموارد التي قمت بنشرها وتكوينها في هذا التمرين إذا كنت تخطط لتشغيل التمرين التالي في هذه الوحدة النمطية. هذه الموارد مطلوبة لإكمال التمرين التالي.