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

nfsd, rpc.nfsd - پردازش کارگزار دیمن سرور NFS در هسته

/usr/sbin/rpc.nfsd [گزینه‌ها] nproc

دیمن rpc.nfsd سرویسدهنده فایلسیستم NFS را در فضای هسته مدیریت و ریسههای پردازش را اجرا میکند. برنامه rpc.nfsd بخش سطح کاربر سرویس NFS را پیاده‌سازی می‌کند. کارکرد اصلی توسط ماژول هسته nfsd انجام می‌شود. برنامه فضای کاربر صرفاً مشخص می‌کند که سرویس هسته روی چه نوع سوکت‌هایی شنود کند، از چه نسخه‌هایی از NFS پشتیبانی نماید و چه تعداد ریسه هسته به کار گیرد.

سرور rpc.mountd سرویس جانبی لازم را برای برآورده کردن درخواست‌های سوار کردن (mount) توسط کلاینت‌های NFS فراهم می‌کند.

فعال‌سازی ثبت پیام‌های اشکال‌زدایی (دیباگ).
مشخص کردن یک نام میزبان (یا نشانی) معین که درخواست‌های NFS روی آن پذیرفته می‌شوند. به‌طور پیش‌فرض، rpc.nfsd درخواست‌های NFS را روی تمام نشانی‌های شبکه شناخته‌شده می‌پذیرد. توجه داشته باشید که lockd (که سرویس‌های قفل‌گذاری فایل را برای NFS انجام می‌دهد) ممکن است همچنان درخواست‌ها را روی همه نشانی‌های شبکه شناخته‌شده بپذیرد. این رفتار ممکن است در نسخه‌های آینده هسته لینوکس تغییر کند. این گزینه می‌تواند چندین بار برای شنود روی بیش از یک رابط شبکه استفاده شود.
نسخه NFSv4.1 و بالاتر نیازمند این هستند که سرور یک «حوزه» (scope) را گزارش دهد که توسط کلاینت‌ها برای تشخیص اینکه آیا دو اتصال به یک سرور هستند یا خیر، استفاده می‌شود. به‌طور پیش‌فرض، NFSD لینوکس از نام میزبان به عنوان حوزه استفاده می‌کند.

برای پیکربندی‌های با دسترسی‌پذیری بالا (High-Availability) تضمین اینکه تمام گره‌های سرور بالقوه یک حوزه یکسان را گزارش دهند اهمیت ویژه‌ای دارد.

مشخص کردن درگاهی متفاوت برای شنود درخواست‌های NFS. به‌طور پیش‌فرض، rpc.nfsd روی درگاه ۲۰۴۹ شنود خواهد کرد.
مشخص کردن اینکه درخواست‌های NFS روی درگاه استاندارد RDMA (یعنی «nfsrdma»، درگاه ۲۰۰۴۹) پذیرفته شوند.
شنود درخواست‌های RDMA روی یک درگاه جایگزین؛ می‌تواند یک شماره یا نامی فهرست‌شده در /etc/services باشد.
این گزینه می‌تواند برای درخواست ارائه نشدن نسخه‌های معینی از NFS توسط rpc.nfsd استفاده شود. نسخه فعلی rpc.nfsd می‌تواند از نسخه‌های اصلی ۳ و ۴ و نسخه‌های فرعی 4.0، 4.1 و 4.2 در NFS پشتیبانی کند.
به‌طور پیش‌فرض، rpc.nfsd پیام‌های خطا (و پیام‌های اشکال‌زدایی در صورت فعال بودن) را در stderr ثبت می‌کند. این گزینه باعث می‌شود rpc.nfsd این پیام‌ها را در syslog ثبت کند. توجه داشته باشید که خطاهای رخ‌داده هنگام پردازش گزینه‌ها بدون توجه به این گزینه همچنان در stderr ثبت می‌شوند.
به سرور NFS هسته دستور می‌دهد تا یک سوکت TCP باز کند و روی آن شنود نماید. این رفتار پیش‌فرض است.
به سرور NFS هسته دستور می‌دهد که سوکت TCP باز نکند و روی آن شنود ننماید.
به سرور NFS هسته دستور می‌دهد تا یک سوکت UDP باز کند و روی آن شنود نماید.
به سرور NFS هسته دستور می‌دهد که سوکت UDP باز نکند و روی آن شنود ننماید. این رفتار پیش‌فرض است.
این گزینه می‌تواند برای درخواست ارائه نسخه‌های معینی از NFS توسط rpc.nfsd استفاده شود. نسخه فعلی rpc.nfsd می‌تواند از نسخه‌های اصلی ۳ و ۴ و نسخه‌های فرعی 4.0، 4.1 و 4.2 پشتیبانی کند.
تنظیم مدت زمان اجاره (lease-time) مورد استفاده برای NFSv4. این مشخص می‌کند که کلاینت‌ها هر چند وقت یک‌بار باید وضعیت خود را با سرور تایید کنند. محدوده معتبر بین ۱۰ تا ۳۶۰۰ ثانیه است.
تنظیم زمان مهلت (grace-time) مورد استفاده برای NFSv4 و NLM (برای NFSv2 و NFSv3). درخواست‌های باز کردن فایل جدید (NFSv4) و قفل‌های فایل جدید (NLM) تا پس از سپری شدن این زمان مجاز نخواهند بود تا به کلاینت‌ها فرصت بازیابی وضعیت داده شود.
مشخص کردن تعداد ریسه‌های سرور NFS. به‌طور پیش‌فرض، هشت ریسه راه‌اندازی می‌شوند. با این حال، برای عملکرد بهینه باید از چندین ریسه استفاده شود. رقم واقعی بستگی به تعداد و بار کاری ایجاد شده توسط کلاینت‌های NFS دارد، اما نقطه شروع مناسب هشت ریسه است. اثرات تغییر این تعداد را می‌توان با استفاده از برنامه nfsstat(8) بررسی کرد.

توجه داشته باشید که اگر سرور NFS از قبل در حال اجرا باشد، گزینه‌های تعیین میزبان، درگاه و پروتکل نادیده گرفته می‌شوند. تعداد فرآیندهای ارائه‌شده تنها گزینه‌ای است که در نظر گرفته می‌شود، و تعداد فرآیندهای فعال nfsd برای تطابق با این مقدار افزایش یا کاهش می‌یابد. به‌ویژه rpc.nfsd 0 همه ریسه‌ها را متوقف کرده و در نتیجه هرگونه اتصال باز را می‌بندد.

بسیاری از گزینه‌هایی را که می‌توان در خط فرمان تنظیم کرد، می‌توان از طریق مقادیر تعیین‌شده در بخش [nfsd] فایل پیکربندی /etc/nfs.conf نیز کنترل کرد. مقادیر شناخته‌شده عبارتند از:

تعداد ریسه‌هایی که باید شروع شوند.
یک نام میزبان، یا فهرستی از نام‌های میزبان که با کاما از هم جدا شده‌اند، که rpc.nfsd روی آن‌ها شنود خواهد کرد. استفاده از گزینه --host جایگزین تمامی نام‌های میزبان فهرست‌شده در اینجا می‌شود.
تنظیم حوزه (scope) سرور.
زمان مهلت، هم برای NFSv4 و هم NLM، بر حسب ثانیه.
مدت زمان اجاره برای NFSv4، بر حسب ثانیه.
تنظیم درگاه اتصال برای TCP/UDP.
فعال‌سازی درگاه RDMA (با «on» یا «yes» و غیره) روی درگاه استاندارد («nfsrdma»، درگاه ۲۰۰۴۹).
تنظیم درگاه RDMA جایگزین.
فعال‌سازی (با «on» یا «yes» و غیره) یا غیرفعال‌سازی («off»، «no») پشتیبانی از UDP.
فعال یا غیرفعال کردن پشتیبانی از TCP.
فعال یا غیرفعال کردن تمامی نسخه‌های NFSv4. همه نسخه‌ها معمولاً به‌طور پیش‌فرض فعال هستند.
تنظیم این موارد روی «off» یا موارد مشابه، نسخه‌های فرعی انتخاب‌شده را غیرفعال می‌کند. تنظیم روی «on» آن‌ها را فعال می‌کند. مقادیر پیش‌فرض توسط هسته تعیین می‌شوند، و معمولاً نسخه‌های فرعی پس از تکمیل پیاده‌سازی به‌طور پیش‌فرض فعال می‌گردند.

اگر برنامه با پشتیبانی از TI-RPC ساخته شده باشد، هر ترکیبی از پروتکل و خانواده نشانی را که در پایگاه داده netconfig به عنوان قابل مشاهده علامت‌گذاری شده باشد، فعال می‌کند.

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

Olaf Kirch، Bill Hawes، H. J. Lu، G. Allan Morris III و افراد بسیار دیگر.

مه ۲۰۲۵ nfs-utils