目錄
1. nfs簡介
1.1 nfs特點
#1.2 nfs的應用場景
#1.3 nfs的體系組成
2.2 nfs工作機制
2.1 RPC
首頁 常見問題 nfs是什麼

nfs是什麼

Nov 29, 2022 am 11:16 AM
nfs

nfs是指網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的電腦之間透過TCP/IP網路共享資源。 NFS是基於UDP/IP協定的應用,其實作主要是採用遠端過程呼叫RPC機制,RPC提供了一組與機器、作業系統以及低層傳送協定無關的存取遠端檔案的操作。

nfs是什麼

本教學操作環境:linux7.3系統、Dell G3電腦。

1. nfs簡介

網路檔案系統,英文Network File System(NFS),是由SUN公司研製的UNIX表示層協定(presentation layer protocol),能使使用者存取網路上別處的檔案就像在使用自己的電腦一樣。

NFS是基於UDP/IP協定的應用,其實作主要是採用遠端過程呼叫RPC機制,RPC提供了一組與機器、作業系統以及低層傳送協定無關的存取遠端檔案的操作。 RPC採用了XDR的支援。 XDR是一種與機器無關的資料描述編碼的協議,他以獨立與任意機器體系結構的格式對網路上傳送的資料進行編碼和解碼,支援在異質系統之間資料的傳送。

1.1 nfs特點

  • NFS(Network File System)即網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的電腦之間透過TCP/IP網路共享資源
  • 在NFS的應用程式中,本地NFS的客戶端應用程式可以透明地讀寫位於遠端NFS伺服器上的文件,就像存取本地文件一樣
  • nfs適用於Linux與Unix之間實作檔案共用,無法實作Linux與Windows間的檔案共用功能
  • nfs是運作在應用程式層的協議,其監聽於2049/tcp與2049 /udp套接字上
  • nfs服務只能基於IP進行認證

#1.2 nfs的應用場景

nfs有很多實際應用場景,以下是一些常用的場景:

  • 多個機器共用一台CDROM或其他裝置。這對於在多台機器中安裝軟體來說更加便宜與方便
  • 在大型網路中,配置一台中心NFS伺服器用來放置所有用戶的home目錄可能會帶來便利。這些目錄能被輸出到網路以便用戶不管在哪台工作站上登錄,總是能得到相同的home目錄
  • 不同客戶端可在NFS上觀看影視文件,節省本地空間
  • 在客戶端完成的工作數據,可以備份保存到NFS伺服器上用戶自己的路徑下

#1.3 nfs的體系組成

nfs體系至少有兩個主要部分:

  • 一台nfs伺服器
  • 若干台客戶機

nfs體系的架構圖如下:

nfs是什麼

客戶機透過TCP/IP網路遠端存取存放在NFS伺服器上的資料
在NFS伺服器正式啟用前,需要根據實際環境和需求,設定一些NFS參數

2. nfs工作機制

nfs是基於rpc來實作網路檔案系統共享的。所以我們先來說說rpc。

2.1 RPC

RPC(Remote Procedure Call Protocol),遠端過程呼叫協議,它是一種透過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協定。

RPC協定假定某些傳輸協定的存在,如TCP或UDP,為通訊程序之間攜帶資訊資料。在OSI網路通訊模型中,RPC跨越了傳輸層和應用層。

RPC採用客戶機/伺服器模式。請求程式就是一個客戶機,而服務提供者就是一個伺服器。

nfs是什麼

rpc工作機制如上圖所示,以下來描述它:

  • 客戶端程式發起一個RPC系統呼叫基於TCP協定傳送給另一台主機(服務端)
  • 服務端監聽在某個套接字上,當收到客戶端的系統呼叫請求以後,將收到的請求和其所傳遞的參數通過本地的系統調用執行一遍,並將結果返回給本地的服務進程
  • 服務端的服務進程收到返回的執行結果後將其封裝成回應報文,再透過rpc協定傳回給客戶端
  • 客戶端呼叫程序接收答覆訊息,取得進程結果,然後呼叫執行繼續進行

2.2 nfs工作機制

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是什麼

    下面透過一個例子來說明NFS的簡單工作流程:
  • 需求:查看
  • file
  • 檔案的信息,此
  • file
  • 儲存在遠端NFS服務端主機上(掛載在本機目錄/shared/nfs中)

  • 客戶端發起檢視file資訊的指令(ls file)給內核,核心透過NFS模組得知此文件並非本機檔案系統中的文件,而是在遠端NFS主機上的一個檔案
  • 客戶端主機的核心透過RPC協定把檢視file訊息的指令(系統呼叫)封裝成rpc請求透過TCP的111埠傳送給NFS服務端主機的portmapper
  • NFS服務端主機的portmapper(RPC服務程序)告訴客戶端說NFS服務端的mountd服務在某某連接埠上,你去找它驗證
  • ##因為mountd在提供服務時必須要向portmapper註冊一個埠號,所以portmapper是知道其工作於哪個埠的
  • 客戶端得知服務端的mountd程序埠號後,經過已知的服務端mountd連接埠號碼請求驗證
mountd收到驗證請求後驗證發起請求的客戶端是否在允許存取此NFS檔案系統的客戶端清單中,在則允許存取(發放一個令牌,持令牌去找nfsd),否則拒絕存取

驗證透過後客戶端持mountd發放的令牌去找服務端的nfsd進程,請求查看某檔

服務端的nfsd進程發起本機系統調用,向核心請求查看客戶端要查看的檔案的資訊######服務端的核心執行nfsd請求的系統調用,並將結果傳回給nfsd服務######nfsd進程收到核心傳回的結果後將其封裝成rpc請求封包並透過tcp/ip協定傳回給客戶端#########更多相關知識,請造訪###常見問題###欄位! ###

以上是nfs是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

linux NFS是什麼及怎麼用 linux NFS是什麼及怎麼用 May 12, 2023 pm 04:13 PM

nfs,是networkfilesystem的簡寫,即網路檔案系統。網路檔案系統是freebsd支援的檔案系統中的一種,也被稱為nfs.nfs允許一個系統在網路上與他人共用目錄和檔案。透過使用nfs,使用者和程式可以像存取本機檔案一樣存取遠端系統上的檔案。 nfs基於rpc協議,nfs本身只是起到共享的作用而和客戶端進行連接和數據傳輸則是rpc協議的功能nfs主要透過兩個daemon來進行控制:1.rpc.nfsd-------它用來控制客戶端是否可以連接到,nfsserver2.rpc.mount

linux下NFS安裝配置的方法是什麼 linux下NFS安裝配置的方法是什麼 May 19, 2023 pm 07:46 PM

1,伺服器端軟體:安裝nfs-utils和portmap(rpcbind)nfs-utils:提供rpc.nfsd及rpc.mountd這兩個nfsdaemons的套件portmap:nfs其實可以被看作是一個rpcserverprogram,而要啟動一個rpcserverprogram ,都要做好port的對應工作,而這樣的任務就是由portmap來完成的。通俗的說portmap就是用來做port的mapping的。 nfs需要啟動的daemonspc.nfsd:主要複雜登陸權限檢測等必須por

linux如何透過nfs網路檔案系統掛載設置 linux如何透過nfs網路檔案系統掛載設置 May 15, 2023 pm 05:25 PM

nfs簡介nfs是networkfilesystem的簡寫,即網路檔案系統.網路檔案系統是freebsd支援的檔案系統中的一種,也被稱為nfs.nfs允許一個系統在網路上與他人共用目錄和檔案。透過使用nfs,使用者和程式可以像存取本機檔案一樣存取遠端系統上的檔案。 nfs最顯而易見的好處:  1.本機工作站使用較少的磁碟空間,因為通常的資料可以存放在一台機器上而且可以透過網路存取。  2.使用者不必在每個網路上機器裡頭都有一個home目錄。 home目錄可以放在nfs伺服器上並且在網路上處處可用。 

linux nfs共享儲存服務詳細解釋。 linux nfs共享儲存服務詳細解釋。 Feb 19, 2024 pm 06:00 PM

LinuxNFS(NetworkFileSystem)是一種協定和服務,用於在網路上共用檔案系統。客戶端電腦可以透過網路存取遠端伺服器上的檔案和目錄,實現類似本機檔案的操作。客戶端-伺服器模型:LinuxNFS採用客戶端-伺服器模型。伺服器是檔案系統的提供者,它負責管理檔案和目錄,並回應客戶端的請求。客戶端是使用NFS協定的計算機,透過網路連接到伺服器並請求檔案和目錄的存取權限。檔案共用:透過LinuxNFS,伺服器上的檔案系統可以被共用給多個客戶端。客戶端可以像存取本機檔案一樣,讀取、寫入、

nfs是什麼 nfs是什麼 Nov 29, 2022 am 11:16 AM

nfs是指網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的電腦之間透過TCP/IP網路共享資源。 NFS是基於UDP/IP協定的應用,其實作主要是採用遠端過程呼叫RPC機制,RPC提供了一組與機器、作業系統以及低層傳送協定無關的存取遠端檔案的操作。

nginx如何建置NFS伺服器 nginx如何建置NFS伺服器 May 23, 2023 pm 12:55 PM

簡介什麼是nfs伺服器?NFS(NetworkFileSystem)即網絡檔案系統,它最大的功能就是可以透過網絡,讓不同的機器、不同的作業系統可以共享彼此的文件,使用者存取網路上別處的檔案就像在使用自己的計算機一樣。為什麼需要nfs伺服器到同一個地方拿數據,保障網站數據的一致性,不管負載平衡器將請求分配到哪台後端的伺服器,客戶機看到的內容是一致的。 nfs伺服器是否是最佳的解決方法不是的,nfs是比較廉價的解決方法1,一般公司不會使用,效能不是特別高,建議使用專用的儲存伺服器。 nfs的優點和缺點優

如何在Linux上設定高可用的網路儲存(如NFS) 如何在Linux上設定高可用的網路儲存(如NFS) Jul 06, 2023 am 09:33 AM

如何在Linux上設定高可用的網路儲存(如NFS)介紹:網路檔案系統(NFS)是一種常用的分散式檔案系統,可讓不同的電腦之間共用檔案。在Linux環境下,我們可以透過設定高可用的網路儲存來確保系統的穩定性和可靠性。本文將介紹如何在Linux上設定高可用的NFS,並提供一些程式碼範例。步驟一:安裝NFS首先,我們需要在所有節點上安裝NFS軟體套件。在大多數Lin

一條指令徹底刪除掃描出來的有害程序 一條指令徹底刪除掃描出來的有害程序 Feb 19, 2024 pm 01:57 PM

一條指令徹底刪除掃描出來的有害程式作者:田逸(formyz)一個NFS伺服器,為多個Web專案所共用。這些目錄包括PHP程式、圖片、HTML頁面和使用者上傳的文件和配件等。因為某些Web框架古老,存在諸如不對上傳文件做嚴格的安全性檢查,雖然此NFS伺服器位於受保護的內部網絡,但任然被別有用心的人上傳了大量的惡意文件。強烈要求程式設計師進行程式(Discuz)更新,答案說更新難度太大,無法在程式上處理。從系統管理階層面上,臨時的措施只是安裝shadu軟體,對這個共享目錄進行掃描,然後刪除這些有害的文