| slurmdbd.conf(5) | Slurm Configuration File | slurmdbd.conf(5) |
نام (NAME)
slurmdbd.conf - فایل پیکربندی دیمن پایگاهداده اسلورم (SlurmDBD)
توضیحات (DESCRIPTION)
slurmdbd.conf یک فایل متنی ASCII است که اطلاعات پیکربندی دیمن پایگاهداده اسلورم (SlurmDBD) را شرح میدهد. این فایل همواره در همان دایرکتوری پرونده slurm.conf قرار دارد.
محتویات این فایل بهجز نام گرهها و فایلها، به حروف بزرگ و کوچک حساس نیست (case-insensitive). هر متنی پس از کاراکتر «#» در فایل پیکربندی، تا انتهای آن خط به عنوان توضیح (کامنت) در نظر گرفته میشود. تغییرات اعمالشده در فایل پیکربندی، مگر در مواردی که خلاف آن ذکر شده باشد، پس از راهاندازی مجدد SlurmDBD یا دریافت سیگنال SIGHUP توسط دیمن اعمال خواهند شد.
این فایل باید منحصراً روی ماشینی که SlurmDBD روی آن اجرا میشود قرار داشته باشد، در مالکیت SlurmUser یا root باشد و دسترسیهای آن روی 600 یا 640 تنظیم شده باشد. اگر دیمن slurmdbd با کاربر root اجرا شود و سپس به شناسه کاربری (UID) دیگری تغییر یابد، فایل پیکربندی در ابتدا به عنوان کاربر root خوانده میشود، اما در پاسخ به سیگنال SIGHUP با شناسه کاربری دیگر خوانده خواهد شد. این فایل باید از دسترسیهای غیرمجاز محافظت شود، زیرا حاوی رمز عبور پایگاهداده است. پارامترهای کلی پیکربندی موجود عبارتند از:
- AllowNoDefAcct
- حذف الزام کاربران به داشتن یک حساب پیشفرض. بولی (Boolean)، مقدار yes برای فعالسازی، no (پیشفرض) برای اجباری کردن حسابهای پیشفرض.
- AllResourcesAbsolute
- هنگام افزودن یک منبع (لایسنس)، تعداد تخصیصیافته/مجاز را بهجای مقادیر درصدی، به عنوان اعداد مطلق در نظر میگیرد. بولی (Boolean)، مقدار yes برای فعالسازی، no (پیشفرض) برای استفاده از اعداد به عنوان درصد.
- ArchiveDir
- اگر ArchiveScript تنظیم نشده باشد، slurmdbd فایلی تولید میکند که در هر زمان با دستور sacctmgr load filename قابل بازخوانی است. این دایرکتوری مکانی است که پس از رخ دادن یک رویداد پاکسازی (purge) و در صورتی که بایگانی برای آن عنصر روی true تنظیم شده باشد، فایل در آن قرار خواهد گرفت. مقدار پیشفرض /tmp است. قالب نام این فایلها عبارت است از: $ArchiveDir/$ClusterName_$ArchiveObject_archive_$BeginTimeStamp_$endTimeStamp ما فایلهای بایگانی را به MaxPurgeLimit رکورد در هر فایل محدود میکنیم. اگر رکوردهای بیشتری در طول آن بازه زمانی وجود داشته باشد، در یک فایل جدید نوشته خواهند شد. به فایلهای بایگانی بعدی در همان بازه زمانی، «.<number>» اضافه میشود (برای مثال .2) و با هر فایل در همان بازه زمانی، این عدد یک واحد افزایش مییابد.
- ArchiveEvents
- هنگام پاکسازی رویدادها، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای رویداد، در غیر این صورت no. مقدار پیشفرض no است.
- ArchiveJobs
- هنگام پاکسازی کارها، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای کارها، در غیر این صورت no. مقدار پیشفرض no است.
- ArchiveJobScript
- هنگام پاکسازی اسکریپتهای کارها، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای اسکریپت کار، در غیر این صورت no. پیشفرض پیروی از ArchiveJobs است.
- ArchiveJobEnv
- هنگام پاکسازی محیطهای کارها، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای محیط کار، در غیر این صورت no. پیشفرض پیروی از ArchiveJobs است.
- ArchiveResvs
- هنگام پاکسازی رزروها، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای رزرو، در غیر این صورت no. مقدار پیشفرض no است.
- ArchiveScript
- این اسکریپت میتواند هر بار که یک تجمیع (rollup) رخ میدهد (هر ساعت، روز و ماه)، بسته به گزینههای Purge*After اجرا شود. این اسکریپت برای انتقال رکوردهای حسابداری از پایگاهداده به یک بایگانی استفاده میشود. این اسکریپت بهجای فرآیند داخلی مورد استفاده برای بایگانی اشیاء به کار میرود. این اسکریپت بدون هیچ آرگومانی اجرا میشود و متغیرهای محیطی زیر در آن مقداردهی میگردند:
- SLURM_ARCHIVE_EVENTS
- مقدار 1 برای بایگانی رویدادها، در غیر این صورت 0.
- SLURM_ARCHIVE_LAST_EVENT
- زمان شروع آخرین رویداد جهت بایگانی.
- SLURM_ARCHIVE_JOBS
- مقدار 1 برای بایگانی کارها، در غیر این صورت 0.
- SLURM_ARCHIVE_LAST_JOB
- زمان ثبت (submit) آخرین کار جهت بایگانی.
- SLURM_ARCHIVE_STEPS
- مقدار 1 برای بایگانی گامها (steps)، در غیر این صورت 0.
- SLURM_ARCHIVE_LAST_STEP
- زمان شروع آخرین گام جهت بایگانی.
- SLURM_ARCHIVE_SUSPEND
- مقدار 1 برای بایگانی دادههای تعلیق (suspend)، در غیر این صورت 0.
- SLURM_ARCHIVE_TXN
- مقدار 1 برای بایگانی دادههای تراکنش (transaction)، در غیر این صورت 0.
- SLURM_ARCHIVE_USAGE
- مقدار 1 برای بایگانی دادههای مصرف (usage)، در غیر این صورت 0.
- SLURM_ARCHIVE_LAST_SUSPEND
- زمان شروع آخرین تعلیق جهت بایگانی.
- ArchiveSteps
- هنگام پاکسازی گامها، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای گامها، در غیر این صورت no. مقدار پیشفرض no است.
- ArchiveSuspend
- هنگام پاکسازی دادههای تعلیق، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای تعلیق، در غیر این صورت no. مقدار پیشفرض no است.
- ArchiveTXN
- هنگام پاکسازی دادههای تراکنش، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای تراکنش، در غیر این صورت no. مقدار پیشفرض no است.
- ArchiveUsage
- هنگام پاکسازی دادههای مصرف (خوشه، انتساب و WCKey)، آنها را نیز بایگانی میکند. بولی (Boolean)، مقدار yes برای بایگانی دادههای مصرف، در غیر این صورت no. مقدار پیشفرض no است.
- AuthAltTypes
- فهرستی
جداشده با
کاما از
افزونههای
احراز هویت
جایگزین که
slurmdbd برای
ارتباطات
مجاز
میداند.
مقادیر
قابل قبول
در حال حاضر
شامل auth/jwt است.
NOTE: مسیر فایل کلید مورد نیاز jwt_hs256.key باید با AuthAltParameters مشخص شود. فایل jwt_hs256.key تنها باید برای SlurmUser و root قابل مشاهده باشد. قرار دادن jwt_hs256.key روی هر گرهای به جز ماشینی که slurmctld را اجرا میکند و ماشینی که slurmdbd را اجرا میکند، توصیه نمیشود. افزونه auth/jwt میتواند با حضور متغیر محیطی SLURM_JWT فعال شود. در صورت فعالسازی، مقدار پیشفرض را لغو (override) خواهد کرد.
- AuthAltParameters
- برای تعیین گزینههای افزونههای احراز هویت جایگزین استفاده میشود. چندین گزینه میتوانند با کاما از یکدیگر جدا شوند.
- jwks=
- مسیر مطلق به فایل JWKS. کلید باید در مالکیت SlurmUser یا root باشد، باید توسط SlurmUser قابل خواندن باشد، و مجوزهای پیشنهادی برای آن 0400 است. این فایل نباید توسط «other» قابل نوشتن باشد. تنها کلیدهای RS256 پشتیبانی میشوند، اگرچه ممکن است انواع کلیدهای دیگری نیز در فایل فهرست شده باشند. در صورت تنظیم، هیچ کلید HS256 به صورت پیشفرض بارگذاری نخواهد شد (و تولید توکن غیرفعال میشود)، هرچند تنظیم jwt_key میتواند برای فعالسازی مجدد و صریح استفاده از کلید HS256 (و تولید توکن) استفاده شود.
- jwt_key=
- مسیر مطلق به فایل کلید JWT. کلید باید از نوع HS256 باشد. کلید باید در مالکیت SlurmUser یا root باشد، باید توسط SlurmUser قابل خواندن باشد، و مجوزهای پیشنهادی برای آن 0400 است. نباید توسط «other» قابل دسترسی باشد.
- AuthInfo
- اطلاعات تکمیلی مورد استفاده برای احراز هویت ارتباطات با دیمن کنترل اسلورم (slurmctld) در هر خوشه. تفسیر این گزینه مختص به AuthType پیکربندیشده است. چندین گزینه را میتوان در یک فهرست جداشده با کاما تعیین کرد. در صورت عدم تعیین، از اطلاعات احراز هویت پیشفرض استفاده خواهد شد.
- socket
- نام مسیر سوکت دیمن MUNGE برای استفاده (مانند "socket=/var/run/munge/munge.socket.2"). مقدار پیشفرض "/var/run/munge/munge.socket.2" است. توسط auth/munge و cred/munge استفاده میشود.
- ttl
- طول عمر اعتبارنامه (Credential)، بر حسب ثانیه (مانند "ttl=300"). مقدار پیشفرض به نوع نصب MUNGE بستگی دارد، اما معمولاً ۳۰۰ ثانیه است.
- use_client_ids
- به افزونه auth/slurm اجازه میدهد تا کاربران را بدون اتکا به اطلاعات کاربر از LDAP یا سیستمعامل احراز هویت کند.
- AuthType
- تعیین روش احراز هویت برای ارتباطات بین مؤلفههای Slurm. پیش از تغییر مقدار AuthType دیمن SlurmDBD باید متوقف شده و سپس مجدداً راهاندازی شود. این مقدار باید با AuthType استفادهشده در slurm.conf مطابقت داشته باشد. مقادیر قابل قبول در حال حاضر عبارتند از:
- auth/munge
- نشان میدهد که باید از MUNGE استفاده شود (پیشفرض). (برای اطلاعات بیشتر "https://dun.github.io/munge" را ببینید).
- auth/slurm
- استفاده از افزونه احراز هویت داخلی Slurm.
- CommitDelay
- تعداد ثانیههای میان ثبتها (commitها) روی یک اتصال از سوی Slurmctld. این کار سرعت درج در پایگاهداده را به طرز چشمگیری افزایش میدهد. اگر در حال اجرای توان پردازشی بسیار بالایی از کارها (jobs) هستید، باید تنظیم این گزینه را مد نظر قرار دهید. در آزمایشها، مقدار ۱ ثانیه عملکرد slurmdbd را به طور چشمگیری بهبود بخشیده و سربار را کاهش میدهد. با این حال، احتمال اندکی برای از دست رفتن دادهها وجود دارد، زیرا این تنظیم پنجرهای ایجاد میکند که اگر slurmdbd به هر دلیلی به طور غیرعادی متوقف شود، دادههای ثبتنشده ممکن است از بین بروند. اگرچه این وضعیت باید بسیار نادر باشد، اما خطری بسیار اندک ایجاد میکند که ممکن است تنها راه اجرا در محیطهای بسیار سنگین باشد. صادقانه بگوییم، این خطر بسیار کم است، اما همچنان وجود دارد.
- CommunicationParameters
- گزینههای جداشده با کاما که گزینههای ارتباطی را مشخص میکنند.
- DisableIPv4
- غیرفعال کردن عملکرد فقط IPv4 برای slurmdbd. این گزینه باید در فایل slurm.conf شما نیز تنظیم شود.
- EnableIPv6
- فعال کردن استفاده از آدرسهای IPv6 برای slurmdbd. هنگام استفاده همزمان از IPv4 و IPv6، اولویت خانواده آدرس بر اساس فایل /etc/gai.conf شما تعیین خواهد شد. این گزینه باید در فایل slurm.conf شما نیز تنظیم شود.
- keepaliveinterval=فاصله زمانی، بر حسب ثانیه، بین پروبهای زنده نگهداشتن (keepalive) را در اتصالات بیکار مشخص میکند.
- این گزینه بر بیشتر اتصالات خروجی از slurmdbd تأثیر میگذارد (مثلاً بین سرور اصلی و پشتیبان، یا از slurmdbd به slurmctld). مقدار پیشفرض ۳۰ ثانیه است.
- keepaliveprobes=تعداد پروبهای زنده نگهداشتن بدون پاسخِ ارسالشده را پیش از قطع فرض کردن یک اتصال مشخص میکند.
- این گزینه بر بیشتر اتصالات خروجی از slurmdbd تأثیر میگذارد (مثلاً بین سرور اصلی و پشتیبان، یا از slurmdbd به slurmctld). مقدار پیشفرض ۳ است.
- keepalivetime=مشخص میکند که یک اتصال قبل از آغاز ارسال پروبهای زنده نگهداشتن چقدر باید بیکار باشد (بر حسب ثانیه)، و همچنین بستن یک اتصال برای پردازش پیامهای باقیمانده در صف چه مدت به تأخیر بیفتد.
- این گزینه بر بیشتر اتصالات خروجی از slurmdbd تأثیر میگذارد (مثلاً بین سرور اصلی و پشتیبان، یا از slurmdbd به slurmctld). مقدار پیشفرض ۳۰ ثانیه است.
- DbdAddr
- نامی که باید برای ارجاع به DbdHost هنگام برقراری مسیر ارتباطی استفاده شود. این نام به عنوان یک آرگومان برای شناسایی به تابع getaddrinfo() داده میشود. برای مثال، ممکن است از "elx0000" برای تعیین آدرس اترنت برای گره "lx0000" استفاده شود. به طور پیشفرض، مقدار DbdAddr همسان با مقدار DbdHost خواهد بود.
- DbdBackupHost
- نام کوتاه یا بلند ماشینی که دیمن پشتیبان پایگاهداده اسلورم روی آن اجرا میشود (یعنی نامی که توسط دستور "hostname -s" برگردانده میشود). این میزبان باید به همان پایگاهداده زیربنایی مشخصشده توسط گزینههای 'Storage' ذکرشده در زیر دسترسی داشته باشد.
- DbdHost
- نام کوتاه یا بلند ماشینی که دیمن پایگاهداده اسلورم روی آن اجرا میشود (یعنی نامی که توسط دستور "hostname -s" برگردانده میشود). این مقدار باید مشخص شود.
- DbdPort
- شماره پورتی که دیمن پایگاهداده اسلورم (slurmdbd) برای دریافت کارها به آن گوش میدهد. مقدار پیشفرض SLURMDBD_PORT است که در زمان ساخت سیستم تعیین شده است. اگر مقداری به طور صریح مشخص نشود، روی 6819 تنظیم خواهد شد. این مقدار باید با پارامتر AccountingStoragePort در فایل slurm.conf برابر باشد.
- DebugFlags
- زیرسیستمهای خاصی را تعریف میکند که باید ثبت وقایع (لاگگیری) رویدادها را با جزئیات بیشتری ارائه دهند. چندین زیرسیستم را میتوان با جداکنندههای کاما مشخص کرد. اگر DebugLevel در سطح 'verbose' یا بالاتر باشد، بیشتر این پرچمها منجر به پیامهای ثبت وقایع اضافی برای زیرسیستمهای شناساییشده خواهند شد. ثبت وقایع بیشتر ممکن است بر کارایی تأثیر بگذارد. زیرسیستمهای معتبر موجود در حال حاضر (با موارد بیشتر در آینده) عبارتند از:
- AuditRPCs
- برای تمامی RPCهای ورودی به slurmdbd، آدرس مبدأ، کاربر احراز هویتشده و نوع RPC پیش از پردازش اتصال چاپ شود.
- DB_ARCHIVE
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با بایگانی و پاکسازی پایگاهداده.
- DB_ASSOC
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با انتسابها (associations) در پایگاهداده.
- DB_EVENT
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با رویدادهای (گره) در پایگاهداده.
- DB_JOB
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با کارها (jobs) در پایگاهداده.
- DB_QOS
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با کیفیت خدمات (QOS) در پایگاهداده.
- DB_QUERY
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با تراکنشها و مواردی از این دست در پایگاهداده.
- DB_RESERVATION
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با رزروها در پایگاهداده.
- DB_RESOURCE
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با منابعی مانند مجوزها (لایسنسها) در پایگاهداده.
- DB_STEP
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با گامها (steps) در پایگاهداده.
- DB_TRES
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با منابع قابل ردیابی (TRES) در پایگاهداده.
- DB_USAGE
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با پرسوجوها و درجهای مصرف (usage) در پایگاهداده.
- DB_WCKEY
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با کلیدهای بار کاری (wckeyها) در پایگاهداده.
- FEDERATION
- دستورات/پرسوجوهای SQL هنگام سروکار داشتن با فدراسیونها در پایگاهداده.
- Network
- جزئیات شبکه.
- NetworkRaw
- تخلیه مقادیر خام هگزادسیمال ارتباطات کلیدی شبکه.
- thread
- مدیریت ریسهها (threads) و کارها.
- TLS
- افزونه TLS.
- DebugLevel
- سطح جزئیات ارائهشده برای گزارشهای وقایع دیمن پایگاهداده اسلورم. مقدار پیشفرض info است.
- quiet
- چیزی ثبت نمیشود
- fatal
- تنها خطاهای مهلک ثبت میشوند
- error
- تنها خطاها ثبت میشوند
- info
- خطاها و پیامهای اطلاعاتی عمومی ثبت میشوند
- verbose
- خطاها و پیامهای اطلاعاتی مشروح ثبت میشوند
- debug
- خطاها، پیامهای اطلاعاتی مشروح و پیامهای اشکالزدایی ثبت میشوند
- debug2
- خطاها، پیامهای اطلاعاتی مشروح و پیامهای اشکالزدایی بیشتری ثبت میشوند
- debug3
- خطاها، پیامهای اطلاعاتی مشروح و حتی پیامهای اشکالزدایی بیشتری ثبت میشوند
- debug4
- خطاها، پیامهای اطلاعاتی مشروح و باز هم پیامهای اشکالزدایی بیشتری ثبت میشوند
- debug5
- خطاها، پیامهای اطلاعاتی مشروح و حداکثر پیامهای اشکالزدایی ثبت میشوند
- DebugLevelSyslog
- دیمن slurmdbd رویدادها را در فایل syslog با سطح جزئیات مشخصشده ثبت خواهد کرد. در صورت عدم تنظیم، دیمن slurmdbd با سطح fatal در syslog گزارش ثبت میکند، مگر اینکه هیچ LogFile مشخص نشده باشد و در پسزمینه اجرا شود؛ در این صورت با سطح تعیینشده توسط DebugLevel در syslog گزارش ثبت خواهد کرد (در حالتی که DebugLevel روی quiet تنظیم شده باشد، در سطح fatal)، یا اگر در پیشزمینه اجرا شود، روی quiet تنظیم خواهد شد.
- quiet
- چیزی ثبت نمیشود
- fatal
- تنها خطاهای مهلک ثبت میشوند
- error
- تنها خطاها ثبت میشوند
- info
- خطاها و پیامهای اطلاعاتی عمومی ثبت میشوند
- verbose
- خطاها و پیامهای اطلاعاتی مشروح ثبت میشوند
- debug
- خطاها، پیامهای اطلاعاتی مشروح و پیامهای اشکالزدایی ثبت میشوند
- debug2
- خطاها، پیامهای اطلاعاتی مشروح و پیامهای اشکالزدایی بیشتری ثبت میشوند
- debug3
- خطاها، پیامهای اطلاعاتی مشروح و حتی پیامهای اشکالزدایی بیشتری ثبت میشوند
- debug4
- خطاها، پیامهای اطلاعاتی مشروح و باز هم پیامهای اشکالزدایی بیشتری ثبت میشوند
- debug5
- خطاها، پیامهای اطلاعاتی مشروح و حداکثر پیامهای اشکالزدایی ثبت میشوند
- NOTE: بهطور پیشفرض، فایل سرویس systemd اسلورم، دیمن slurmdbd را در پیشزمینه همراه با گزینه -D اجرا میکند. این بدان معناست که systemd خروجیهای stdout/stderr را گرفته و مستقل از ثبت مستقیم اسلورم در syslog، آنها را در syslog چاپ میکند. برای جلوگیری از این کار توسط systemd، مقادیر "StandardOutput=null" و "StandardError=null" را به فایلهای سرویس یا فایلهای لغو (override) مربوطه اضافه کنید.
- DefaultQOS
- هنگام افزودن یک خوشه جدید، این مقدار به عنوان QOS خوشه استفاده خواهد شد، مگر اینکه توسط مدیر سیستم به طور صریح هنگام ایجاد تنظیم شده باشد.
- DisableArchiveCommands
- غیرفعال کردن امکان اجرای دستورات بایگانی sacctmgr.
- DisableCoordDBD
- غیرفعال
کردن وضعیت
هماهنگکننده
در تمامی
تعاملات slurmdbd.
هنگامی که این گزینه تنظیم شود، یک هماهنگکننده مجاز به انجام موارد زیر در slurmdbd در رابطه با حسابهایی که هماهنگ میکند نخواهد بود:
افزودن حسابها
افزودن/تغییر/حذف انتسابها (associations)
افزودن/حذف هماهنگکنندهها
افزودن/تغییر/حذف کاربرانبولی است؛ yes برای فعالسازی، و no (پیشفرض) برای شناسایی وضعیت هماهنگکننده در تمامی تعاملات slurmdbd.
- DisableRollups
- غیرفعال کردن تجمیع خودکار دادههای مصرف کارها. این کار مانع از داشتن هرگونه داده مصرف توسط sreport برای نمایش خواهد شد، اما بار روی پایگاهداده را کاهش میدهد. فعالسازی مجدد تجمیعها، دادههای نادیدهگرفتهشده قبلی را ایجاد نخواهد کرد. مقادیر پذیرفتهشده yes یا no هستند. مقدار پیشفرض no است.
- HashPlugin
- نوع افزونه درهمسازی (هش) مورد استفاده برای ارتباطات شبکه را مشخص میکند. مقادیر پذیرفتهشده شامل موارد زیر است:
- hash/k12
- هشها توسط تابع درهمسازی رمزنگاری KangarooTwelve تولید میشوند. این مقدار پیشفرض است.
- hash/sha3
- هشها توسط تابع درهمسازی رمزنگاری SHA-3 تولید میشوند.
-
نکته: اطمینان حاصل کنید که HashPlugin در هر دو فایل slurm.conf و slurmdbd.conf مقدار یکسانی داشته باشد.
- LogFile
- مسیر کامل
فایلی که
گزارشهای
دیمن
پایگاهداده
اسلورم (SlurmDBD)
در آن نوشته
میشوند.
مقدار
پیشفرض none
است (ثبت
گزارش از
طریق syslog
انجام
میشود).
در صورت تعیین مسیر، بخش LOGGING در صفحه راهنمای slurm.conf را ببینید.
- LogTimeFormat
- قالب برچسب زمان در فایلهای لاگ slurmdbd. مقادیر قالب پذیرفتهشده شامل "iso8601" ،"iso8601_ms" ،"rfc5424" ،"rfc5424_ms" ،"rfc3339" ،"clock" ،"short" و "thread_id" است. مقادیری که به "_ms" ختم میشوند با موارد بدون آن در این تفاوت دارند که کسرهای ثانیه با دقت میلیثانیه چاپ میشوند. مقدار پیشفرض "iso8601_ms" است. قالبهای "rfc5424" مشابه قالبهای "iso8601" هستند با این تفاوت که مقدار منطقه زمانی (timezone) نیز نشان داده میشود. قالب "clock" یک برچسب زمان بر حسب میکروثانیه را نشان میدهد که با تابع استاندارد ()clock در C دریافت شده است. قالب "short" یک قالب کوتاه تاریخ و زمان است. قالب "thread_id" برچسب زمان را به شکل تابع استاندارد ()ctime در C بدون سال، اما شامل میکروثانیه، شناسه فرآیند دیمن و نام و شناسه ریسه جاری نشان میدهد.
- MaxPurgeLimit
- هنگام بایگانی و پاکسازی رکوردها، هر عملیات مجزا را به این تعداد ردیف محدود میکند. سپس عملیات تکرار خواهد شد تا تمام ردیفهای هدف پردازش شوند. این محدودیت تضمین میکند که قفلها بهصورت دورهای آزاد شوند و امکان انجام سایر عملیات پایگاهداده فراهم گردد. یک حد پایینتر، قفلها را با تکرار بیشتری آزاد میکند که ممکن است پاسخدهی سیستم را هنگام پاکسازی رکوردها از جداول بزرگ بهبود بخشد. با این حال، یک حد پایینتر همچنین کل زمان مورد نیاز برای تکمیل پاکسازی را افزایش میدهد. در بیشتر موارد تنظیم حد بالاتر از مقدار پیشفرض توصیه نمیشود. مقدار پیشفرض 50000 است.
- MaxQueryTimeRange
- اگر یک پرسوجو روی بازه زمانی بیش از حد بزرگی باشد، خطایی بازمیگرداند تا از ایجاد مشکلات عملکردی درون SlurmDBD توسط پرسوجوهای بدساخت جلوگیری شود. مقدار پیشفرض INFINITE است که اجازه میدهد هر پرسوجویی ادامه یابد. قالبهای زمانی پذیرفتهشده همانند گزینه MaxTime در slurm.conf هستند. کاربران با سطح اپراتور و دسترسیهای بالاتر از این محدودیت مستثنی هستند. توجه داشته باشید که پرسوجوهایی که سعی در بازگرداندن بیش از 3GiB داده دارند، همچنان با خطای ESLURM_RESULT_TOO_LARGE مواجه شده و ناموفق خواهند بود.
- MessageTimeout
- زمان مجاز برای تکمیل یک ارتباط رفتوبرگشت بر حسب ثانیه. مقدار پیشفرض 10 ثانیه است.
- Parameters
- شامل پارامترهای دلخواه جدا شده با کاما برای تغییر رفتار slurmdbd است.
- PreserveCaseUser
- هنگام تعریف کاربران، بزرگی و کوچکی حروف نام کاربری را حفظ میکند. در غیر این صورت، نام به حروف کوچک تبدیل میشود.
- PreserveCaseResource
- هنگام تعریف منابع، بزرگی و کوچکی حروف نام منبع را حفظ میکند. در غیر این صورت، نام به حروف کوچک تبدیل میشود.
- PidFile
- مسیر کامل فایلی که دیمن پایگاهداده اسلورم میتواند شناسه فرآیند (PID) خود را در آن بنویسد. این فایل ممکن است برای پردازش خودکار سیگنال استفاده شود. مقدار پیشفرض "/var/run/slurmdbd.pid" است.
- PluginDir
- مکانهای جستجو برای افزونههای اسلورم را مشخص میکند. این یک لیست جدا شده با دونقطه از دایرکتوریها است، مانند متغیر محیطی PATH. مقدار پیشفرض برابر است با پیشوند مشخصشده در زمان پیکربندی به همراه "/lib/slurm".
- PrivateData
- کنترل میکند چه نوع اطلاعاتی از کاربران عادی مخفی شود. بهطور پیشفرض، تمام اطلاعات برای همه کاربران قابل مشاهده است. کاربر SlurmUser، کاربر root و کاربران دارای AdminLevel=Admin همیشه میتوانند تمام اطلاعات را مشاهده کنند. چندین مقدار را میتوان با جداکننده کاما مشخص کرد. مقادیر مجاز عبارتند از:
- accounts
- از مشاهده هرگونه تعریف حساب توسط کاربران جلوگیری میکند، مگر اینکه هماهنگکننده آن باشند.
- events
- از مشاهده اطلاعات رویدادها توسط کاربران جلوگیری میکند، مگر اینکه وضعیت اپراتور یا بالاتر داشته باشند.
- jobs
- هنگام استفاده از sacct از مشاهده رکوردهای کارهای متعلق به سایر کاربران جلوگیری میکند، مگر اینکه هماهنگکننده حسابی باشند که کار را اجرا میکند.
- reservations
- دریافت اطلاعات رزرو را به کاربرانی با وضعیت اپراتور و بالاتر محدود میکند.
- usage
- از مشاهده میزان مصرف هر کاربر دیگر توسط کاربران جلوگیری میکند. این گزینه در مورد sreport اعمال میشود.
- users
- از مشاهده اطلاعات هر کاربری به جز خودشان جلوگیری میکند؛ همچنین باعث میشود کاربران فقط انتسابهایی را ببینند که با آنها سر و کار دارند. هماهنگکنندهها میتوانند انتسابهای تمام کاربران را در حسابی که هماهنگکننده آن هستند مشاهده کنند، اما هنگام فهرست کردن کاربران، فقط میتوانند خود را ببینند.
- PurgeEventAfter
- پاکسازی خودکار رکوردهای رویدادهای کلاستر قدیمیتر از زمان مشخصشده. این شامل زمانهای از کار افتادگی گرهها (down) و مواردی از این دست میشود. واحدها ماه (پیشفرض)، روز یا ساعت هستند. پاکسازی در ابتدای هر ماه، روز یا ساعت بسته به واحد مورد استفاده انجام میشود. به عنوان مثال، مقادیر "2months" و "60days" تقریباً روی رکوردهای یکسانی تأثیر میگذارند، اما دومی پاکسازی را روزانه بهجای ماهانه اجرا میکند. اگر تنظیم نشود (پیشفرض)، رکوردهای رویداد هرگز پاکسازی نمیشوند.
- PurgeJobAfter
- پاکسازی
خودکار
رکوردهای
کارهای
قدیمیتر
از زمان
مشخصشده
(بر اساس
زمان
پایان).
اطلاعات
تجمیعشده
تا "PurgeUsageAfter" حفظ
خواهند شد.
واحدها ماه
(پیشفرض)،
روز یا ساعت
هستند.
پاکسازی در
ابتدای هر
ماه، روز یا
ساعت بسته
به واحد
مورد
استفاده
انجام
میشود. به
عنوان
مثال،
مقادیر "2months"
و "60days"
تقریباً
روی
رکوردهای
یکسانی
تأثیر
میگذارند،
اما دومی
پاکسازی را
روزانه
بهجای
ماهانه
اجرا
میکند. اگر
تنظیم نشود
(پیشفرض)،
رکوردهای
کارها هرگز
پاکسازی
نمیشوند.
نکته: این شامل اسکریپتهای کار و محیطهای کار نیز میشود در صورتی که گزینههای پاکسازی اختصاصی آنها (PurgeJobScriptAfter و PurgeJobEnvAfter) تنظیم نشده باشند.
- PurgeJobScriptAfter
- پاکسازی خودکار رکوردهای اسکریپت کار قدیمیتر از زمان مشخصشده (بر اساس زمان پایان). واحدها ماه (پیشفرض)، روز یا ساعت هستند. پاکسازی در ابتدای هر ماه، روز یا ساعت بسته به واحد مورد استفاده انجام میشود. به عنوان مثال، مقادیر "2months" و "60days" تقریباً روی رکوردهای یکسانی تأثیر میگذارند، اما دومی پاکسازی را روزانه بهجای ماهانه اجرا میکند. اگر تنظیم نشود (پیشفرض)، رکوردهای اسکریپت کار مطابق با PurgeJobAfter پاکسازی میشوند.
- PurgeJobEnvAfter
- پاکسازی خودکار رکوردهای محیط کار (job environment) قدیمیتر از زمان مشخصشده (بر اساس زمان پایان). واحدها ماه (پیشفرض)، روز یا ساعت هستند. پاکسازی در ابتدای هر ماه، روز یا ساعت بسته به واحد مورد استفاده انجام میشود. به عنوان مثال، مقادیر "2months" و "60days" تقریباً روی رکوردهای یکسانی تأثیر میگذارند، اما دومی پاکسازی را روزانه بهجای ماهانه اجرا میکند. اگر تنظیم نشود (پیشفرض)، رکوردهای محیط کار مطابق با PurgeJobAfter پاکسازی میشوند.
- PurgeResvAfter
- پاکسازی خودکار رکوردهای رزرو قدیمیتر از زمان مشخصشده (بر اساس زمان پایان). اطلاعات تجمیعشده تا "PurgeUsageAfter" حفظ خواهند شد. واحدها ماه (پیشفرض)، روز یا ساعت هستند. پاکسازی در ابتدای هر ماه، روز یا ساعت بسته به واحد مورد استفاده انجام میشود. به عنوان مثال، مقادیر "2months" و "60days" تقریباً روی رکوردهای یکسانی تأثیر میگذارند، اما دومی پاکسازی را روزانه بهجای ماهانه اجرا میکند. اگر تنظیم نشود (پیشفرض)، رکوردهای رزرو هرگز پاکسازی نمیشوند.
- PurgeStepAfter
- پاکسازی خودکار رکوردهای گام کار (job step) قدیمیتر از زمان مشخصشده (بر اساس زمان پایان). اطلاعات تجمیعشده تا "PurgeUsageAfter" حفظ خواهند شد. واحدها ماه (پیشفرض)، روز یا ساعت هستند. پاکسازی در ابتدای هر ماه، روز یا ساعت بسته به واحد مورد استفاده انجام میشود. به عنوان مثال، مقادیر "2months" و "60days" تقریباً روی رکوردهای یکسانی تأثیر میگذارند، اما دومی پاکسازی را روزانه بهجای ماهانه اجرا میکند. اگر تنظیم نشود (پیشفرض)، رکوردهای گام کار هرگز پاکسازی نمیشوند.
- PurgeSuspendAfter
- پاکسازی خودکار رکوردهای تعلیق کار قدیمیتر از زمان مشخصشده (بر اساس زمان پایان). اطلاعات تجمیعشده تا "PurgeUsageAfter" حفظ خواهند شد. واحدها ماه (پیشفرض)، روز یا ساعت هستند. پاکسازی در ابتدای هر ماه، روز یا ساعت بسته به واحد مورد استفاده انجام میشود. به عنوان مثال، مقادیر "2months" و "60days" تقریباً روی رکوردهای یکسانی تأثیر میگذارند، اما دومی پاکسازی را روزانه بهجای ماهانه اجرا میکند. اگر تنظیم نشود (پیشفرض)، رکوردهای تعلیق هرگز پاکسازی نمیشوند.
- PurgeTXNAfter
- پاکسازی خودکار رکوردهای تراکنش قدیمیتر از زمان مشخصشده. واحدها ماه (پیشفرض)، روز یا ساعت هستند. پاکسازی در ابتدای هر ماه، روز یا ساعت بسته به واحد مورد استفاده انجام میشود. به عنوان مثال، مقادیر "2months" و "60days" تقریباً روی رکوردهای یکسانی تأثیر میگذارند، اما دومی پاکسازی را روزانه بهجای ماهانه اجرا میکند. اگر تنظیم نشود (پیشفرض)، رکوردهای تراکنش هرگز پاکسازی نمیشوند.
- PurgeUsageAfter
- پاکسازی خودکار رکوردهای مصرف (Cluster، Association، QOS و WCKey) قدیمیتر از زمان مشخصشده (بر اساس زمان ایجاد یا آخرین تغییر). این جداول منبع گزارشهای تولیدشده توسط دستور sreport(1) هستند. واحدها ماه (پیشفرض)، روز یا ساعت هستند. پاکسازی در ابتدای هر ماه، روز یا ساعت بسته به واحد مورد استفاده انجام میشود. به عنوان مثال، مقادیر "2months" و "60days" تقریباً روی رکوردهای یکسانی تأثیر میگذارند، اما دومی پاکسازی را روزانه بهجای ماهانه اجرا میکند. اگر تنظیم نشود (پیشفرض)، رکوردهای مصرف هرگز پاکسازی نمیشوند.
- SlurmUser
- نام کاربری
که دیمن slurmdbd
با آن اجرا
میشود. این
کاربر باید
با SlurmUser مورد
استفاده
برای تمام
نمونههای
slurmctld که به slurmdbd
گزارش
میدهند
مطابقت
داشته باشد.
این کاربر
باید روی
ماشینی که
دیمن
پایگاهداده
اسلورم را
اجرا
میکند
وجود داشته
باشد و
دارای همان
UID در
میزبانهایی
باشد که slurmctld
روی آنها
اجرا
میشود. به
دلایل
امنیتی،
کاربری غیر
از "root" توصیه
میشود.
مقدار
پیشفرض "root"
است.
نکته: اگر SlurmUser برای slurmctld برابر root باشد، با تنظیم صریح AdminLevel کاربر به Admin، همچنان میتوانید از یک SlurmUser غیر root برای slurmdbd استفاده کنید (در هر حالت دیگر، هر دو SlurmUser باید مطابقت داشته باشند). پس از افزودن کاربر به این روش، باید slurmctld را دوباره راهاندازی کنید.
- StorageBackupHost
- تعریف نام میزبان پشتیبان که پایگاهداده روی آن در حال اجرا است و قصد داریم دادهها را در آن ذخیره کنیم. این میتواند به عنوان یک راهکار پشتیبان در زمانی که StorageHost پاسخگو نیست در نظر گرفته شود. تضمین سازگاری و یکپارچگی اطلاعات حسابداری میان دو میزبان بر عهده راهکار پشتیبان است. با راهکارهای پایگاهداده خوشهای (HA بهصورت فعال/غیرفعال)، نیازی به استفاده از این ویژگی نخواهید داشت. میتواند یک سوکت یونیکس باشد، مانند "unix:/path/to/socket". پیشفرض none است.
- StorageHost
- تعریف نام میزبانی که پایگاهداده روی آن در حال اجرا است و قصد داریم دادهها را در آن ذخیره کنیم. این میتواند میزبانی باشد که slurmdbd روی آن اجرا میشود، اما برای سیستمهای بزرگتر، توصیه میکنیم پایگاهداده را روی ماشینی جداگانه نگه دارید. میتواند یک سوکت یونیکس باشد، مانند "unix:/path/to/socket". پیشفرض "localhost" است.
- StorageLoc
- نام پایگاهداده را به عنوان مکانی که رکوردهای حسابداری در آن نوشته میشوند مشخص میکند. پیشفرض "slurm_acct_db" است.
- StorageParameters
- فهرستی از پارامترهای جفت کلید-مقدار جدا شده با کاما.
- SSL_CERT
- مسیر فایل گواهی کلید عمومی کلاینت.
- SSL_CA
- مسیر فایل گواهی مرجع صدور گواهی (CA).
- SSL_CAPATH
- مسیر پوشهای که حاوی فایلهای گواهی معتبر SSL CA است.
- SSL_KEY
- مسیر فایل کلید خصوصی کلاینت.
- SSL_CIPHER
- فهرست الگوریتمهای رمزنگاری (ciphers) مجاز برای رمزنگاری SSL.
- token_duration
- مدت زمان به ثانیه برای ذخیره در حافظه پنهان (کش) گذرواژههای تولیدشده پایگاهداده قبل از درخواست گذرواژه جدید از StoragePassScript. معمولاً توکن باید پیش از انقضای واقعی نوسازی شود؛ در صورت بروز شکست در تولید توکن، توکن کششده همچنان مورد استفاده قرار میگیرد تا از ایجاد خطاهای اتصال ناشی از شکستهای موقت در تولید توکن جلوگیری شود. مقدار پیشفرض 300 ثانیه (5 دقیقه) است.
- StoragePass
- گذرواژه مورد استفاده برای دسترسی به پایگاهداده جهت ذخیره دادههای حسابداری کارها را تعریف میکند. نویسه '#' در گذرواژه مجاز نیست.
- StoragePassScript
- مسیر مطلق به اسکریپت اجرایی که توکنهای احراز هویت زودگذر را برای اتصالات پایگاهداده تولید میکند که به جای StoragePass استفاده میشوند. اسکریپت باید گذرواژه/توکن را در خروجی استاندارد چاپ کرده و در صورت موفقیت با وضعیت 0 خارج شود. این امکان تولید پویای گذرواژه را به جای ذخیره اعتبارنامههای ایستا در فایلهای پیکربندی فراهم میکند. اسکریپت باید متعلق به SlurmUser بوده و توسط آن قابل اجرا باشد.
- متغیرهای محیطی ارائهشده به اسکریپت:
- SLURM_STORAGE_HOSTNAME
- نام میزبان پایگاهداده
- SLURM_STORAGE_PORT
- شماره پورت پایگاهداده
- SLURM_STORAGE_USER
- نام کاربری پایگاهداده
- قالب خروجی
مورد
انتظار:
TOKEN=<authentication_token> - اسکریپت باید در صورت موفقیت با وضعیت 0 و در صورت شکست با مقدار غیرصفر خارج شود. هرگونه خروجی در خطای استاندارد (stderr) به عنوان خطا ثبت خواهد شد. در صورت مشخص شدن یک میزبان پشتیبان، اسکریپت همچنان نام میزبان اصلی را دریافت میکند و از همان توکن برای هر دو میزبان استفاده میشود.
- StoragePort
- شماره پورتی که دیمن پایگاهداده اسلورم (slurmdbd) از طریق آن با پایگاهداده ارتباط برقرار میکند. پیشفرض 3306 است.
- StorageType
- نوع سازوکار ذخیرهسازی حسابداری را تعریف میکند. مقادیر پذیرفتهشده در حال حاضر شامل "accounting_storage/mysql" است. مقدار "accounting_storage/mysql" نشان میدهد که رکوردهای حسابداری باید در یک پایگاهداده MySQL یا MariaDB که توسط پارامتر StorageLoc تعیین شده نوشته شوند. این مقدار باید مشخص شود.
- StorageUser
- نام کاربری را تعریف میکند که برای اتصال به پایگاهداده جهت ذخیره دادههای حسابداری کارها استفاده میکنیم. اگر مقداری مشخص نشود، از کاربری که slurmdbd را اجرا کرده استفاده خواهد شد.
- TCPTimeout
- زمان مجاز برای برقراری اتصال TCP. مقدار پیشفرض 2 ثانیه است.
- TLSParameters
- گزینههای جدا شده با کاما برای تعیین گزینههای TLS. مقادیر پشتیبانیشده عبارتند از:
- ca_cert_file=
- مسیر گواهی
مرجع صدور
گواهی (CA).
باید روی
تمام
میزبانها
وجود داشته
باشد و برای
تمام
مؤلفههای
اسلورم
قابل
دسترسی
باشد.
مجوزهای
فایل باید 644
بوده و
متعلق به SlurmUser/root
باشد.
مسیر پیشفرض "ca_cert.pem" در پوشه پیکربندی اسلورم است.
- dbd_cert_file=
- مسیر گواهی
مورد
استفاده
توسط slurmdbd.
باید به ca_cert_file
زنجیر شود.
تنها باید
روی
میزبانی که
slurmdbd را اجرا
میکند
وجود داشته
باشد.
مجوزهای
فایل باید 600
بوده و
متعلق به SlurmUser
باشد.
مسیر پیشفرض "dbd_cert.pem" در پوشه پیکربندی اسلورم است.
- dbd_cert_key_file=
- مسیر کلید
خصوصی که
همراه dbd_cert_file
است. تنها
باید روی
میزبان
اجراکننده
slurmdbd وجود
داشته باشد.
مجوزهای
فایل باید 600
بوده و
متعلق به SlurmUser
باشد.
مسیر پیشفرض "dbd_cert_key.pem" در پوشه پیکربندی اسلورم است.
- load_system_certificates
- گواهیهای
یافتشده
در
مکانهای
پیشفرض
سیستم
(مانند etc/ssl/) را
در مخزن
اعتماد
بارگذاری
میکند.
پیشفرض این است که گواهیهای سیستم بارگذاری نشوند و برای برقراری اعتماد صرفاً به ca_cert_file اتکا شود.
- security_policy_version=
- نسخه خطمشی امنیتی مورد استفاده توسط s2n. برای جزئیات بیشتر به مستندات s2n مراجعه کنید. خطمشی امنیتی پیشفرض "20230317" است که با FIPS سازگار بوده و شامل TLS 1.3 است.
- TLSType
- پیادهسازی
TLS مورد
استفاده را
مشخص
میکند.
هنگامی که
روی یک
افزونه TLS
تنظیم شود،
slurmdbd به TLS در
اتصالات
ورودی نیاز
دارد و هر
اتصالی را
که با TLS
احاطه نشده
باشد
میبندد.
برای
جزئیات
بیشتر به
راهنمای TLS
مراجعه
کنید:
https://slurm.schedmd.com/tls.html
پیشفرض tls/none
است.
مقادیر پذیرفتهشده در حال حاضر:
- TrackSlurmctldDown
- بولی yes یا no. در صورت تنظیم، slurmdbd تمام منابع بیکار روی کلاستر را هنگام قطع اتصال یا غیرقابل دسترس بودن یک slurmctld به عنوان غیرفعال (down) علامتگذاری میکند. پیشفرض no است.
- TrackWCKey
- بولی yes یا no. برای تعیین نمایش و رهگیری کلید مشخصه بار کاری (Workload Characterization Key) استفاده میشود. برای رهگیری مصرف wckey باید تنظیم شود. این گزینه باید برای تولید جداول تجمیعی مصرف از WCKeyها تنظیم شود. نکته: اگر TrackWCKey در اینجا تنظیم شود و در فایلهای مختلف slurm.conf شما تنظیم نشود، تمام کارها به WCKey پیشفرض خود منتسب خواهند شد.
مثال (EXAMPLE)
# # نمونه /etc/slurmdbd.conf # ArchiveEvents=yes ArchiveJobs=yes ArchiveResvs=yes ArchiveSteps=no ArchiveSuspend=no ArchiveTXN=no ArchiveUsage=no #ArchiveScript=/usr/sbin/slurm.dbd.archive AuthInfo=/var/run/munge/munge.socket.2 AuthType=auth/munge DbdHost=db_host DebugLevel=info PurgeEventAfter=1month PurgeJobAfter=12month PurgeResvAfter=1month PurgeStepAfter=1month PurgeSuspendAfter=1month PurgeTXNAfter=12month PurgeUsageAfter=24month LogFile=/var/log/slurmdbd.log PidFile=/var/run/slurmdbd.pid SlurmUser=slurm_mgr StoragePass=password_to_database StorageType=accounting_storage/mysql StorageUser=database_mgr
کپیرایت و تکثیر (COPYING)
Copyright (C) 2008-2010 Lawrence Livermore National Security.
Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
Copyright (C) 2010-2022 SchedMD LLC.
این فایل بخشی از Slurm است که یک برنامه مدیریت منابع میباشد. برای جزئیات بیشتر، https://slurm.schedmd.com را ببینید.
نرمافزار Slurm یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همانطور که توسط «بنیاد نرمافزارهای آزاد» منتشر شده است، چه نسخه ۲ مجوز و چه (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده و/یا تغییر دهید.
توزیع Slurm به این امید انجام شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف مشخص. برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید.
فایلها (FILES)
/etc/slurmdbd.conf
همچنین ببینید (SEE ALSO)
slurm.conf(5), slurmctld(8), slurmdbd(8) syslog (2)
| Slurm Configuration File | Slurm 26.05 |