NFS文件系統

NFS是sun公司提出的一種網絡文件系統,提供對文件系統進行透明遠程的訪問。
它使用一種external data representation(XDR:XDR是SunSoft的開放網絡計算環境的一種功能。XDR提供了一種與體系結構無關的表示數據,解決了數據字節排序的差異、數據字節大小、數據表示和數據對準的方式。在OSI模型中的表示層實現)。NFS是基於RPC(遠程過程調用)來運行的。
當時NFS的設計目標有以下幾個:
(1) 設備與操作系統的無關性
(2) 崩潰後簡單恢復
(3) 透明訪問,就像訪問本地目錄一樣
(4) 在客戶端保持unix語義
(5) 合理的性能,達到本地磁盤訪問的80%的速度
NFS設計包含了協議,服務端,客戶端3個部分。
NFS protocol
NFS 協議使用了Sun RPC機制。RPC是同步的,直到服務端完成調用並返回結果前,客戶端這邊都會一直阻塞等待。這也讓RPC看起來就像是本地過程調用一樣。
NFS協議是一種無狀態協議,每一個過程調用的參數都包含了能完成這個調用的所有信息。服務端無需跟蹤記錄之前的請求。這讓崩潰恢復變得簡單,當服務端崩潰後,客戶端會重發請求知道收到響應。服務端和客戶端都有必要去檢測崩潰,服務端需要檢測客戶端的崩潰以便丟棄之前保留的客戶端狀態,客戶端也需要檢測服務端的崩潰以便重建服務端的狀態。
NFS使用UDP協議和IP協議,因爲UDP是一種不可靠的傳輸協議,我們NFS因其自身無狀態和請求是冪等的,客戶端可以通過重試調用知道數據包被傳輸過去。
最常見的NFS過程參數是一個稱爲文件句柄的結構,它由服務器提供,並由客戶端用來引用文件。文件句柄是不透明的,也就是說,客戶端從不查看文件句柄的內容,但在對文件進行操作時使用它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章