網路文件系統
出自 MBA智库百科(https://wiki.mbalib.com/)
網路文件系統(Network File System,NFS)
目錄 |
網路文件系統的概述[1]
網路文件系統是一種將遠程主機上的分區(目錄)經網路掛載到本地系統的一種機制,通過對網路文件系統的支持,用戶可以在本地系統上像操作本地分區一樣來對遠程主機的共用分區(目錄)進行操作,這是網路環境下網路操作系統所具有的特殊的功能。
NFS最初由Sun Microsystem公司為其UNIX工作站設計和實現的一種網路操作系統,後經互聯網工程任務組(Intemet Engineering Task Force,IETF)擴展,現在能夠支持在不同類型的系統之間通過網路進行文件共用。NFS讓安裝進程通過TCP/IP,以遠程過程調用(RPC)的方法訪問伺服器方的資源,並不生成該資源的副本。這種訪問方式對用戶是完全透明的,客戶機上的用戶可以像訪問本地文件一樣方便地訪問遠程伺服器上的文件。
目前,NFS可用於不同類型電腦、操作系統、網路架構和傳輸協議運行環境中的網路文件遠程訪問和共用。最常用的是在MS.DOS、Windows和VMS上存取UNIX系統中的文件。由於NFS定義了一個抽象的文件系統模型,提供異構系統環境中的文件共用,在不同的操作系統下,NFS被映射為本地文件系統的語義,使對遠地異構文件系統的操作可以與對本地文件系統的操作一樣。
網路文件系統的優點[2]
NFS文件系統的優點如下。
(1)本地工作站使用更少的磁碟空間,因為通常的數據可以存放在一臺機器上而且可以通過網路訪問到。
(2)用戶可以通過網路訪問共用目錄,而不必在電腦上為每個用戶都創建工作目錄。
(3)軟碟機、CDROM等存儲設備可以在網路上面共用使用。這可以減少整個網路上的移動介質設備的數量。
(4)NFS至少有一臺伺服器和一臺(或者更多)客戶機兩個主要部分。客戶機遠程訪問存放在伺服器上的數據。需要配置啟動NFS等相關服務。
網路文件系統的優點正好適合嵌入式Linux系統開發。目標板沒有足夠的存儲空間,Linux內核掛接網路根文件系統可以避免使用本地存儲介質,快速建立Linux系統。這樣可以方便地運行和調試應用程式。
NFS的工作原理[3]
啟動NFS文件伺服器時,/etc/rc.10cal會自動啟動exportfs程式,指定可以導出的文件或目錄,而所能掛載的也只能是其所指定的目錄。NFS是基於XDR/RPC協議的。XDR(External Data Representation,即外部數據表示法)提供一種方法,把數據從一種格式轉換成另一種標準數據格式表示法,確保在不同的電腦、操作系統及稈序語言中,所有數據代表的意義部是相同的。
RPC(Remote Procedure Call,遠程程式調用)請求遠程電腦給予服務。客戶機通過網路傳送RPC到遠程汁算機,請求服務。
NFS運用RPC傳送數據的方法有以下幾步:
1.客戶送出信息,請求服務。
2.客戶占位程式把客戶送出的參數轉換成XDR標準格式,並用系統調用把信息送到網路—卜。
3.信息經過網路送達遠程主機系統。
4.遠程主機將接受到的信息傳給伺服器占位程式。
5.把XDR形式的數據,轉換成符合主機端的格式,取出客戶發出的服務請求參數,送給伺服器。
6.伺服器給客戶發送服務的逆向傳送過程。