منبع اصلی نوشتار زیر در این لینک قرار دارد

سوالات متدوال NFS

NFS مخفف Network File System یک سیستم فایل توزیع شده برای اشتراک گذاری دایرکتوری ها تحت شبکه در میان سیستم عامل های یونیکسی مانند لینوکس، سولاریس و غیره است. NFS توسط شرکت “سان مایکرو سیستم” ایجاد و توسعه داده شده است. NFS این امکان را می دهد تا سیستم فایل های راه دور  بر روی ماشین محلی mount شوند. در ادامه به متدوالترین پرسش ها درباره سرویس NFS پاسخ می دهیم.

  • نسخه های NFS کدام هستند و در حال حاضر چه نسخه ای در حال توسعه و استفاده می باشد؟

NFS دارای نسخه های NFSv2, NFSv3 و NFSv4 است که در حال حاضر نسخه چهارم در حال استفاده است.

  • چگونه یک دایرکتوری را برای اشتراک گذاشتن آماده کنیم؟

نسخت باید سرویس nfs-server بر روی ماشینی که نقش سرویس دهنده NFS را دارد، نصب کنیم. سپس باید سرویس هایی را بر روی سرور فعال کنیم. همچنین نیاز به ویرایش فایل etc/export/ است.

  • کدام فایل برای پیکربندی سرور NFS استفاده می شود؟

فایل etc/exports/

  • آیا می توانیم دسترسی را بر اساس نام کاربری و پسورد برای NFS Share (منظور دایرکتوری Share شده) اعطا کنیم؟

خیر. اعطای دسترسی بر اساس IP Address است.

  • چگونه فایل etc/exports/ را ویرایش کنیم؟

تنها نیاز به یک ویرایشگر متنی مانند nano یا vi و غیره داریم. هر خط آن برای یک دایرکتوری در نظر گرفته می شود که به صورت زیر است :

دقت کنید که هیچ فاصله ای میان پرانتز و آدرس IP وجود ندارد.

  • مفهوم خط شکل زیر چیست؟

خط شکل بالا یعنی اینکه دایرکتوری shared/ برای تمامی کلاینت های شبکه با محدوده (Range) آدرس 192.168.1.0/24 با Role های sync و rw به اشتراک گذاشته شده است.

  • مفهوم sync چیست؟

این Role باعث می شود که سرور تنها پس از نوشتن داده ها (اعمال تغییرات) کاملن تمام شد، به کلاینت پاسخ دهد. این گزینه، بعنوان پیشفرض است و اگر ننویسید، همین گزینه در نظر گرفته می شود. می توانید مطلب “امنیت و مواردی از NFS” را مطالعه کنید.

  • مفهوم no_root_squash چیست؟

این Role باعث می شود که کاربر root ماشین راه دور به صورت کاربر root محلی بر روی سرور رفتار کند. می توانید مطلب “امنیت و مواردی از NFS” را مطالعه کنید.

  • مفهوم root_squash چیست؟

نقطه مقابل no_root_squash است. با استفاده از این گزینه، درخواست های آمده از uid=0 و gid=0 به ک کاربر anonymous که به nobody user یا nfsnobody user شناخته می شود، نگاشت خواهد شد. یعنی دسترسی کاربر root روی ماشین کلاینت بر روی دایرکتوری Share شده، معادل با دسترسی کاربر root روی ماشین سرور نباشد و باعث افزایش امنیت خواهد شد.

  • کاربرد دستور exportfs چیست؟

فهرستی از سیستم فایل های  (جدولی از سیستم فایل های) اشتراک شده کنونی را نگه می دارد که این لیست (جدول) در فایلی مجزا در var/lib/nfs/etab/ نگه داری می شود. هر گاه دایرکتوری ره به فایل exports اضافه می کنید با دستور exportfs آنرا به جدول معرفی می کنید.

  • چگونه فهرست کلاینت هایی که سیستم فایل را بر روی ماشین خود mount کرده اند بدست بیاوریم؟

برای فهرست کردن کلاینت هایی که به سرور NFS متصل شده اند از دستور showmount استفاده می کنیم. همچنین از دستور showmount -a برای فهرست کردن دایرکتوری های استفاده می کنیم.

  • چگونه بدون افزودن خطی در فایل etc/exports/ دایرکتوری (به طور مثال data/) را با role به نام async از خط فرمان به اشتراک گذاریم یا به عبارتی export کنیم؟

پاسخ با استفاده از دستور exports به صورت زیر است :

exportfs -o async 192.168.1.10:/data

  • چگونه فهرست دایرکتوری ها را re-export کنیم؟

به طور مثال دایرکتوری جدیدی را به فایل exports اضافه کرده ایم پس لازم است با دستور زیر re-export کنیم :

exportfs -r

  • چگونه فهرست دایرکتوری های export شده به همراه Role ها یا Option ها را ببینیم؟

با استفاده از دستور زیر :

exportfs -v
  • چگونه آمار و وضعیت کلاینت ها و سرور NFS را مشاهده کنیم؟

با استفاده از دستور nfsstat

  • آیا امکان mount کردن دایرکتوری های NFS بر روی ویندوز 7 و XP وجود دارد؟

خیر. اما Windows Server 2008R2 یک Role برای این کار دارد.



برچسب ها : , , , , , , ,