nfs是指網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的計算機之間通過TCP/IP網路共用資源。NFS是基於UDP/IP協定的應用,其實現主要是採用遠端過程呼叫RPC機制,RPC提供了一組與機器、作業系統以及低層傳送協定無關的存取遠端檔案的操作。
php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:
本教學操作環境:linux7.3系統、Dell G3電腦。
網路檔案系統,英文Network File System(NFS),是由SUN公司研製的UNIX表示層協定(presentation layer protocol),能使使用者存取網路上別處的檔案就像在使用自己的計算機一樣。
NFS是基於UDP/IP協定的應用,其實現主要是採用遠端過程呼叫RPC機制,RPC提供了一組與機器、作業系統以及低層傳送協定無關的存取遠端檔案的操作。RPC採用了XDR的支援。XDR是一種與機器無關的資料描述編碼的協定,他以獨立與任意機器體系結構的格式對網上傳送的資料進行編碼和解碼,支援在異構系統之間資料的傳送。
nfs有很多實際應用場景,以下是一些常用的場景:
nfs體系至少有兩個主要部分:
nfs體系的架構圖如下:
客戶機通過TCP/IP網路遠端存取存放在NFS伺服器上的資料
在NFS伺服器正式啟用前,需要根據實際環境和需求,設定一些NFS引數
nfs是基於rpc來實現網路檔案系統共用的。所以我們先來說說rpc。
RPC(Remote Procedure Call Protocol),遠端過程呼叫協定,它是一種通過網路從遠端計算機程式上請求服務,而不需要了解底層網路技術的協定。
RPC協定假定某些傳輸協定的存在,如TCP或UDP,為通訊程式之間攜帶資訊資料。在OSI網路通訊模型中,RPC跨越了傳輸層和應用層。
RPC採用客戶機/伺服器模式。請求程式就是一個客戶機,而服務提供程式就是一個伺服器。
rpc工作機制如上圖所示,下面來描述一下它:
NFS伺服器端執行著四個程序:
nfsd
mountd
idmapd
portmapper
idmapd
實現使用者帳號的集中對映,把所有的帳號都對映為NFSNOBODY,但是在存取時卻能以本地使用者的身份去存取
mountd
用於驗證使用者端是否在允許存取此NFS檔案系統的使用者端列表中,在則允許存取(發放一個令牌,持令牌去找nfsd),否則拒絕存取
mountd的伺服器埠是隨機的,由rpc服務(portmapper)提供隨機埠號
nfsd
nfs的守護行程,監聽在2049/tcp和2049/udp埠上
不負責檔案儲存(由NFS伺服器本地核心負責排程儲存),用於理解使用者端發起的rpc請求,並將其轉交給本地核心,而後儲存在指定的檔案系統上
portmapper
NFS伺服器的rpc服務,其監聽於111/TCP和111/UDP通訊端上,用於管理遠端過程呼叫(RPC)
下面通過一個例子來說明NFS的簡單工作流程:
需求:檢視file檔案的資訊,此file儲存在遠端NFS伺服器端主機上(掛載在本地目錄/shared/nfs中)
因為mountd在提供服務時必須要向portmapper註冊一個埠號,所以portmapper是知道其工作於哪個埠的
更多相關知識,請存取欄目!
以上就是nfs是什麼的詳細內容,更多請關注TW511.COM其它相關文章!