.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "CLUSET" 1 "2026-07-16" "1.10.1" "ClusterShell User Manual" .SH "نام (NAME)" cluset \- محاسبه و اجرای عملیات پیشرفته روی مجموعه‌های گره کلاستر .SH "خلاصه دستور (SYNOPSIS)" .INDENT 0.0 .INDENT 3.5 \fBcluset\fP [OPTIONS] [COMMAND] [nodeset1 [OPERATION] nodeset2|...] .UNINDENT .UNINDENT .SH "توضیحات (DESCRIPTION)" .sp نکته: دستورات \fBcluset\fP و \fBnodeset\fP یکسان هستند. .sp دستور \fBcluset\fP ابزاری ارائه‌شده همراه با کتابخانهٔ ClusterShell است که برخی از قابلیت‌های کلاس‌های پایتون NodeSet و RangeSet در ClusterShell را پیاده‌سازی می‌کند. این ابزار امکان کارکرد و دستکاری آسان گره‌های کلاستر و گروه‌های گره با نمایه‌های تک‌بعدی (1D) یا چندبعدی (nD) را فراهم می‌کند. .sp همچنین، \fBcluset\fP به‌طور خودکار به سازوکار تفکیک گروه گره‌های این کتابخانه متصل است. از این رو، به‌ویژه برای بهبود اسکریپت‌های شل مدیریتی آگاه از کلاستر بسیار سودمند است. .SH "گزینه‌ها (OPTIONS)" .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP .B \-\-version نمایش شماره نسخه برنامه و خروج .TP .B \-h\fP,\fB \-\-help نمایش این پیام راهنما و خروج .TP .BI \-s \ GROUPSOURCE\fR,\fB \ \-\-groupsource\fB= GROUPSOURCE منبع گروه اختیاری در \fBgroups.conf\fP(5) برای استفاده .TP .BI \-\-groupsconf\fB= FILE استفاده از فایل پیکربندی جایگزین برای \fBgroups.conf\fP(5) .UNINDENT .INDENT 0.0 .TP .B دستورها: .INDENT 7.0 .TP .B \-c\fP,\fB \-\-count نمایش تعداد گره‌ها در nodeset(ها) .TP .B \-e\fP,\fB \-\-expand گسترش nodeset(ها) به گره‌های مجزا (همچنین \-S \fISEPARATOR\fP را ببینید) .TP .B \-f\fP,\fB \-\-fold جمع کردن nodeset(ها) (یا گره‌های مجزا) در قالب یک nodeset واحد .TP .B \-l\fP,\fB \-\-list فهرست کردن گروه‌های گره، فهرست کردن گروه‌های گره و گره‌ها (\fB\-ll\fP) یا فهرست کردن گروه‌های گره، گره‌ها و تعداد گره‌ها (\fB\-lll\fP). هنگامی که هیچ آرگومانی مشخص نشود، این دستور تمام نام‌های گروه‌های گره یافت‌شده در منبع گروه انتخابی را فهرست می‌کند (همچنین \-s \fIGROUPSOURCE\fP را ببینید). اگر هرگونه nodeset به عنوان آرگومان مشخص شود، این دستور گروه‌های گره‌ای که این گره‌ها (به‌صورت منفرد) به آن‌ها تعلق دارند را پیدا می‌کند. به‌صورت اختیاری برای هر گروه، کسر اعضای این گره‌ها در آن گروه (با \fB\-ll\fP) و همچنین تعداد اعضا/تعداد کل گره‌های گروه (با \fB\-lll\fP) قابل نمایش است. اگر یک خط تیره منفرد (\-) به عنوان nodeset داده شود، از ورودی استاندارد خوانده خواهد شد. .TP .B \-L\fP,\fB \-\-list\-all فهرست کردن گروه‌های گره از تمام منابع گروه (\fB\-LL\fP گره‌ها را نشان می‌دهد و \fB\-LLL\fP تعداد گره‌ها را اضافه می‌کند). همانند \fB\-l\fP، اگر هرگونه nodeset به عنوان آرگومان مشخص شود، این دستور گروه‌های گره‌ای که این گره‌ها (به‌صورت منفرد) به آن‌ها تعلق دارند را پیدا می‌کند. .TP .B \-r\fP,\fB \-\-regroup جمع کردن گره‌ها با استفاده از گروه‌های گره (ببینید \-s \fIGROUPSOURCE\fP) .TP .BI \-\-index\fB= NODE خروجی دادن اندیس NODE در nodeset (برعکس \-I/\-\-slice) .TP .B \-\-list\-sources\fP,\fB \-\-groupsources فهرست کردن تمام منابع گروه فعال (ببینید \fBgroups.conf\fP(5)) .UNINDENT .TP .B عملیات‌ها: .INDENT 7.0 .TP .BI \-x \ SUB_NODES\fR,\fB \ \-\-exclude\fB= SUB_NODES مستثنی کردن nodeset مشخص‌شده .TP .BI \-i \ AND_NODES\fR,\fB \ \-\-intersection\fB= AND_NODES محاسبه اشتراک nodesetها .TP .BI \-X \ XOR_NODES\fR,\fB \ \-\-xor\fB= XOR_NODES محاسبه تفاضل متقارن بین nodesetها .UNINDENT .TP .B گزینه‌ها: .INDENT 7.0 .TP .B \-a\fP,\fB \-\-all فراخوانی پشتیبانی گروه‌های گره خارجی برای نمایش تمام گره‌ها .TP .BI \-\-autostep\fB= AUTOSTEP فعال‌سازی نحو با الگوی a\-b/step هنگام جمع کردن nodesetها؛ مقدار آن آستانهٔ حداقل تعداد گره است (عدد صحیح \(aq4\(aq، درصد \(aq50%\(aq یا \(aqauto\(aq). اگر مشخص نشود، گام خودکار غیرفعال است (بهترین حالت برای سازگاری با سایر ابزارهای کلاستر). مثال: با autostep=4 عبارت \(dqnode2 node4 node6\(dq به node[2,4,6] جمع می‌شود، اما با autostep=3 عبارت \(dqnode2 node4 node6\(dq به node[2\-6/2] جمع می‌شود. .TP .B \-d\fP,\fB \-\-debug چاپ پیام‌های بیشتر برای مقاصد اشکال‌زدایی .TP .B \-q\fP,\fB \-\-quiet حالت بی‌صدا، چاپ تنها خروجی‌های ضروری .TP .B \-R\fP,\fB \-\-rangeset تغییر وضعیت به RangeSet به جای NodeSet. هنگام کار روی بازه‌های عددی کلاستر، مثلاً 1,5,18\-31، مفید است .TP .B \-G\fP,\fB \-\-groupbase عدم نمایش پیشوند منبع گروه (همیشه به‌صورت \fI@groupname\fP) .TP .BI \-S \ SEPARATOR\fR,\fB \ \-\-separator\fB= SEPARATOR رشته جداکننده برای استفاده هنگام باز کردن nodesetها (پیش‌فرض: \(aq \(aq) .TP .BI \-O \ FORMAT\fR,\fB \ \-\-output\-format\fB= FORMAT قالب خروجی (پیش‌فرض: \(aq%s\(aq) .TP .BI \-I \ SLICE_RANGESET\fR,\fB \ \-\-slice\fB= SLICE_RANGESET بازگرداندن نتیجهٔ برش‌خورده؛ نمونه‌هایی از SLICE_RANGESET عبارتند از \(dq0\(dq برای انتخاب ساده بر اساس اندیس، یا \(dq1\-9/2,16\(dq برای انتخاب پیچیدهٔ rangeset .TP .BI \-\-split\fB= MAXSPLIT تقسیم نتیجه به چندین زیرمجموعه .TP .B \-\-contiguous تقسیم نتیجه به زیرمجموعه‌های پیوسته (یعنی برای nodeset، زیرمجموعه‌ها شامل گره‌هایی با نام الگوی یکسان و بازهٔ پیوسته‌ای از اندیس‌ها خواهند بود، مانند foobar[1\-100]؛ برای rangeset، زیرمجموعه‌ها شامل بازه‌های پیوستهٔ اندیس هستند) .TP .BI \-\-axis\fB= RANGESET برای nodesetهای nبعدی، جمع کردن تنها در امتداد محور ارائه‌شده انجام می‌شود. محورها از 1 تا n نمایه می‌شوند و می‌توان آن‌ها را در اینجا با استفاده از نحو rangeset (مانند \(aq1\(aq، \(aq1\-2\(aq، \(aq1,3\(aq) یا با یک عدد منفی منفرد به معنای شمارش اندیس از انتها مشخص کرد. از آنجا که ممکن است برخی nodesetها ابعاد مختلفی داشته باشند، اندیس‌های محور بدون اخطار کوتاه می‌شوند تا در بازهٔ مجاز قرار گیرند. .TP .BI \-\-pick\fB= N انتخاب N گره به‌صورت تصادفی از nodeset .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp برای توضیحی کوتاه دربارهٔ این گزینه‌ها، \fB\-h, \-\-help\fP را ببینید\&. .sp اگر یک خط تیره منفرد (\-) به عنوان nodeset داده شود، از ورودی استاندارد خوانده خواهد شد..SH "الگوهای گسترش‌یافته (EXTENDED PATTERNS)" .sp دستور \fBcluset\fP از محاسبات پایه‌ای حسابی ClusterShell NodeSet بهره می‌برد. این ویژگی الگوهای رشته‌ای شناخته‌شده را با پشتیبانی از عملگرهای منطبق بر تمام عملیات‌هایی که پیش‌تر بیان شد، گسترش می‌دهد. الگوهای رشته‌ای از چپ به راست خوانده می‌شوند و هر عملگر نویسه‌ای متناسب با آن پردازش می‌گردد. .INDENT 0.0 .TP .B عملگرهای نویسه‌ای پشتیبانی‌شده .INDENT 7.0 .TP .B \fB,\fP نشان می‌دهد که باید پیش از ادامه، \fIاجتماع\fP هر دو nodeset چپ و راست محاسبه شود .TP .B \fB!\fP نشان‌دهنده عملیات \fIتفاضل\fP است .TP .B \fB&\fP نشان‌دهنده عملیات \fIاشتراک\fP است .TP .B \fB^\fP نشان‌دهنده عملیات \fIتفاضل متقارن\fP (XOR) است .UNINDENT .sp باید دقت شود هنگامی که پوسته این نویسه‌ها را به‌صورت تحت‌اللفظی (literal) تفسیر نمی‌کند، در صورت نیاز با نویسه گریز (escape) محافظت شوند. .TP .B مثال‌هایی از کاربرد الگوهای گسترش‌یافته .INDENT 7.0 .TP .B $ cluset \-f node[0\-7],node[8\-10] .UNINDENT .nf node[0\-10] .fi .sp .INDENT 7.0 .TP .B $ cluset \-f node[0\-10]!node[8\-10] .UNINDENT .nf node[0\-7] .fi .sp .INDENT 7.0 .TP .B $ cluset \-f node[0\-10]&node[5\-13] .UNINDENT .nf node[5\-10] .fi .sp .INDENT 7.0 .TP .B $ cluset \-f node[0\-10]^node[5\-13] .UNINDENT .nf node[0\-4,11\-13] .fi .sp .TP .B نمونه‌ای از کاربرد پیشرفته .INDENT 7.0 .TP .B $ cluset \-f @gpu^@slurm:bigmem!@chassis[1\-9/2] .UNINDENT .sp این دستور یک nodeset جمع‌شده (folded) حاوی گره‌های موجود در گروه‌های @gpu و @slurm:bigmem را بدون احتساب گره‌های مشترک در هر دو، منهای گره‌های موجود در گروه‌های فرد chassis از ۱ تا ۹ محاسبه می‌کند. .TP .B گسترش \(dqهمه گره‌ها\(dq نشانه‌گذاری‌های ویژه \fB@*\fP و \fB@SOURCE:*\fP ممکن است در الگوهای گسترش‌یافته برای نمایش همه گره‌ها (در SOURCE) مطابق با دستور خارجی پوسته \fIall\fP استفاده شوند (نگاه کنید به \fBgroups.conf\fP(5)) و معادل هستند با: .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B $ cluset [\-s SOURCE] \-a \-f .UNINDENT .UNINDENT .UNINDENT .TP .B نام‌های گروه در عبارت‌ها نشانه‌گذاری \fB@@SOURCE\fP می‌تواند برای دسترسی به همه نام‌های گروه از SOURCE مشخص‌شده (یا از منبع گروه پیش‌فرض در صورت استفاده از \fB@@\fP به تنهایی) در عبارت‌های مجموعه گره استفاده شود؛ این قابلیت هم با منابع گروه مبتنی بر فایل و هم با منابع گروه خارجی که دارای فراخوانی بالادستی (upcall) تعریف‌شده \fIlist\fP یا \fImapall\fP هستند کار می‌کند (نگاه کنید به \fBgroups.conf\fP(5)): .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .TP .B $ cluset \-f @@rack .UNINDENT .nf J[1\-3] .fi .sp .UNINDENT .UNINDENT .UNINDENT .SH "نویسه‌های عمومی گره (NODE WILDCARDS)" .sp هر ماسک نویسه عمومی که پیدا شود، در برابر تمام گره‌های منبع گروه مطابقت داده می‌شود (نگاه کنید به \fBgroups.conf\fP(5) و گزینه \fB\-a/\-\-all\fP در بالا). \fB*\fP به معنای تطابق با صفر یا چند نویسه از هر نوع است؛ \fB?\fP به معنای تطابق با دقیقاً یک نویسه از هر نوع است. این قابلیت می‌تواند به‌ویژه برای مزارع سرور یا هنگامی که نام گره‌های کلاستر متفاوت است، بسیار مفید باشد. .INDENT 0.0 .TP .B فرض کنید پیکربندی گروه شما طوری تنظیم شده است که \(dqهمه گره‌ها\(dq را به شکل زیر بازگرداند: .INDENT 7.0 .TP .B $ cluset \-f \-a .UNINDENT .nf bckserv[1\-2],dbserv[1\-4],wwwserv[1\-9] .fi .sp .TP .B در این صورت، می‌توانید از نویسه‌های عمومی برای انتخاب گره‌های خاص استفاده کنید، همان‌طور که در زیر نشان داده شده است: .INDENT 7.0 .TP .B $ cluset \-f \(aqwww*\(aq .UNINDENT .nf wwwserv[1\-9] .fi .sp .INDENT 7.0 .TP .B $ cluset \-f \(aqwww*[1\-4]\(aq .UNINDENT .nf wwwserv[1\-4] .fi .sp .INDENT 7.0 .TP .B $ cluset \-f \(aq*serv1\(aq .UNINDENT .nf bckserv1,dbserv1,wwwserv1 .fi .sp .UNINDENT .sp ماسک‌های نویسه عمومی پیش از الگوهای گسترش‌یافته تحلیل می‌شوند، اما هر ماسک به عنوان یک عملوند مجموعه گره کامل ارزیابی می‌شود. در مثال زیر، ما ابتدا تمام گره‌های منطبق با \fB*serv*\fP را انتخاب می‌کنیم و سپس تمام گره‌های منطبق با \fBwww*\fP را حذف می‌نماییم: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP .B $ cluset \-f \(aq*serv*!www*\(aq .UNINDENT .nf bckserv[1\-2],dbserv[1\-4] .fi .sp .UNINDENT .UNINDENT.SH "وضعیت خروج (EXIT STATUS)" .sp وضعیت خروج صفر بیانگر موفقیت دستور \fBcluset\fP است. وضعیت خروج غیرصفر نشان‌دهنده شکست است. .SH "مثال‌ها (EXAMPLES)" .INDENT 0.0 .TP .B دریافت تعداد گره‌ها .INDENT 7.0 .TP .B $ cluset \-c node[0\-7,32\-159] .UNINDENT .nf 136 .fi .sp .INDENT 7.0 .TP .B $ cluset \-c node[0\-7,32\-159] node[160\-163] .UNINDENT .nf 140 .fi .sp .INDENT 7.0 .TP .B $ cluset \-c dc[1\-2]n[100\-199] .UNINDENT .nf 200 .fi .sp .INDENT 7.0 .TP .B $ cluset \-c @login .UNINDENT .nf 4 .fi .sp .TP .B خلاصه‌سازی مجموعه‌گره‌ها .INDENT 7.0 .TP .B $ cluset \-f node[0\-7,32\-159] node[160\-163] .UNINDENT .nf node[0\-7,32\-163] .fi .sp .INDENT 7.0 .TP .B $ echo node3 node6 node1 node2 node7 node5 | cluset \-f .UNINDENT .nf node[1\-3,5\-7] .fi .sp .INDENT 7.0 .TP .B $ cluset \-f dc1n2 dc2n2 dc1n1 dc2n1 .UNINDENT .nf dc[1\-2]n[1\-2] .fi .sp .INDENT 7.0 .TP .B $ cluset \-\-axis=1 \-f dc1n2 dc2n2 dc1n1 dc2n1 .UNINDENT .nf dc[1\-2]n1,dc[1\-2]n2 .fi .sp .TP .B گسترش مجموعه‌گره‌ها .INDENT 7.0 .TP .B $ cluset \-e node[160\-163] .UNINDENT .nf node160 node161 node162 node163 .fi .sp .INDENT 7.0 .TP .B $ echo \(aqdc[1\-2]n[2\-6/2]\(aq | cluset \-e .UNINDENT .nf dc1n2 dc1n4 dc1n6 dc2n2 dc2n4 dc2n6 .fi .sp .TP .B مستثنی کردن گره‌ها از مجموعه‌گره .INDENT 7.0 .TP .B $ cluset \-f node[32\-159] \-x node33 .UNINDENT .nf node[32,34\-159] .fi .sp .TP .B محاسبه اشتراک مجموعه‌گره‌ها .INDENT 7.0 .TP .B $ cluset \-f node[32\-159] \-i node[0\-7,20\-21,32,156\-159] .UNINDENT .nf node[32,156\-159] .fi .sp .TP .B محاسبه تفاضل متقارن مجموعه‌گره‌ها (xor) .INDENT 7.0 .TP .B $ cluset \-f node[33\-159] \-\-xor node[32\-33,156\-159] .UNINDENT .nf node[32,34\-155] .fi .sp .TP .B تقسیم گره‌ها به چند مجموعه‌گره (گسترش نتایج) .INDENT 7.0 .TP .B $ cluset \-\-split=3 \-e node[1\-9] .UNINDENT .nf node1 node2 node3 node4 node5 node6 node7 node8 node9 .fi .sp .TP .B تقسیم مجموعه‌گره‌های غیرپیوسته (خلاصه‌سازی نتایج) .INDENT 7.0 .TP .B $ cluset \-\-contiguous \-f node2 node3 node4 node8 node9 .UNINDENT .nf node[2\-4] node[8\-9] .fi .sp .INDENT 7.0 .TP .B $ cluset \-\-contiguous \-f dc[1,3]n[1\-2,4\-5] .UNINDENT .nf dc1n[1\-2] dc1n[4\-5] dc3n[1\-2] dc3n[4\-5] .fi .sp .UNINDENT.SH "تاریخچه (HISTORY)" .sp \fBcluset\fP در نسخهٔ 1.7.3 اضافه شد تا از تداخل با دستور \fBnodeset\fP در xCAT جلوگیری شود و همچنین با شیوهٔ نام‌گذاری دستورات \(dqclu*\(dq در ClusterShell سازگار باشد. .SH "همچنین ببینید (SEE ALSO)" .sp \fBclubak\fP(1), \fBclush\fP(1), \fBnodeset\fP(1), \fBgroups.conf\fP(5). .sp \fI\%https://clustershell.readthedocs.io\fP .SH "گزارش باگ‌ها (BUGS)" .INDENT 0.0 .TP .B برای ارسال گزارش باگ یا بازخورد از نشانی زیر استفاده کنید: \fI\%https://github.com/clustershell/clustershell/issues\fP .UNINDENT .SH "نویسندگان (AUTHORS)" Stephane Thiell .SH "کپی‌رایت و تکثیر (COPYRIGHT)" GNU Lesser General Public License نسخه ۲.۱ یا بالاتر (LGPLv2.1+) .\" Generated by docutils manpage writer. .