NFS介紹
NFS是Network File System的縮寫,NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與并主導開發。NFS數據傳輸基于RPC協議,RPC為Remote Procedure Call的簡寫。
NFS應用場景很簡單,當多臺機器需要共享一份數據時,就用NFS。如上圖,sdb1為A機器上的一塊盤,A機器把sdb1上的一個目錄共享出來了,然后B機器和C機器呢通過NFS將A機器共享的目錄掛載到了它們自己的服務器上,看起來就像是它們本地的一塊盤,此時無論是A機器,還是B機器,又或者是C機器,到這個掛載的目錄里去寫文件,另外的兩臺機器都會跟著寫。
NFS工作原理
首先,說一個結論:NFS依賴RPC,RPC存在的意義是為了解決NFS服務端和客戶端通信多端口并且端口不固定的問題。也就是說,NFS的服務端和客戶端通信時,并不是只有一個端口,因為畢竟需要數據傳輸,數據的讀、寫,它們中間復雜得很,一個端口做不了這么多事情,所以就需要很多端口來實現這些操作。 最麻煩的是,端口還不固定,所以就得有一個中心,來記錄這些不固定的端口,怎么記錄呢,這里就用到了RPC。 當訪問程序通過NFS客戶端向NFS服務器端存取文件時,其請求數據流程大致如下: ① NFS服務啟動時,首先會將端口信息登記到NFS服務端的RPC服務(也就是圖中的rpcbind)里。
② 用戶在NFS客戶端上發出存取NFS文件請求,這時NFS客戶端的RPC服務就會通過網絡向NFS服務器端的RPC服務的111端口發出NFS文件存取功能的詢問請求。
③ NFS服務端的RPC服務找到對應已注冊的NFS端口后,通知NFS客戶端RPC服務。 ④ NFS客戶端獲取到正確的端口,并與NFS 服務建立連接,然后開始存取數據由于NFS的各項功能都需要向RPC服務注冊,所以只有RPC服務才能獲取到NFS服務的各項功能對應的端口號、PID、NFS在主機所監聽的IP等信息,而NFS客戶端也只能通過向RPC服務詢問才能找到正確的端口。也就是說,NFS需要有RPC服務的協助才能成功對外提供服務。 因此,無論是NFS客戶端還是NFS服務器端,都需要首先啟動RPC服務,NFS服務必須在RPC服務啟動之后啟動,客戶端無須啟動NFS服務,但需要啟動RPC服務。
-
RPC
+關注
關注
0文章
111瀏覽量
11534 -
NFS
+關注
關注
1文章
53瀏覽量
26108
原文標題:NFS到底是怎么工作的?
文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論