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