| helpers.conf(5) | Slurm Configuration File | helpers.conf(5) |
نام (NAME)
helpers.conf - پرونده پیکربندی Slurm برای پلاگین helpers
توضیحات (DESCRIPTION)
helpers.conf یک پرونده اسکی (ASCII) است که پارامترهای مورد استفاده توسط پلاگین ویژگیهای گره «helpers» در Slurm را تعریف میکند. این پرونده همواره در همان دایرکتوری پرونده slurm.conf قرار دارد.
پارامترها (PARAMETERS)
نام پارامترها به بزرگ و کوچک بودن حروف حساس نیست. هر متنی که پس از «#» در پرونده پیکربندی بیاید تا انتهای آن سطر به عنوان توضیح (کامنت) در نظر گرفته میشود. طول هر سطر در پرونده به ۱۰۲۴ نویسه محدود است. تغییرات در پرونده پیکربندی با راهاندازی مجدد دیمنهای Slurm، دریافت سیگنال SIGHUP توسط دیمن، یا اجرای دستور «scontrol reconfigure» اعمال میشوند، مگر اینکه خلاف آن ذکر شده باشد.
- AllowUserBoot=<user1>[,<user2>...]
- کاربرانی را که مجاز به تغییر ویژگیها با این پلاگین هستند، کنترل میکند. حالت پیشفرض، مجاز بودن همه کاربران (ALL) است.
- BootTime=<time>
- مدت زمانی را که یک گره برای راهاندازی مجدد (بوت شدن) فرصت دارد، پیش از آنکه مهلت زمانی سررسد و شکست فرض شود، کنترل میکند. مقدار پیشفرض ۳۰۰ ثانیه است.
- ExecTime=<time>
- مدت زمانی را که برنامه Helper میتواند اجرا شود، پیش از آنکه مهلت زمانی سررسد و شکست فرض شود، کنترل میکند. مقدار پیشفرض ۱۰ ثانیه است.
- Feature=<string> Helper=<file> <Flags=<flags>
- ویژگیها
(Feature) و برنامه
کمکی
متناظر (Helper)
را تعریف
میکند که
وضعیت
ویژگی(ها)
را گزارش
داده و
تغییر
میدهد. درج
چندین مدخل
Feature مجاز
است؛ یکی
برای هر
ویژگی و
برنامه/اسکریپت
متناظر آن.
همچنین
میتوان
فهرستی از
ویژگیها
را که با
کاما از هم
جدا
شدهاند،
برای یک Helper
تعریف کرد.
میتوان با ایجاد یک پرونده یکتا برای هر گره، ویژگیها را به ازای هر گره تعریف کرد. کنترلکننده (کنترلر) باید دارای یک helpers.conf باشد که تمام ویژگیهای کمکی ممکن را فهرست کند.
- فلگهای پشتیبانیشده در حال حاضر عبارتند از:
- rebootless
- نشان میدهد که این ویژگی نیازی به راهاندازی مجدد گره ندارد. در صورت تنظیم، فعالسازی ویژگی برنامه RebootProgram را اجرا نخواهد کرد؛ گره صرفاً بدون راهاندازی مجدد واقعی، راهاندازی مجدد گره را به slurmctld گزارش و ثبت میکند.
-
میتوان یک پرونده helpers.conf واحد ایجاد کرد که با افزودن NodeName=<nodelist> به ابتدای سطر Feature، ویژگیها را برای گرههای خاصی تعریف کند. هر Feature که NodeName در ابتدای آن نیامده باشد، برای تمام گرهها اعمال خواهد شد.
-
# helpers.conf NodeName=n1_[1-10] Feature=a1,a2 Helper=/path/helper.sh NodeName=n2_[1-10] Feature=b1,b2 Helper=/path/helper.sh Feature=c1,c2 Helper=/path/helper.sh
اگر ویژگیای در helpers.conf تعریف شده باشد و برای یک گره خاص در helpers.conf تعریف نشده باشد اما برای آن گره در slurm.conf تعریف شده باشد، آن ویژگی توسط کنترلر به عنوان یک ویژگی قابل تغییر/نیازمند راهاندازی مجدد تلقی میشود. برای نمونه، اگر ویژگی fa در slurm.conf روی گره node1 تعریف شده باشد اما در helpers.conf فقط برای node2 فهرست شده باشد، در صورت فعال نبودن، همچنان باعث راهاندازی مجدد گره خواهد شد.
برنامه Helper یک برنامه یا اسکریپت دلخواه است که مجموعه ویژگیهای موجود در یک گره مشخص را گزارش کرده و تغییر میدهد. برنامههای کمکی متناسب با محیط و سایت مورد نظر هستند (site-specific) و همراه با Slurm ارائه نمیشوند. ویژگیهای تغییریافته توسط برنامههای کمکی نیازمند راهاندازی مجدد گره با استفاده از RebootProgram هستند. برنامه/اسکریپت Helper باید توسط SlurmdUser قابل اجرا باشد. از یک برنامه/اسکریپت یکسان میتوان برای کنترل چندین ویژگی استفاده کرد. slurmd برنامه Helper را به یکی از دو روش زیر اجرا خواهد کرد:
۱. اجرا بدون هیچ آرگومانی برای استعلام وضعیت ویژگیهای گره. باید کد خروج ۰ را بازگرداند و یا یک ابرمجموعه (superset) از ویژگیهای مورد انتظار Slurm را چاپ کند، یا هیچ خروجی چاپ نکند. در غیر این صورت، گره تخلیه (drain) خواهد شد.
۲. اجرا با یک آرگومان منفرد شامل ویژگیای که باید پس از راهاندازی مجدد گره فعال شود. در صورت وجود چندین ویژگی، اسکریپت چندین بار فراخوانی میشود.
- MutuallyExclusive=<feature_list>
- از تعیین برخی ویژگیها برای یک کار (job) یکسان جلوگیری میکند. میتواند چندین مدخل MutuallyExclusive وجود داشته باشد که هر کدام دارای فهرست ویژگیهای مانعةالجمع (ناسازگار با یکدیگر) خود هستند (یعنی ویژگیهای یک سطر فقط با دیگر ویژگیهای همان سطر مانعةالجمع هستند، اما با ویژگیهای سطرهای دیگر مانعةالجمع نیستند).
مثالها (EXAMPLES)
- /etc/slurm/slurm.conf:
- برای فعالسازی پلاگین helpers، پرونده slurm.conf باید حاوی مدخل زیر باشد:
-
NodeFeaturesPlugins=node_features/helpers
- /etc/slurm/helpers.conf:
- نمونه پرونده helpers.conf زیر نشان میدهد که چندین ویژگی میتوانند از یک اسکریپت Helper یکسان استفاده کنند و میتوان چندین فهرست از ویژگیهای مانعةالجمع داشت. برای نمونه، با پیکربندی زیر یک کار نمیتواند همزمان هر دو ویژگی "nps1" و "nps2" را درخواست کند، و همچنین نمیتواند هر دو "mig=on" و "mig=off" را درخواست کند. با این حال، میتواند "nps1" و "mig=on" را به طور همزمان درخواست کند.
-
# helpers.conf Feature=nps1,nps2,nps4 Helper=/usr/local/bin/nps Feature=mig=on Helper=/usr/local/bin/mig Feature=mig=off Helper=/usr/local/bin/mig MutuallyExclusive=nps1,nps2,nps4 MutuallyExclusive=mig=on,mig=off ExecTime=60 BootTime=60 AllowUserBoot=user1,user2
- اسکریپت نمونه Helper:
- اسکریپتهای کمکی باید بیت اجرایی داشته باشند و باید روی گرهها، جایی که توسط slurmd اجرا خواهند شد، وجود داشته باشند. هنگامی که اسکریپت کمکی بدون آرگومان فراخوانی میشود، باید ویژگی(های) فعال فعلی گره را بازگرداند، به طوری که ویژگیهای چندگانه با سطر جدید (newline) از هم جدا شوند. هنگامی که اسکریپت کمکی با یک ویژگی برای فعالسازی در گره فراخوانی میشود، باید گره را به گونهای پیکربندی کند که ویژگی مشخصشده هنگام راهاندازی مجدد گره فعال شود. این اسکریپت نمونه صرفاً نام ویژگی فعال را در یک پرونده مینویسد، اما اسکریپتهای محیط عملیاتی احتمالاً پیچیدهتر خواهند بود.
-
#!/bin/bash if [ "$1" = "nps1" ]; then echo "$1" > /etc/slurm/feature elif [ "$1" = "nps2" ]; then echo "$1" > /etc/slurm/feature elif [ "$1" = "nps4" ]; then echo "$1" > /etc/slurm/feature else cat /etc/slurm/feature fi
کپیرایت و تکثیر (COPYING)
Copyright (C) 2021 NVIDIA CORPORATION. All rights reserved.
Copyright (C) 2021 SchedMD LLC.
این پرونده بخشی از Slurm است که یک برنامه مدیریت منابع میباشد. برای جزئیات بیشتر به https://slurm.schedmd.com مراجعه کنید.
نرمافزار Slurm یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همانگونه که توسط بنیاد نرمافزارهای آزاد (Free Software Foundation) منتشر شده است؛ چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده و/یا تغییر دهید.
نرمافزار Slurm با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن (MERCHANTABILITY) یا تناسب برای یک هدف خاص (FITNESS FOR A PARTICULAR PURPOSE). برای جزئیات بیشتر به GNU General Public License مراجعه کنید.
همچنین ببینید (SEE ALSO)
| Slurm Configuration File | Slurm 26.05 |