NFSDCTL(8) دستورات مدیریت سیستم NFSDCTL(8)

nfsdctl - ابزار کنترل و پیکربندی سرور NFSD در هسته لینوکس

nfsdctl [ گزینه‌ها ] COMMAND ...

دستور nfsdctl برای کنترل، مدیریت و پیکربندی پارامترهای کارگزار سرور nfsd در لینوکس استفاده میشود.

چندین زیردستور (که در ادامه مستند شده‌اند) وجود دارند که به مدیر سیستم امکان می‌دهند جنبه‌های مختلف سرور NFS را پیکربندی یا بررسی کند.

برای دریافت اطلاعات درباره نحوه استفاده از هر زیردستور، پارامتر --help را به زیردستور مربوطه ارسال کنید. به عنوان مثال:

nfsdctl listener --help

-d, --debug

فعال‌سازی ثبت پیام‌های اشکال‌زدایی (دیباگ).

-h, --help

چاپ متن راهنمای برنامه.

-s, --syslog

ثبت لاگ در syslog به جای stderr (حالت پیش‌فرض).

-V, --version

چاپ نسخه برنامه.

هر زیردستور همچنین می‌تواند گزینه‌ها و آرگومان‌های ویژه خود را بپذیرد. گزینه --help برای تمام زیردستورها استاندارد است:

autostart

راه‌اندازی سرور با استفاده از تنظیمات موجود در بخش [nfsd] فایل /etc/nfs.conf. این زیردستور هیچ آرگومانی نمی‌پذیرد. توجه داشته باشید که اگر مقدار "threads=" در nfs.conf مشخص نشده باشد، ۱۶ نخ (thread) سرور راه‌اندازی و فعال خواهند شد.

listener

دریافت/تنظیم سوکت‌های شنود برای سرور. اجرای این دستور بدون آرگومان، فهرستی از سوکت‌هایی که سرور در حال حاضر روی آن‌ها گوش می‌دهد برمی‌گرداند. برای افزودن یا حذف سوکت‌ها، رشته‌های جداشده با فاصله را در قالب زیر ارسال کنید:
{ +|- }{ protocol }:{ address }:{ port }
فیلدها عبارتند از:
+ برای افزودن یک شنونده، - برای حذف آن
protocol: نام پروتکل (مانند tcp، udp، rdma)
address: نام میزبان یا آدرس IP
port: شماره پورت یا نام سرویس
تمام فیلدها الزامی هستند، به جز address. اگر address یک رشته خالی باشد،
شنونده‌ها برای INADDR_ANY و IN6ADDR_ANY_INIT برای ipv6 (در صورت فعال بودن)
باز خواهند شد. آدرس می‌تواند یک نام میزبان یا یک آدرس IP باشد. آدرس‌های IPv4
باید به فرم ده‌دهی نقطه‌دار (dotted-quad) باشند. آدرس‌های IPv6 باید به فرم استاندارد
جداشده با دونقطه باشند و حتماً داخل براکت مربع [ ] قرار گیرند.

nlm

دریافت اطلاعات درباره تنظیمات NLM (یا lockd) در فضای نام شبکه (net namespace) فعلی. این زیردستور آرگومانی نمی‌پذیرد.

status

دریافت اطلاعات درباره RPCهایی که هم‌اکنون در سرور در حال اجرا هستند. این زیردستور آرگومانی نمی‌پذیرد.

threads

دریافت/تنظیم تعداد نخ‌های (threads) در حال اجرای nfsd در هر استخر (pool). برای تغییر تعداد فعال نخ‌ها، فهرستی از اعداد صحیح را پاس دهید. ارسال مقدار ۰ سرور NFS را خاموش می‌کند. اجرای این دستور بدون آرگومان، تعداد فعلی نخ‌های فعال در هر استخر را نشان می‌دهد.

version

دریافت/تنظیم نسخه‌های فعال NFS برای سرور. اجرای بدون آرگومان، فهرستی از نسخه‌های پشتیبانی‌شده و وضعیت فعال یا غیرفعال بودن فعلی آن‌ها را برمی‌گرداند. برای فعال یا غیرفعال کردن یک نسخه، رشته‌ای در قالب زیر پاس دهید:
{ +|- }{ MAJOR }{.{ MINOR }}
فیلدها عبارتند از:
+ برای فعال کردن یک نسخه، - برای غیرفعال کردن آن
MAJOR: مقدار عدد صحیح نسخه اصلی
MINOR: مقدار عدد صحیح نسخه فرعی
فیلد minorversion اختیاری است. در صورت عدم درج، تمام نسخه‌های فرعی آن نسخه اصلی فعال یا غیرفعال خواهند شد.
توجه داشته باشید که نسخه‌ها تنها زمانی قابل تنظیم هستند که هیچ نخی از nfsd در حال اجرا نباشد.

pool-mode

دریافت/تنظیم حالت استخر (pool mode) میزبان. این باعث می‌شود سرور نخ‌هایی را آغاز کند که به پردازنده (CPU) یا گره NUMA متصل (pinned) شده‌اند. این مورد تنها زمانی قابل تنظیم است که هیچ نخ nfsd در حال اجرا نباشد.
گزینه‌های موجود عبارتند از:
  global:  یک استخر بزرگ واحد
  percpu:  یک استخر به ازای هر پردازنده (CPU)
  pernode: یک استخر به ازای هر گره NUMA
  auto:    انتخاب خودکار بر اساس پیکربندی میزبان

راه‌اندازی سرور با تنظیمات موجود در nfs.conf:

nfsdctl autostart

دریافت فهرست سوکت‌های شنود فعلی:

nfsdctl listener

نمایش نسخه‌های پشتیبانی‌شده و فعال NFS:

nfsdctl version

افزودن شنونده TCP روی تمام آدرس‌ها (هم v4 و هم v6)، پورت 2049:

nfsdctl listener +tcp::2049

افزودن شنونده RDMA روی 1.2.3.4 پورت 20049:

nfsdctl listener +rdma:1.2.3.4:20049

افزودن همان شنونده روی آدرس IPv6 به صورت f00::ba4 پورت 20050:

nfsdctl listener +rdma:[f00::ba4]:20050

فعال‌سازی NFS نسخه ۳، و غیرفعال‌سازی نسخه ۴.۰:

nfsdctl version +3 -4.0

تغییر تعداد نخ‌های فعال در اولین استخر به ۲۵۶:

nfsdctl threads 256

تنظیم pool-mode روی حالت "pernode":

nfsdctl pool-mode pernode

دستور nfsdctl در نظر گرفته شده است تا جایگزین rpc.nfsd(8) شود؛ برنامه‌ای که سرور nfs را با استفاده از فایل‌های موجود در زیرمسیر /proc/fs/nfsd کنترل می‌کرد. در مقابل، nfsdctl از رابط netlink(7) برای رسیدن به اهداف مشابه بهره می‌برد.

بسیاری از دستوراتی که وضعیت سرور NFS را پرس‌وجو می‌کنند می‌توانند توسط یک کاربر عادی و بدون امتیاز ویژه اجرا شوند، اما پیکربندی سرور معمولاً به دسترسی‌های کاربری ارشد (کاربر ریشه) نیاز دارد.

nfs.conf(5), rpc.nfsd(8), rpc.mountd(8), exports(5), exportfs(8), rpc.rquotad(8), nfsstat(8), netconfig(5)

Jeff Layton

مه ۲۰۲۵ nfs-utils