0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NFS到底是怎么工作的

阿銘linux ? 來(lái)源:阿銘linux ? 2023-02-10 16:57 ? 次閱讀

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ě)。

0837745c-a862-11ed-bfe3-dac502259ad0.png

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)里。

0851705a-a862-11ed-bfe3-dac502259ad0.png

② 用戶在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)求。

086cf370-a862-11ed-bfe3-dac502259ad0.png

③ 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ù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RPC
    RPC
    +關(guān)注

    關(guān)注

    0

    文章

    110

    瀏覽量

    11477
  • NFS
    NFS
    +關(guān)注

    關(guān)注

    1

    文章

    52

    瀏覽量

    26051

原文標(biāo)題:NFS到底是怎么工作的?

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    功放和運(yùn)放到底是什么區(qū)別?

    想請(qǐng)問(wèn)一下功放和運(yùn)放到底是什么區(qū)別,感覺(jué)只要接一個(gè)小負(fù)載,運(yùn)放的輸出電流也可以很大?。?b class='flag-5'>到底有什么區(qū)別啊
    發(fā)表于 09-10 07:00

    運(yùn)放的輸入電容到底是什么?

    我想請(qǐng)問(wèn)一下運(yùn)放的輸入電容到底是什么?
    發(fā)表于 09-04 06:52

    LMH6502的輸入電壓到底是多少?

    LMH6502的輸入電壓到底是多少,我稍微給如大一點(diǎn)點(diǎn)的信號(hào),放大不行還能接受,我衰減都失真,
    發(fā)表于 08-27 07:02

    共享單車(chē)到底是什么通信原理

    我們經(jīng)常騎的共享單車(chē)到底是什么通信原理,有人了解過(guò)嗎? 一、智能車(chē)鎖 共享單車(chē)最核心的硬件是智能車(chē)鎖,主要用于實(shí)現(xiàn)控制和定位功能。
    發(fā)表于 04-09 10:33 ?630次閱讀
    共享單車(chē)<b class='flag-5'>到底是</b>什么通信原理

    共享單車(chē)到底是什么通信原理?

    我們經(jīng)常騎的共享單車(chē)到底是什么通信原理,有人了解過(guò)嗎?下面寶藍(lán)小編就帶大家了解下。
    的頭像 發(fā)表于 02-25 10:32 ?1137次閱讀
    共享單車(chē)<b class='flag-5'>到底是</b>什么通信原理?

    請(qǐng)問(wèn)M487KMCAN的SRAM到底是128KB還是160K?

    M487KMCAN的SRAM到底是128 KB 還是160K
    發(fā)表于 01-16 07:18

    去耦濾波電容怎么布局?jǐn)[放,到底是先大后小還是先小后大?

    去耦濾波電容怎么布局?jǐn)[放,到底是先大后小還是先小后大?
    的頭像 發(fā)表于 12-04 15:43 ?2043次閱讀
    去耦濾波電容怎么布局?jǐn)[放,<b class='flag-5'>到底是</b>先大后小還是先小后大?

    請(qǐng)問(wèn)AD9684最低采樣率到底是多少?

    關(guān)于AD9684最低采樣率,數(shù)據(jù)手冊(cè)有兩處描述,但是不一致。請(qǐng)問(wèn)AD9684最低采樣率到底是多少?
    發(fā)表于 12-04 06:34

    請(qǐng)問(wèn)AD8603的電源供電范圍到底是多少呢?

    ADI官網(wǎng)上的數(shù)據(jù)手冊(cè)給出的電源電壓為1.8V-5V 但在ADI參考電路合集1中的AD8603采用15V電源供電 請(qǐng)問(wèn)AD8603的電源供電范圍到底是多少呢?
    發(fā)表于 11-15 08:15

    呼吸燈到底是如何影響人的視覺(jué)的?

    呼吸燈到底是通過(guò)使燈快速亮滅還是改變平均電壓來(lái)影響人的視覺(jué)的
    發(fā)表于 11-08 06:04

    請(qǐng)問(wèn)單片機(jī)的中斷系統(tǒng)到底是什么?

    中斷系統(tǒng)到底是什么?還搞不定
    發(fā)表于 11-07 07:40

    上拉電阻到底是咋完成上拉的???

    上拉電阻到底是咋完成上拉的啊
    發(fā)表于 10-31 06:52

    什么是虛擬線程?虛擬線程到底是做什么用的呢?

    虛擬線程是在Java并發(fā)領(lǐng)域添加的一個(gè)新概念,那么虛擬線程到底是做什么用的呢?
    的頭像 發(fā)表于 10-29 10:23 ?2923次閱讀
    什么是虛擬線程?虛擬線程<b class='flag-5'>到底是</b>做什么用的呢?

    單片機(jī)的“性能”到底是什么?

    單片機(jī)的“性能”到底是什么?
    的頭像 發(fā)表于 10-24 16:58 ?458次閱讀
    單片機(jī)的“性能”<b class='flag-5'>到底是</b>什么?

    AT指令,AT固件,這個(gè)AT到底是什么意思?

    我們常說(shuō)AT指令,AT固件,這個(gè)AT到底是什么意思?
    發(fā)表于 09-26 07:25