1. 程式人生 > >Linux學習總結(四十七)NFS服務配置 上篇

Linux學習總結(四十七)NFS服務配置 上篇

nfs rpc

1 NFS基本架構

NFS network file system 也就是網絡文件系統。
NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,最新為4.1版本
NFS數據傳輸基於RPC協議,RPC為Remote Procedure Call的簡寫,譯為遠程過程調用。
NFS應用場景是:A,B,C三臺機器上需要保證被訪問到的文件是一樣的,A共享數據出來,B和C分別去掛載A共享的數據目錄,從而B和C訪問到的數據和A上的一致。NFS通過網絡讓不同的機器之間可以彼此共享文件和目錄。類似於windos通過局域網使用的共享文件夾機制。NFS掛載結構圖如下:

技術分享圖片

服務端設好一個共享目錄/public 後,其他有權限訪問NFS服務器的客戶端就可以將該目錄掛載到本地,客戶端對該目錄的使用權限,取決於服務端對該目錄的具體授權配置,比如只讀。

2 NFS 通訊原理

技術分享圖片

1)首先NFS server 啟動RPC服務,並開啟111端口
2)server繼續啟動NFS服務,並向RPC註冊端口信息。
3)client 啟動RPC服務,向server RPC請求NFS端口信息
4)server RPC 反饋NFS 端口信息給client
5)client 通過獲取的NFS端口來建立和sever NFS的連接,並進行數據傳輸。
總結: NFS本身不具備跨網絡的通信機制,依靠RPC協議,統一管理NFS端口,從而實現正常通信。

3 服務端安裝配置

yum install -y nfs-utils rpcbind
vim /etc/exports //加入如下內容
/home/nfstestdir 192.168.226.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
保存配置文件後,執行如下準備操作
mkdir /home/nfstestdir
chmod 777 /home/nfstestdir
systemctl start rpcbind   //從前面原理中得知須先啟動rpc,後啟動nfs
systemctl start nfs
systemctl enable rpcbind 
systemctl enable nfs

4 NFS 配置選項介紹

rw 讀寫
ro 只讀
sync 同步模式,內存數據實時寫入磁盤
async 非同步模式,表示把內存中的數據定期寫入到磁盤
no_root_squash 客戶端掛載NFS共享目錄後,root用戶不受約束,權限很大
root_squash 與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶
all_squash 客戶端上所有用戶在使用NFS共享目錄時都被限定為一個普通用戶
anonuid/anongid 和上面幾個選項搭配使用,定義被限定用戶的uid和gid

Linux學習總結(四十七)NFS服務配置 上篇