服務(wù)器端ip:192.168.88.125
客戶端ip:192.168.88.123
1. 客戶端和服務(wù)端都需要安裝nfs + portmap服務(wù)
[root@localhost ~]# yum install nfs-utils.x86_64(64位系統(tǒng))
[root@localhost ~]# yum install nfs-utils(32位系統(tǒng))
然后安裝portmap服務(wù)云矫,portmap在centos6中改名為rpcbind
[root@localhost ~]# yum install rpcbind(centos6)
[root@localhost ~]# yum install portmap(centos5)
2. 檢查服務(wù)是否安裝成功
[root@localhost ~]# rpm -qa | grep nfs
nfs-utils-1.2.3-70.el6_8.2.x86_64
nfs-utils-lib-1.1.5-11.el6.x86_64
[root@localhost ~]# rpm -qa | grep rpc
rpcbind-0.2.0-12.el6.x86_64
libtirpc-0.2.1-11.el6_8.x86_64
3. 將服務(wù)加入自啟動
[root@localhost ~]# chkconfig --level 35 nfs on
[root@localhost ~]# chkconfig --level 35 rpcbind on
--level 35 表示運行級別為在命令模式和圖形模式下都自啟動
運行級別0:系統(tǒng)停機狀態(tài)拆祈,系統(tǒng)默認運行級別不能設(shè)為0劫拢,否則不能正常啟動
運行級別1:單用戶工作狀態(tài),root權(quán)限纠拔,用于系統(tǒng)維護,禁止遠程登陸
運行級別2:多用戶狀態(tài)(沒有NFS)
運行級別3:完全的多用戶狀態(tài)(有NFS),登陸后進入控制臺命令行模式
運行級別4:系統(tǒng)未使用赔硫,保留
運行級別5:X11控制臺岩调,登陸后進入圖形GUI模式
運行級別6:系統(tǒng)正常關(guān)閉并重啟巷燥,默認運行級別不能設(shè)為6,否則不能正常啟動
4. 編輯服務(wù)端(被映射端)配置文件
[root@localhost ~]# vim /etc/exports
加入:
/sharedisk 192.168.88.123(rw,sync,no_root_squash) #表示允許192.168.88.123主機掛載/sharedisk目錄
#也可以寫成192.168.88.0/24 表示整個網(wǎng)段都可以掛載
NFS主要有3類選項:
訪問權(quán)限選項:
設(shè)置輸出目錄只讀:ro
設(shè)置輸出目錄讀寫:rw
用戶映射選項:
all_squash:將遠程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody)号枕;
no_all_squash:與all_squash取反(默認設(shè)置)缰揪;
root_squash:將root用戶及所屬組都映射為匿名用戶或用戶組(默認設(shè)置);
no_root_squash:與rootsquash取反葱淳;
anonuid=xxx:將遠程訪問的所有用戶都映射為匿名用戶钝腺,并指定該用戶為本地用戶(UID=xxx);
anongid=xxx:將遠程訪問的所有用戶組都映射為匿名用戶組賬戶赞厕,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx)艳狐;
其它選項:
secure:限制客戶端只能從小于1024的tcp/ip端口連接nfs服務(wù)器(默認設(shè)置);
insecure:允許客戶端從大于1024的tcp/ip端口連接服務(wù)器坑傅;
sync:將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中僵驰,效率低,但可以保證數(shù)據(jù)的一致性唁毒;
async:將數(shù)據(jù)先保存在內(nèi)存緩沖區(qū)中蒜茴,必要時才寫入磁盤;
wdelay:檢查是否有相關(guān)的寫操作浆西,如果有則將這些寫操作一起執(zhí)行粉私,這樣可以提高效率(默認設(shè)置);
no_wdelay:若有寫操作則立即執(zhí)行近零,應(yīng)與sync配合使用诺核;
subtree:若輸出目錄是一個子目錄,則nfs服務(wù)器將檢查其父目錄的權(quán)限(默認設(shè)置)久信;
no_subtree:即使輸出目錄是一個子目錄窖杀,nfs服務(wù)器也不檢查其父目錄的權(quán)限,這樣可以提高效率裙士;
配置文件編輯好后入客,使用exportfs -rv重讀配置文件或者重啟rpcbind服務(wù)使之生效
5. 服務(wù)端開放端口
當(dāng)我們在客戶端測試nfs共享信息時發(fā)現(xiàn)報錯
[root@localhost ~]# showmount -e 192.168.88.125
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
由于nfs服務(wù)需要開啟 mountd,nfs,nlockmgr,portmapper,rquotad(這個好像不用了)這5個服務(wù),需要將這5個服務(wù)的端口加到iptables里面而nfs 和 portmapper兩個服務(wù)是固定端口的,nfs為2049桌硫,portmapper為111夭咬。其他的3個服務(wù)是用的隨機端口,那就需要先把這3個服務(wù)的端口設(shè)置成固定的
[root@localhost ~]# vim /etc/sysconfig/nfs
打開前面的#或者在文件的最后一行添加:
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
保存并退出并重啟下nfs服務(wù)铆隘,然后在防火墻開放這4個端口:
-A INPUT -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 32803 -j ACCEPT
重啟防火墻服務(wù)后卓舵,客戶端再試一次
[root@localhost ~]# showmount -e 192.168.88.125
Export list for 192.168.88.125:
/sharedisk 192.168.88.123
6. 客戶端掛載遠程目錄
mount -t nfs 192.168.88.125:/sharedisk1 /sharedisk (:/sharedisk1是文件服務(wù)器目錄)
7. 客戶端自動掛載
可以把掛載命令放到 /etc/rc.local
附加
查看當(dāng)前所有掛載
mount -l
查看當(dāng)前所有nfs掛載
mount -t nfs -l
斷開掛載
umount /sharedisk
斷開掛載報錯device is busy
1. fuser -m -v /sharedisk
2. kill -9 占用的進程號 #-9表示強制的意思吧