安裝只要 yum -y install nfs-utils即可
一、NFS服務器的設定
NFS服務器的設定可以通過/etc/exports這個文件進行,設定格式如下:
分享目錄 主機名稱或者IP(參數1,參數2)
/arm2410s 10.22.22.*(rw,sync,no_root_squash)
可以設定的參數主要有以下這些:
rw:可讀寫的權限;
ro:只讀的權限;
no_root_squash:登入到NFS主機的用戶如果是root,該用戶即擁有root權限;
root_squash:登入NFS主機的用戶如果是root,該用戶權限將被限定為匿名使用者nobody;
all_squash:不管登陸NFS主機的用戶是何權限都會被重新設定為匿名使用者nobody。
anonuid:將登入NFS主機的用戶都設定成指定的user id,此ID必須存在於/etc/passwd中。
anongid:同anonuid,但是變成group ID就是了!
sync:資料同步寫入存儲器中。
async:資料會先暫時存放在內存中,不會直接寫入硬盤。
insecure:允許從這台機器過來的非授權訪問。
例如可以編輯/etc/exports為:
/tmp *(rw,no_root_squash)
/home/public 192.168.0.*(rw) *(ro)
/home/test 192.168.0.100(rw)
/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)
設定好后可以使用以下命令啟動NFS:
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默認啟動的)
/etc/rc.d/init.d/nfs start
exportfs命令
如果我們在啟動了NFS之后又修改了/etc/exports,是不是還要重新啟動nfs呢?這個時候我們就可以用exportfs命令來使改動立刻生效,該命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的內容
-r :重新mount /etc/exports中分享出來的目錄
-u :umount 目錄
-v :在 export 的時候,將詳細的信息輸出到屏幕上。
具體例子:
[root @test root]# exportfs -rv (全部重新export一次!)
exporting 192.168.0.100:/home/test
exporting 192.168.0.*:/home/public
exporting *.the9.com:/home/linux
exporting *:/home/public
exporting *:/tmp
reexporting 192.168.0.100:/home/test to kernel
具體例子:
[root @test root]#exportfs -au (全部都卸載了)
[root @test root]# vi /etc/exports
/home/soft 192.168.2.11(rw)
[root@localhost init.d]# nfs start
-bash: nfs: command not found
[root@localhost init.d]# ./nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
二、NFS客戶端的操作:
1、showmout命令對於NFS的操作和查錯有很大的幫助,所以我們先來看一下showmount的用法 如無showmount命令 yum -y install showmount 安裝之
showmount
-a :這個參數是一般在NFS SERVER上使用,是用來顯示已經mount上本機nfs目錄的cline機器。
-e :顯示指定的NFS SERVER上export出來的目錄。
例如:
showmount -e 192.168.1.136
Export list for localhost:
/tmp *
/home/linux *.linux.org
2、mount nfs目錄的方法:
mount -t nfs hostname(orIP):/directory /mount/point
具體例子:
Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs
[root@localhost /]# showmount -e 192.168.0.169
Export list for 192.168.0.169:
/home/opt/RHEL4U5 192.168.0.0/255.255.252.0
You have new mail in /var/spool/mail/root
mount -t nfs 192.168.0.169:/home/opt/RHEL4U5 /mnt/soft
NFS的防火牆配置
通過命令rpcinfo -p 可查看nfs使用的端口:
其中 portmapper,nfs 服務端口是固定的分別是 111和2049;
另外 rquotad,nlockmgr,mountd 服務端口是隨機的。由於端口是隨機的,這導致防火牆無法設置。
2、這時需要配置/etc/sysconfig/nfs 使 rquotad,nlockmgr,mountd 的端口固定。 找到以下幾項,將前面的#號去掉。
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
service nfs restart
配置iptables,注意tcp與udp區分
-A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 924 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 33745 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 963 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 976 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 979 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 927 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 33993 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 966 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 979 -j ACCEPT
service iptables restart
這下OK。
如防火牆等原因出現device is busy情況 ,可取消掛載
umount -l /home/