مشاركة الملفات باستخدام Network File System
كتب بواسطة مسلم عادل بتاريخ 2008/09/18
مشاركة الملفات عبر (Network File System) امر غاية في البساطة، حيث تقوم بتعيين المجلد الذي تريد مشاركته بالاضافة الى الصلاحيات (قراءة فقط او قراءة كتابة).
يعمل NFS على مبدا تعيين المجلد المراد مشاركته + رقم الـ IP الجهاز المسموح له بالوصول الى المجلد.
تعيين المجلدات والخيارات الخاصة بـ NFS تكون في الملف /etc/exports/
مشاركة مجلد باستخدام NFS:
قم باختيار المجلد الذي تريد مشاركته، كمثال ساستخدم المجلد /media/sda8/shares/nfs
الان افتح الملف /etc/exports بصلاحيات المستخدم root واضف اليه التالي:
/media/sda8/shares/nfs 192.168.1.* (ro)
لاحظ اننا قمنا بمشاركة المجلد مع كل اجهزة الشبكة وصلاحيات المجلد هي قراءة فقط (ro).
لو اردت ان يكون قابل للكتابة، ضع بدل (ro) الخيار (rw)
ايضا يمكنك تحديد الجهاز الذي لديه صلاحيات فتح المجلد وذلك بتحديد عنوانه مثل:
/media/sda8/shares/nfs 192.168.1.23 (rw)
احفظ الملف، واعد تشغيل خدمة nfs كالاتي:
ديبيان، اوبونتو والتوزيعات المبنية عليه:
root@server:~# /etc/init.d/portmap restart
root@server:~# /etc/init.d/nfs-common restart
root@server:~# /etc/init.d/nfs-kernel-server restartفيدورا والتوزيعات المبنية عليه:
root@server:~# /etc/init.d/portmap restart
root@server:~# /etc/init.d/nfs restartالان من الاجهزة الاخرى في الشبكة، يمكنك الوصول الى هذه المجلدات المشاركة كالاتي:
root@laptop:~# mkdir -p /mnt/shares
root@laptop:~# mount -t nfs 192.168.1.1:/media/sda8/shares/nfs /mnt/sharesحيث ان 192.168.1.1 هو الجهاز الذي تمت المشاركة عليه.
في حال وجود اكثر من مجلد مشارك على الجهاز 192.168.1.1 يصبح الامر صعب حفظ كل المسارات، لهذا السبب، يستطيع الامر showmount مساعدتنا، فاذا قمت بتنفيذه سيقوم بعرض كل المشاركات المتوفرة في الخادم، كالاتي:
root@laptop:~# showmount -e 192.168.1.1
المزيد من الخيارات:
كما راينا، التعامل مع NFS امر في غاية البساطة. ولكن يوجد ايضا امكانية تحسين داء NFS وذلك باضافة المزيد من الخيارات في الملف /etc/exports/.
ابرز الخيارات الاضافية هي:
async: عند استخدام هذا الخيار، فان nfs server لن ينتظر الاجابة من العميل كلما ارسل packet اليه، في هذه الحالة ستزيد من سرعة نقل البيانات في الشبكة.
عليك أن تحذر عند استخدام هذا الخيار لانه لا يضمن وصول البيانات (حيث لا ينتظر packets التاكيد) لهذا السبب استخدمه فقط اذا كانت الملفات المشاركة لا تحتوي على معلومات مهمة.
noaccess: اذا تم استخدام هذا الخيار، فانه سيكون بامكان المستخدم الوصول الى الملفات المشاركة، ولكنه لن يتستطيع تصفح المجلدات الفرعية الموجودة في نفس الدليل.
no_root_squash: بشكل عام، لا يستطيع المستخدم root تعديل الملفات المشاركة بصلحياته، اذا اردته ان يعدل عليها بصلاحياته، هذا الخيار هو الحل.
نصائح عند تركيب (mount) المجلدات:
عند محاولة تركيب اي مجلد مشارك باستخدام nfs فانه يتوفر 3 خيارات للتركيب:
hard (الافتراضي)
intr
soft
عند تنفيذ الامر:
root@laptop:~# mount -t nfs 192.168.1.1:/media/sda8/shares/nfs /mnt/sharesفان الخيارات الافتراضية المستخدمة ستكون hard.
هذا الخيار يعتبر مهم في حال كانت البيانات التي يتم نقلها حساسة ومهمة، حيث انه يمنع ايقاف اي عمية تحدث بين العميل والخادم. ولكنه في نفس الوقت سيء في حال حدث اي انقطاع في الشبكة حيث ان سيبقى يحاول الوصول الى المسار المشارك ولن تستطيع ايقافه الا باعادة تشغيل النظام.
الخيار الثاني (intr) شبيه جدا بالسابق ولكن الفرق انه يسمح بقطع العملية باستخدام ctrl+c او kill.
الخيار الثالث هو الانسب حيث انه يسمح بقطع العملية في اي وقت ولا يبقى ينتظر اجابة من الخادم في حال حدوث انقطاع.
لاستخدام الخيارات السابقة:
root@laptop:~# mount -t nfs -o soft 192.168.1.1:/media/sda8/shares/nfs /mnt/sharesroot@laptop:~# mount -t nfs -o intr 192.168.1.1:/media/sda8/shares/nfs /mnt/shares