系統版本:CentOS7.X
概念
NFS(Network File System)名為網絡檔案系統,是一種用于網絡中主機與主機之間共享檔案的一種服務。它把主機上要共享的目錄通過檔案系統的方式挂載到網絡中的主機上,讓網絡中的主機通路共享目錄就如同通路自己本地的磁盤分區一樣。
NFS一般用于企業内網檔案共享,相對Samba傳輸效率較好,相對vSFTP安全性較低。
NFS依賴于RPC(遠端調用)服務,NFS支援的功能很多,每啟動一個功能都需要啟用一些端口來傳輸資料,NFS功能所對應的端口都是随機去用一些小于1024的端口。而RPC的最主要的功能就是定位對應功能的端口号并告訴給用戶端連接配接。
NFS啟動的RPC Daemons(守護程序):
rpc.nfsd :NFS主要服務程序,用于管理挂載資訊,判斷登陸使用者的ID,身份驗證等。
rpc.mountd :當用戶端成功通路并将共享目錄挂載到本地,提供檔案權限管理功能。
rpc.lock :提供檔案是否鎖定(Lock)方面功能。(非必要開啟)
rpc.statd :用來檢查檔案的一緻性,用于恢複損壞的檔案,與rpc.lock相關,需要用戶端與服務端同時開啟此功能。(非必要開啟)
服務端:搭建NFS服務
一、安裝nfs-utils、rpcbind軟體包
# yum -y install nfs-utils rpcbind
二、建立要共享的目錄并授權,将目錄增加到NFS中托管
# mkdir /data (建立要共享的目錄
# chmod 007 /data (授權共享目錄,007表示其他使用者将擁有可讀、可寫、可執行權限。NFS預設使用者為“nfsnobody”,也可以使用“chown nfsnobody.nfsnobody /data”指令授權。
# vi /etc/exports (将目錄加入到NFS中托管,在exports檔案中增加條目
/data 192.168.116.0/24(rw,sync) #書寫格式:/共享目錄 指定IP網段/掩碼(參數1,參數2)
三、開啟服務
# systemctl start rpcbind (必須首先啟動RPC服務
# systemctl start nfs (啟動NFS服務
# netstat -lnupt |grep rpc (檢視端口情況
用戶端:挂載NFS共享目錄
一、挂載NFS共享目錄到本地
# mount 192.168.116.130:/home /mnt #挂載指令:mount NFS伺服器位址:/共享目錄 本地挂載目錄
配置完整解讀
配置檔案路徑:/etc/exports
配置格式:
NFS共享的目錄 NFS用戶端位址1(參數1,參數2) NFS用戶端位址2(參數1,參數2)
配置說明
一、NFS共享的目錄:
使用絕對路徑指定目錄路徑,如:/data
二、NFS用戶端位址:
指定主機IP,如:192.168.1.1
指定主機網段,如:192.168.1.0/24
指定所有主機,如:*
三、參數:
ro #擁有隻讀的權限
rw #擁有可讀可寫的權限
sync #将資料同步寫入記憶體緩沖區與磁盤中,效率低,但可以保證資料的一緻性(同步傳輸)
async #将資料先儲存在記憶體緩沖區中,必要時才寫入磁盤(異步傳輸)
all_squash #将遠端通路的所有普通使用者及所屬組都映射為匿名使用者或使用者組(nfsnobody)
no_all_squash #與all_squash取反(預設設定),預設使用nfsnobody匿名使用者
root_squash #将root使用者及所屬組都映射為匿名使用者或使用者組(預設設定)
no_root_squash #與rootsquash取反
anonuid=xxx #将遠端通路的所有使用者都映射為匿名使用者,并指定該使用者為本地使用者(UID=XXX)
anongid=xxx #将遠端通路的所有使用者組都映射為匿名使用者組賬戶
本文轉自 觸動的風 51CTO部落格,原文連結:http://blog.51cto.com/10978134/2043983