#1、查看服務端系統是否已安裝NFS
rpm -qa | grep rpc
rpm -qa | grep nfs
#2、NFS服務端然後啓動服務
service rpcbind start
service nfs start
#可以查看NFS服務端服務狀態
service rpcbind status
service nfs status
#3、設置NFS服務端nfs服務自啓動,不然要共享文件每次都要啓動一下服務很麻煩
chkconfig --list rpcbind
chkconfig --level 35 rpcbind on
chkconfig --list nfs
chkconfig --level 35 nfs on
--level<等級代號> 指定讀系統服務要在哪一個執行等級中開啓或關畢。
等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網絡連接的多用戶命令行模式
等級3表示:有網絡連接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:重新啓動
需要說明的是,level選項可以指定要查看的運行級而不一定是當前運行級。對於每個運行級,只能有一個啓動腳本或者停止腳本。當切換運行級時,init不會重新啓動已經啓動的服務,也不會再次去停止已經停止的服務。
#4、接下來就是要共享文件,比如共享/home/sharedFolders目錄下的文件、編寫要共享的機器名
vi /etc/exports
#內容填寫如下:
/home/sharedFolders 172.31.93.1(ro)
/home/share/是要共享的文件夾 後面接的是ip+網段,括號裏面的表示客戶機對該目錄下的文件的操作權限,r表示可讀,w表示可寫,x表示可執行
#客戶端常用的指定方式
指定ip地址的主機:192.168.0.200
指定子網中的所有主機:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主機:david.bsmart.cn
指定域中的所有主機:*.bsmart.cn
所有主機:*
#訪問權限選項
設置輸出目錄只讀:ro
設置輸出目錄讀寫:rw
#用戶映射選項
all_squash:將遠程訪問的所有普通用戶及所屬組都映射爲匿名用戶或用戶組(nfsnobody);
no_all_squash:與all_squash取反(默認設置);
root_squash:將root用戶及所屬組都映射爲匿名用戶或用戶組(默認設置);
no_root_squash:與rootsquash取反;
anonuid=xxx:將遠程訪問的所有用戶都映射爲匿名用戶,並指定該用戶爲本地用戶(UID=xxx);
anongid=xxx:將遠程訪問的所有用戶組都映射爲匿名用戶組賬戶,並指定該匿名用戶組賬戶爲本地用戶組賬戶(GID=xxx);
#其它選項
secure:限制客戶端只能從小於1024的tcp/ip端口連接nfs服務器(默認設置);
insecure:允許客戶端從大於1024的tcp/ip端口連接服務器;
sync:將數據同步寫入內存緩衝區與磁盤中,效率低,但可以保證數據的一致性;
async:將數據先保存在內存緩衝區中,必要時才寫入磁盤;
wdelay:檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率(默認設置);
no_wdelay:若有寫操作則立即執行,應與sync配合使用;
subtree:若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
no_subtree:即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;
#5、重啓NFS服務端rpcbind 和nfs 服務
service rpcbind restart
service nfs restart
客戶端:
/etc/exports