مراحل زیر برای راه اندازی NFS روی لینوکس
NFS چیست؟
NFS محفف Network File System که توسط شرکت sun solaris ارائه شد. که این شرکت نیز توسط شرکت Oracle خریداری شد.NFS شبیه به اشتراک گذاشتن یک فولدر در ویندوز هست. در ویندوز شما یک شاخه و یا فولدر را share می کنید و توسط یک ویندوز دیگر آنرا Map Network می کنید و بعنوان یک درایو می بینید.
جایی که شما می خواهید فولدری را share کنید به اصطلاح NFS Server و جایی که می خواهید از آن استفاده کنید NFS Client می گویند.
نکته: علامت # یعنی با کاربر root یک ترمینال باز کرده اید.
نحوه راه اندازی روی نسخه ای ۵ به قبل:
کارهایی که روی NFS Server بایستی انجام دهید:
۱–روی NFS Server بسته های زیر را توسط دستور زیر نصب کنید.
#yum install nfs-utils nfs-utils-lib
۲– فولدری را که می خواهید share کنید و چه client ای می خواهد آن را ببیند در فایل exports قرار دهید..چندین مثال در زیر بیان شده است.
# vi /etc/exports
/backup 192.168.56.0/24(rw,sync,no_root_squash,no_subtree_check)
/backup 192.168.56.0/24(rw,sync,all_squash,anonuid=501,anongid=501)
/home 12.33.44.555(rw,sync,no_root_squash,no_subtree_check)
/backup *(rw,sync,all_squash,anonuid=502,anongid=501)
/data/files *(ro,sync)
/home 192.168.1.0/24(rw,sync)
/data/test *.my-site.com(rw,sync)
/data/database 192.168.1.203/32(rw,sync)
برحسب نیاز فقط فولدر خود را قرار دهید. توجه داشته باشید:
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper)
anonuid=501 : شناسه کاربر oracle
anongid=501: شناسه گروه oinstall
rw: یعنی هم NFS Server و هم NFS Clinet بتوانند روی فولدر مورد نظر عملیات خواند و نوشتن داشته باشند
sync: به محض اینکه اگر تغیراتی روی فولدر share شده از سمت NFS Server انجام شد از سمت NFS Client دیده شود.
no_subtree_check: این گزینه از چک کردن زیر شاخه ها جلوگیری می کند. وقتی فولدر share شده زیر شاخه ای از یک فایل سیستم بزرگ هست NFS بطور پیش فرض تمامی فولدرهای بالایی آن را اسکن می کند و یا به عبارتی مجوزها و جزییات را بررسی می کند.این گزینه این عمل را غیر فعال می کند باعث افزایش کارایی NFS ولی کاهش امنیت می شود.
no_root_squash:این گزینه باعث می شود که کاربر root بتواند به این فولدر متصل شود
۳– دستور زیر فایل exports را syntax check error می کند . یعنی اگر دستوری و یا گزینه ای اشتباه تایپ کردید را بصورت پیغام خطا نشان می هد و یا اگر یک فولدر جدید به آن اضافه کردید یکبار این دستور را بزنید.
# exportfs -a
۴– سرویس های زیر را بالا بیاورید.
# service portmap start
# service nfs start
# service nfslock start
# chkconfig –level 35 nfs on
# chkconfig –level 35 nfslock on
# chkconfig –level 35 portmap on
کارهایی که روی NFS Client بایستی انجام دهید:
۱–روی NFS Client بسته های زیر را توسط دستور زیر نصب کنید.
# yum install nfs-utils nfs-utils-lib
۲– فرض کنید فولدری که روی NFS Server آن را share کردی بنام backup است و آن را روی NFS Client می خواهید بنام backup1 ببینید. بنابراین یک فولدر بنام backup1 روی NFS Client ایجاد می کنید.
# mkdir /backup
۳– سرویس های زیر را با دستورات زیر بالا بیاورید.
# service portmap start
# service netfs start
# service nfslock start
# chkconfig –level 35 netfs on
# chkconfig –level 35 nfslock on
# chkconfig –level 35 portmap on
۴– حال فولدر را mount کنید.
# mount 192.168.56.30:/backup /backup1
۵– برای mount کردن اتوماتیک می توانید آن را بشکل زیر در فایل fstab قرار دهید ولی اگر سرور NFS Server پایین باشد بالا آمدن NFS Client با مشکل مواجه می شود بهتر است آن را در فایل rc.local قرار دهید تا آخرین سروریسی باشد که لینوکس آن را بالا می آورد.
در زیر دو مثال آورده شده است.
# vi /etc/fstab
۱۹۲.۱۶۸.۵۶.۳۰:/home /mnt/nfs/home nfs auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0
۱۹۲.۱۶۸.۱.۱۰۰:/backup /bakup nfs soft,nfsvers=3 0 0
اگر از فایل rc.local استفاده می کنید همین خطوط را در فایل قرار دهید.
# vi /etc/rc,local
۱۹۲.۱۶۸.۵۶.۳۰:/home /mnt/nfs/home nfs auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0
۱۹۲.۱۶۸.۱.۱۰۰:/backup /bakup nfs soft,nfsvers=3 0 0
راه اندازی NFS روی لینوکس با نسخه ۶
روی NFS Server:
مراحل ۱،۲ و ۳ مانند قبل است در مرحله ۴ فقط سرویس nfs را راه اندازی کنید
# service nfs start
روی NFS Client:
فقط مرحله ۳ را انجام ندهید.
نکته: اگر firewall لینوکس روی NFS Server فعال باشد در مر حله ۴ روی NFS Client دچار مشکل می شوید برای رفع مشکل دستورات زیر را به firewall و یا همان iptables اضافه کنید.
# vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state –state NEW -m tcp –dport 111 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 2049 -j ACCEPT
-A INPUT -p udp -m state –state NEW -m udp –dport 111 -j ACCEPT
-A INPUT -p udp -m state –state NEW -m udp –dport 2049 -j ACCEPT
# /etc/init.d/iptables restart
و یا بطور موقتfirewall را از کار بندازید و مر حله ۴ مربوط به NFS Client را یکبار دیگر آزمایش کنید
# iptables -F
حال کسانی که از نسخه های ترکیبی لینوکس استفاده می کنند مراحل مربوطه را ترکیبی انجام دهند.