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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

NFS到底是怎么工作的

阿銘linux ? 來源:阿銘linux ? 2023-02-10 16:57 ? 次閱讀

NFS介紹

NFS是Network File System的縮寫,NFS最早由Sun公司開發(fā),分2,3,4三個版本,2和3由Sun起草開發(fā),4.0開始Netapp公司參與并主導開發(fā)。NFS數(shù)據(jù)傳輸基于RPC協(xié)議,RPC為Remote Procedure Call的簡寫。

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

NFS應用場景很簡單,當多臺機器需要共享一份數(shù)據(jù)時,就用NFS。如上圖,sdb1為A機器上的一塊盤,A機器把sdb1上的一個目錄共享出來了,然后B機器和C機器呢通過NFS將A機器共享的目錄掛載到了它們自己的服務器上,看起來就像是它們本地的一塊盤,此時無論是A機器,還是B機器,又或者是C機器,到這個掛載的目錄里去寫文件,另外的兩臺機器都會跟著寫。

NFS工作原理

首先,說一個結(jié)論:NFS依賴RPC,RPC存在的意義是為了解決NFS服務端和客戶端通信端口并且端口不固定的問題。也就是說,NFS的服務端和客戶端通信時,并不是只有一個端口,因為畢竟需要數(shù)據(jù)傳輸,數(shù)據(jù)的讀、寫,它們中間復雜得很,一個端口做不了這么多事情,所以就需要很多端口來實現(xiàn)這些操作。 最麻煩的是,端口還不固定,所以就得有一個中心,來記錄這些不固定的端口,怎么記錄呢,這里就用到了RPC。 當訪問程序通過NFS客戶端向NFS服務器端存取文件時,其請求數(shù)據(jù)流程大致如下: ① NFS服務啟動時,首先會將端口信息登記到NFS服務端的RPC服務(也就是圖中的rpcbind)里。

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

② 用戶在NFS客戶端上發(fā)出存取NFS文件請求,這時NFS客戶端的RPC服務就會通過網(wǎng)絡向NFS服務器端的RPC服務的111端口發(fā)出NFS文件存取功能的詢問請求。

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

③ NFS服務端的RPC服務找到對應已注冊的NFS端口后,通知NFS客戶端RPC服務。 ④ NFS客戶端獲取到正確的端口,并與NFS 服務建立連接,然后開始存取數(shù)據(jù)由于NFS的各項功能都需要向RPC服務注冊,所以只有RPC服務才能獲取到NFS服務的各項功能對應的端口號、PID、NFS在主機所監(jiān)聽的IP等信息,而NFS客戶端也只能通過向RPC服務詢問才能找到正確的端口。也就是說,NFS需要有RPC服務的協(xié)助才能成功對外提供服務。 因此,無論是NFS客戶端還是NFS服務器端,都需要首先啟動RPC服務,NFS服務必須在RPC服務啟動之后啟動,客戶端無須啟動NFS服務,但需要啟動RPC服務。

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

    關注

    0

    文章

    110

    瀏覽量

    11483
  • NFS
    NFS
    +關注

    關注

    1

    文章

    52

    瀏覽量

    26063

原文標題:NFS到底是怎么工作的?

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

收藏 人收藏

    評論

    相關推薦

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

    想請問一下功放和運放到底是什么區(qū)別,感覺只要接一個小負載,運放的輸出電流也可以很大???到底有什么區(qū)別啊
    發(fā)表于 09-10 07:00

    運放的輸入電容到底是什么?

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

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

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

    對于STM8的固件庫,到底是怎么對文件進行配置的?

    對于STM8的固件庫,到底是怎么對文件進行配置的?
    發(fā)表于 05-17 15:59

    共享單車到底是什么通信原理

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

    共享單車到底是什么通信原理?

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

    請問M487KMCAN的SRAM到底是128KB還是160K?

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

    去耦濾波電容怎么布局擺放,到底是先大后小還是先小后大?

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

    請問AD9684最低采樣率到底是多少?

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

    請問AD8603的電源供電范圍到底是多少呢?

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

    呼吸燈到底是如何影響人的視覺的?

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

    請問單片機的中斷系統(tǒng)到底是什么?

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

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

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

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

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

    單片機的“性能”到底是什么?

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