تمرين - إضافة قرص إلى عقدة مجدول نظام مجموعة 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 بالفعل.
من الكمبيوتر، ابدأ تشغيل أي مستعرض ويب متوافق مع مدخل Microsoft Azure، وانتقل إلى مدخل Microsoft Azure، وعند المطالبة، قم بالمصادقة باستخدام حساب Microsoft أو حساب Microsoft Entra له دور المساهم أو المالك في اشتراك Azure الذي ستستخدمه في هذه الوحدة النمطية.
ملاحظه
يدعم مدخل Microsoft Azure متصفحات الويب الحديثة الأكثر شيوعا، بما في ذلك الإصدارات الحالية من Microsoft Edge وGoogle Chrome وMozilla Firefox وApple Safari.
من مدخل Microsoft Azure، افتح Cloud Shell عن طريق تحديد أيقونته في شريط الأدوات بجوار مربع نص البحث.
إذا تمت مطالبتك بتحديد إما Bash أو PowerShell، فحدد Bash.
ملاحظه
إذا كانت هذه هي المرة الأولى التي تقوم فيها ببدء تشغيل Azure Cloud Shell وتم تقديم لم يتم تحميل أي تخزين الرسالة، فحدد الاشتراك الذي تستخدمه في هذا التمرين، ثم حدد إنشاء تخزين.
ضمن جلسة Bash في جزء Azure Cloud Shell، قم بتشغيل الأمر التالي لتعيين قيمة متغير إلى عنوان IP العام لخادم تطبيق Azure CycleCloud (استبدل العنصر النائب
<public_ip_address>بعنوان IP العام الفعلي):PIP=<public_ip_address>قم بتشغيل الأمر التالي لتنزيل ملف .zip الذي يحتوي على مثبت CLI الخاص بالمثيل Azure CycleCloud:
curl -O --insecure https://$PIP/static/tools/cyclecloud-cli.zipقم بتشغيل الأوامر التالية على التوالي لاستخراج وتنفيذ البرنامج النصي الذي يقوم بتثبيت Azure CycleCloud CLI:
unzip ./cyclecloud-cli.zip cd ./cyclecloud-cli-installer ./install.shملاحظه
تجاهل أي رسائل تتعلق متغير بيئة المسار وتابع إلى الخطوة التالية.
قم بتشغيل الأمر التالي لإنشاء اتصال بمثيل Azure CycleCloud، حيث يقوم
<username>والعناصر النائبة<password>بتعيين بيانات اعتماد حساب مستخدم تطبيق Azure CycleCloud مع دور المسؤول:cyclecloud initialize --batch --url=https://$PIP --username=<username> --password=<password> --verify-ssl=falseملاحظه
المعلمة
--verify-sslالمعينة إلىfalseتستوعب السيناريوهات التي يتم فيها تكوين تطبيق Azure CycleCloud بشهادة موقعة ذاتيا أو شهادة من مرجع مصدق غير موثوق به.قم بتشغيل الأمر التالي للتحقق من الاتصال بمثيل 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.
على جهاز الكمبيوتر الخاص بك، ضمن جلسة عمل Bash في جزء Azure Cloud Shell، قم بتشغيل الأوامر التالية لإنشاء دليل مشروع وإحضار مشروع Slurm من مستودع GitHub المقابل إليه.
mkdir ~/cyclecloud-slurm && cd ~/cyclecloud-slurm cyclecloud project fetch https://github.com/Azure/cyclecloud-slurm .ملاحظه
تأكد من تضمين الفترة اللاحقة في نهاية الأمر الثاني.
قم بتشغيل الأمر التالي لتعيين المخزن الافتراضي وتحميل المشروع فيه (استبدل العنصر النائب
<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.
على جهاز الكمبيوتر الخاص بك، ضمن نافذة مستعرض الويب التي تعرض جلسة Bash في جزء Azure Cloud Shell، قم بتشغيل الأمر التالي لتغيير دليل العمل إلى المستودع الذي تم جلبه حديثا:
cd ~/cyclecloud-slurm/templatesقم بتشغيل الأوامر التالية لإنشاء نسخة احتياطية من قالب نظام المجموعة الأصلي:
cp slurm.txt slurm.bak.txtقم بتشغيل الأمر التالي لفتح القالب الذي تم تنزيله في محرر nano:
nano slurm.txtملاحظه
بدلا من محرر nano، يمكنك استخدام أي محرر نصوص آخر متوفر لك، بما في ذلك محرر Azure Cloud Shell المضمن.
ضمن واجهة محرر 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.
ضمن واجهة محرر Nano، حدد مجموعة مفاتيح Ctrl + O، وحدد المفتاح Enter، ثم حدد مجموعة مفاتيح Ctrl + X لحفظ التغييرات التي أجريتها وإغلاق الملف.
ملاحظه
في هذه المرحلة، يمكنك استخدام اتصالك بتطبيق Azure CycleCloud من خلال CLI لاستيراد القالب.
قم بتشغيل الأمر التالي لاستيراد القالب الذي قمت بتعديله في المهمة السابقة إلى تطبيق Azure CycleCloud:
cyclecloud import_template -f ~/cyclecloud-slurm/templates/slurm.txtملاحظه
سيعرض الأمر اسم القالب المستورد وحالة المجدول (
scheduler: Off -- --) وعدد إجمالي العقد (Total nodes: 1).
المهمة 4: بدء مجموعة جديدة وفحص تكوين التخزين الخاص بها
لاختتام هذا التمرين، ستتحقق من أن القالب الذي قمت باستيراده إلى تطبيق Azure CycleCloud يوفر الوظيفة المقصودة عن طريق إنشاء مجموعة جديدة ومراجعة تكوين التخزين لعقدة الرأس الخاصة به للتأكد من أنه يتضمن وحدة تخزين تتكون من قرصين ثابتين.
على الكمبيوتر، افتح نافذة مستعرض أخرى وانتقل إلى عنوان URL https://<IP_address> (استبدل العنصر النائب <IP_address> بعنوان IP العام لخادم تطبيق Azure CycleCloud). إذا طلب منك ذلك، فتأكد من رغبتك في المتابعة.
إذا تمت مطالبتك بالمصادقة، فسجل الدخول عن طريق توفير بيانات اعتماد لنفس حساب مستخدم تطبيق Azure CycleCloud الذي استخدمته لتكوين Azure CycleCloud CLI.
في واجهة Azure CycleCloud الرسومية، انتقل إلى صفحة Clusters وحدد +.
في صفحة Create a New Cluster، حدد الأيقونة المسماة Slurm في شكل مثلث isosceles مع دوائر صغيرة في كل رأس من رؤوسها.
في علامة التبويب حول في صفحة New Slurm Cluster، أدخل contoso-custom-slurm-lab-cluster في مربع النص اسم نظام المجموعة.
في علامة التبويب 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. في علامة التبويب التخزين المرفق بالشبكة في صفحة مجموعة Slurm الجديدة، تحقق من تعيين نوع NFS إلى Builtin، واقبل القيمة الافتراضية حجم (GB) إلى 100، وحدد Next.
في علامة التبويب الإعدادات المتقدمة في صفحة مجموعة Slurm الجديدة، راجع الخيارات المتوفرة دون إجراء أي تغييرات، وحدد Next.
في علامة التبويب cloud-init صفحة New Slurm Cluster، راجع الخيارات المتاحة دون إجراء أي تغييرات، وحدد Save.
في صفحة contoso-custom-slurm-lab-cluster، حدد الارتباط Start. عند مطالبتك بالتأكيد، حدد OK.
مراقبة عملية بدء التشغيل.
ملاحظه
تتضمن العملية توفير جهاز Azure الظاهري الذي يخدم دور العقدة الرئيسية للمجموعة، وتثبيتها، وتكوين مجدول Swarm، وإنشاء وحدات تخزين القرص وتركيبها. قد يستغرق هذا حوالي خمس دقائق.
بعد تغيير حالة عقدة المجدول إلى Ready، حدد إدخالها في علامة التبويب Nodes، ثم حدد Show Detail لعرض طريقة العرض التفصيلية الخاصة بها.
في إظهار المجدول في مجموعة contoso-custom-slurm-lab-cluster النافذة المنبثقة، قم بالتبديل إلى علامة التبويب عقدة، وقم بالتمرير إلى قسم وحدات التخزين، وتحقق من أن الإدخالات nfs-1nfs-2 على قائمة وحدات التخزين.
مبروك! لقد أكملت بنجاح التمرين الأول من هذه الوحدة النمطية. في هذا التمرين، قمت بتنفيذ نظام مجموعة استنادا إلى قالب Azure CycleCloud مخصص. لقد استخدمت Azure CycleCloud CLI لاستيراد نموذج مشروع مستضاف في مستودع Azure CycleCloud GitHub، بما في ذلك نسخة مخصصة من أحد قوالبه. بعد ذلك، قمت بإنشاء نظام مجموعة استنادا إلى القالب المستورد باستخدام واجهة Azure CycleCloud الرسومية، وبدأت تشغيله، وتحققت من أن التغيير المخصص قد بدأ سريانه.
ملاحظه
لا تحذف الموارد التي قمت بنشرها وتكوينها في هذا التمرين إذا كنت تخطط لتشغيل التمرين التالي في هذه الوحدة النمطية. هذه الموارد مطلوبة لإكمال التمرين التالي.