網路檔案系統(NFS)

2021-10-05 20:51:09 字數 2177 閱讀 3252

分布式計算的出現以分布式檔案系統的引入為標誌。這樣的系統涉及多個客戶端計算機和乙個或幾個伺服器。伺服器將資料儲存在其磁碟上,客戶端可能通過某些協議訊息請求資料。

分布式檔案系統的優點:

分布式檔案系統架構:

即使是簡單的客戶端/伺服器體系結構,也比以前在os中討論的物理檔案系統涉及更多的元件。該體系結構包括乙個客戶端檔案系統和乙個伺服器端檔案系統。客戶端應用程式發出系統呼叫(例如read(),write(),open(),close()等)以訪問客戶端檔案系統上的檔案,從而從伺服器上檢索檔案。有趣的是,對於客戶端應用程式,此過程似乎與從物理磁碟請求資料沒有什麼不同,因為這樣做不需要特殊的api。就檔案訪問而言,這種現象稱為透明性。客戶端檔案系統執行命令來服務這些系統呼叫。

例如,假設客戶端應用程式發出了read()系統呼叫。然後,客戶端檔案系統向伺服器端檔案系統傳送訊息,以從伺服器磁碟中讀取乙個塊,並將資料返回給客戶端。最後,它將這些資料緩衝到read()緩衝區中,並完成系統呼叫。

伺服器端檔案系統也簡稱為檔案伺服器

sun的網路檔案系統:

最早成功的分布式系統可以歸功於開發網路檔案系統(nfs)的sun microsystems。nfsv2是多年來遵循的標準協議,其設計目的是實現簡單,快速的伺服器崩潰恢復。在基於多客戶端和單伺服器的網路體系結構中,此目標至關重要,因為伺服器崩潰的一瞬間意味著所有客戶端都無法使用。整個系統故障。

有狀態協議會使崩潰變得複雜。考慮客戶端a試圖從伺服器訪問某些資料。但是,在第一次讀取後,伺服器崩潰了。現在,當伺服器啟動並執行時,客戶端a發出第二個讀取請求。但是,伺服器不知道客戶端正在引用哪個檔案,因為所有這些資訊都是臨時的,並且在崩潰期間丟失了。

無狀態協議為我們提供了幫助。這樣的協議被設計為不在伺服器中儲存任何狀態資訊。伺服器不知道客戶端在做什麼—它們正在快取什麼塊,客戶端開啟了哪些檔案以及它們當前的檔案指標在**。伺服器僅提供服務客戶請求所需的所有資訊。如果發生伺服器崩潰,則客戶端只需要重試該請求即可。由於其簡單性,nfs實現了無狀態協議。

檔案控制代碼:

nfs使用檔案控制代碼來唯一標識正在執行當前操作的檔案或目錄。它由以下元件組成:

檔案屬性:

「檔案屬性」是nfs術語中常用的術語。這是跟蹤檔案元資料的統稱,包括檔案建立時間,最後修改時間,大小,所有權許可權等。可以通過在檔案上呼叫stat()來訪問此檔案。

nfsv2協議:

下面列出了一些常見的協議訊息。 資訊

描述nfsproc_getattr

給定檔案控制代碼,返回檔案屬性。

nfsproc_setattr

設定/更新檔案屬性。

nfsproc_lookup

給定檔案控制代碼和要查詢的檔名,返回檔案控制代碼。

nfsproc_read

給定檔案控制代碼,偏移量,計數資料和屬性,即可讀取資料。

nfsproc_write

給定檔案控制代碼,偏移量,計數資料和屬性,將資料寫入檔案。

nfsproc_create

給定目錄控制代碼,檔名和屬性,將建立乙個檔案。

nfsproc_remove

給定目錄控制代碼和檔名,刪除該檔案。

nfsproc_mkdir

給定目錄控制代碼,目錄名稱和屬性,將建立乙個新目錄。

lookup協議訊息用於獲取檔案控制代碼,以進一步訪問資料。nfs掛載協議有助於獲取檔案系統中根(/)目錄的目錄控制代碼。如果客戶端應用程式開啟檔案/abc.txt,則客戶端檔案系統將通過根(/)檔案控制代碼向伺服器傳送lookup請求,以查詢名為abc.txt的檔案。如果查詢成功,則返回檔案屬性。

客戶端快取:

為了提高nfs的效能,分布式檔案系統會將資料以及從伺服器讀取的元資料快取到客戶端上。這稱為客戶端快取。這減少了後續客戶端訪問所花費的時間。快取記憶體還用作寫入的臨時緩衝區。由於所有寫入都一次性寫入伺服器,因此這有助於進一步提高效率。

NFS網路檔案系統

一 samba伺服器與nfs伺服器的區別 samba伺服器用於建立windows與linux虛擬機器之間的檔案共享.nfs伺服器用於建立linux虛擬機器與arm嵌入式系統之間的檔案共享.二 nfs網路檔案系統的建立 1 在linux虛擬機器下執行選單 系統設定 伺服器設定 nfs伺服器,開啟nfs...

NFS 網路檔案系統

1.nfs network filesystem 網路檔案系統 讓不同的機器,不同的os在網路上共享目錄和檔案。通過nfs,使用者和程式可以象訪問本地檔案一樣訪問遠端系統上的檔案。4.配置nfs 共享的nfs目錄在 etc exports中列出,這個檔案控制對目錄的共享。書寫規則是 共享目錄 主機 ...

網路檔案系統NFS

1 介紹 network file system,由sun公司在1984年開發,目前nfs被普遍使用。nfs4.0以前的版本在效能上存在瓶頸,nfs4.1已經是pnfs了,即並行nfs?目的是在安裝unix計算機之間實現磁碟檔案共享,構建於ip協議之上,是標準的c s架構,nfs伺服器輸出 expo...