成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

探析網絡文件系統的演化與發展

系統 Linux
網絡文件系統(NFS)是文件系統之上的一個網絡抽象。從1984 年問世以來持續演變,并已成為分布式文件系統的基礎。本文從NFS的簡短歷史開始,到它的起源,再到它如何演化。然后探索了NFS架構以及NFS的走向。

網絡文件系統(NFS)是文件系統之上的一個網絡抽象,來允許遠程客戶端以與本地文件系統類似的方式,來通過網絡進行訪問。雖然 NFS 不是***個此類系統,但是它已經發展并演變成 UNIX® 系統中***大最廣泛使用的網絡文件系統。NFS 允許在多個用戶之間共享公共文件系統,并提供數據集中的優勢,來最小化所需的存儲空間。

NFS:與以往一樣有用并在不斷演變

網絡文件系統(NFS)從1984 年問世以來持續演變,并已成為分布式文件系統的基礎。當前,NFS(通過 pNFS 擴展)通過網絡對分布的文件提供可擴展的訪問。探索分布式文件系背后的理念,特別是,最近 NFS 文件進展。

NFS 的簡短歷史

***個網絡文件系統 — 稱為 File Access Listener — 由 Digital Equipment Corporation(DEC)在 1976 年開發。Data Access Protocol(DAP)的實施,這是 DECnet 協議集的一部分。比如 TCP/IP,DEC 為其網絡協議發布了協議規范,包括 DAP。

NFS 是***個現代網絡文件系統(構建于 IP 協議之上)。在 20 世紀 80 年代,它首先作為實驗文件系統,由 Sun Microsystems 在內部完成開發。NFS 協議已歸檔為 Request for Comments(RFC)標準,并演化為大家熟知的 NFSv2。作為一個標準,由于 NFS 與其他客戶端和服務器的互操作能力而發展快速。

標準持續地演化為 NFSv3,在 RFC 1813 中有定義。這一新的協議比以前的版本具有更好的可擴展性,支持大文件(超過 2GB),異步寫入,以及將 TCP 作為傳輸協議,為文件系統在更廣泛的網絡中使用鋪平了道路。在 2000 年,RFC 3010(由 RFC 3530 修訂)將 NFS 帶入企業設置。Sun 引入了具有較高安全性,帶有狀態協議的 NFSv4(NFS 之前的版本都是無狀態的)。今天,NFS 是版本 4.1(由 RFC 5661 定義),它增加了對跨越分布式服務器的并行訪問的支持(稱為 pNFS extension)。

NFS 的時間表,包括記錄其特性的特定 RFC ,都在圖 1 中有展示。

 

NFS 協議的時間表

 

圖 1. NFS 協議的時間表

令人驚訝的是,NFS 已經歷了幾乎 30 年的開發。 它代表了一個非常穩定的(及可移植)網絡文件系統,它可擴展、高性能、并達到企業級質量。由于網絡速度的增加和延遲的降低,NFS 一直是通過網絡提供文件系統服務具有吸引力的選擇。甚至在本地網絡設置中,虛擬化驅動存儲進入網絡,來支持更多的移動虛擬機。NFS 甚至支持***的計算模型,來優化虛擬的基礎設施。

NFS 架構

NFS 允許計算的客戶 — 服務器模型(見圖 2)。服務器實施共享文件系統,以及客戶端所連接的存儲。客戶端實施用戶接口來共享文件系統,并加載到本地文件空間當中。

 

NFS 的客戶端 — 服務器架構

 

圖 2. NFS 的客戶端 — 服務器架構

在 Linux® 中,虛擬文件系統交換(VFS)提供在一個主機上支持多個并發文件系統的方法(比如 CD-ROM 上的 International Organization for Standardization [ISO] 9660,以及本地硬盤上的 ext3fs )。VFS 確定需求傾向于哪個存儲,然后使用哪些文件系統來滿足需求。由于這一原因,NFS 是與其他文件系統類似的可插拔文件系統。對于 NFS 來說,唯一的區別是輸入/輸出(I/O)需求無法在本地滿足,而是需要跨越網絡來完成。

一旦發現了為 NFS 指定的需求,VFS 會將其傳遞給內核中的 NFS 實例。 NFS 解釋 I/O 請求并將其翻譯為 NFS 程序(OPEN、ACCESS、CREATE、READ、CLOSE、REMOVE 等等)。這些程序,歸檔在特定 NFS RFC 中,指定了 NFS 協議中的行為。一旦從 I/O 請求中選擇了程序,它會在遠程程序調用(RPC)層中執行。正如其名稱所暗示的,RPC 提供了在系統間執行程序調用的方法。它將封送 NFS 請求,并伴有參數,管理將它們發送到合適的遠程對等級,然后管理并追蹤響應,提供給合適的請求者。

進一步來說,RPC 包括重要的互操作層,稱為外部數據表示(XDR),它確保當涉及到數據類型時,所有 NFS 參與者使用相同的語言。當給定架構執行請求時,數據類型表示可能不同于滿足需求的目標主機上的數據類型。XDR 負責將類型轉換為公共表示(XDR),便于所有架構能夠與共享文件系統互操作。XDR 指定類型字節格式(比如 float)和類型的字節排序(比如修復可變長數組)。雖然 XDR 以其在 NFS 中的使用而聞名,當您在公共應用程序設置中處理多個架構時,它是一個有用的規范。

一旦 XDR 將數據轉換為公共表示,需求就通過網絡傳輸給出傳輸層協議。早期 NFS 采用 Universal Datagram Protocol(UDP),但是,今天 TCP 因為其優越的可靠性而更加通用。

在服務器端,NFS 以相似的風格運行。需求到達網絡協議棧,通過 RPC/XDR(將數據類型轉換為服務器架構) 然后到達 NFS 服務器。NFS 服務器負責滿足需求。需求向上提交給 NFS 守護進程,它為需求標示出目標文件系統樹,并且 VFS 再次用于在本地存儲中獲取文件系統。整個流程在圖 3 中有展示。注意,服務器中的本地文件系統是典型的 Linux 文件系統(比如 ext4fs)。因此,NFS 不是傳統意義上的文件系統,而是訪問遠程文件系統的協議。

 

客戶端和服務器 NFS 堆棧

 

圖 3. 客戶端和服務器 NFS 堆棧

對于高延遲網絡,NFSv4 實現稱為 compound procedure 的程序。這一程序從本質上允許在單個請求中嵌入多個 RPC 調用,來最小化通過網絡請求的 transfer tax。它還為響應實現回調模式。

NFS 協議

從客戶端的角度來說,NFS 中的***個操作稱為 mount。 Mount 代表將遠程文件系統加載到本地文件系統空間中。該流程以對 mount(Linux 系統調用)的調用開始,它通過 VFS 路由到 NFS 組件。確認了加載端口號之后(通過 get_port 請求對遠程服務器 RPC 調用),客戶端執行 RPC mount 請求。這一請求發生在客戶端和負責 mount 協議(rpc.mountd)的特定守護進程之間。這一守護進程基于服務器當前導出文件系統來檢查客戶端請求;如果所請求的文件系統存在,并且客戶端已經訪問了,一個 RPC mount 響應為文件系統建立了文件句柄。客戶端這邊存儲具有本地加載點的遠程加載信息,并建立執行 I/O 請求的能力。這一協議表示一個潛在的安全問題;因此,NFSv4 用內部 RPC 調用替換這一輔助 mount 協議,來管理加載點。

要讀取一個文件,文件必須首先被打開。在 RPC 內沒有 OPEN 程序;反之,客戶端僅檢查目錄和文件是否存在于所加載的文件系統中。客戶端以對目錄的 GETATTR RPC 請求開始,其結果是一個具有目錄屬性或者目錄不存在指示的響應。接下來,客戶端發出 LOOKUP RPC 請求來查看所請求的文件是否存在。如果是,會為所請求的文件發出 GETATTR RPC 請求,為文件返回屬性。基于以上成功的 GETATTRs 和 LOOKUPs,客戶端創建文件句柄,為用戶的未來需求而提供的。

利用在遠程文件系統中指定的文件,客戶端能夠觸發 READ RPC 請求。READ 包含文件句柄、狀態、偏移、和讀取計數。客戶端采用狀態來確定操作是否可執行(那就是,文件是否被鎖定)。偏移指出是否開始讀取,而計數指出所讀取字節的數量。服務器可能返回或不返回所請求字節的數量,但是會指出在 READ RPC 回復中所返回(隨著數據)字節的數量。

NFS 中的創新

NFS 的兩個***版本(4 和 4.1)對于 NFS 來說是最有趣和最重要的。讓我們來看一下 NFS 創新最重要的一些方面。

在 NFSv4 之前,存在一定數量的輔助協議用于加載、鎖定、和文件管理中的其他元素。NFSv4 將這***程簡化為一個協議,并將對 UDP 協議的支持作為傳輸協議移除。NFSv4 還集成支持 UNIX 和基于 Windows® 的文件訪問語義,將本地集成 NFS 擴展到其他操作系統中。

NFSv4.1 介紹針對更高擴展性和更高性能的并行 NFS(pNFS)的概念。 要支持更高的可擴展性,NFSv4.1 具有腳本,與集群化文件系統風格類似的拆分數據/元數據架構。如 圖 4 所展示的,pNFS 將生態系統拆分為三個部分:客戶端、服務器和存儲。您可看到存在兩個路徑:一個用于數據,另一個用于控制。pNFS 將數據布局與數據本身拆分,允許雙路徑架構。當客戶想要訪問文件時,服務器以布局響應。布局描述了文件到存儲設備的映射。當客戶端具有布局時,它能夠直接訪問存儲,而不必通過服務器(這實現了更大的靈活性和更優的性能)。當客戶端完成文件操作時,它會提交數據(變更)和布局。如果需要,服務器能夠請求從客戶端返回布局。

pNFS 實施多個新協議操作來支持這一行為。LayoutGet 和 LayoutReturn 分別從服務器獲取發布和布局,而 LayoutCommit 將來自客戶端的數據提交到存儲庫,以便于其他用戶使用。服務器采用 LayoutRecall 從客戶端回調布局。布局跨多個存儲設備展開,來支持并行訪問和更高的性能。

 

NFSv4.1 的 pNFS 架構

 

圖 4. NFSv4.1 的 pNFS 架構

數據和元數據都存儲在存儲區域中。客戶端可能執行直接 I/O ,給出布局的回執,而 NFSv4.1 服務器處理元數據管理和存儲。雖然這一行為不一定是新的,pNFS 增加功能來支持對存儲的多訪問方法。當前,pNFS 支持采用基于塊的協議(光纖通道),基于對象的協議,和 NFS 本身(甚至以非 pNFS 形式)。

通過 2010 年 9 月發布的對 NFSv2 的請求,繼續開展 NFS 工作。其中以新的提升定位了虛擬環境中存儲的變化。例如,數據復制與在虛擬機環境中非常類似(很多操作系統讀取/寫入和緩存相同的數據)。由于這一原因,存儲系統從整體上理解復制發生在哪里是很可取的。這將在客戶端保留緩存空間,并在存儲端保存容量。NFSv4.2 建議用共享塊來處理這一問題。因為存儲系統已經開始在后端集成處理功能,所以服務器端復制被引入,當服務器可以高效地在存儲后端自己解決數據復制時,就能減輕內部存儲網絡的負荷。其他創新出現了,包括針對 flash 存儲的子文件緩存,以及針對 I/O 的客戶端提示 (潛在地采用 mapadvise 作為路徑)。

NFS 的替代物

雖然 NFS 是在 UNIX 和 Linux 系統中***的網絡文件系統,但它當然不是唯一的選擇。在 Windows® 系統中,ServerMessage Block [SMB](也稱為 CIFS)是最廣泛使用的選項(如同 Linux 支持 SMB一樣,Windows 也支持 NFS)。

***的分布式文件系統之一,在 Linux 中也支持,是 Ceph。Ceph 設計為容錯的分布式文件系統,它具有 UNIX 兼容的 Portable Operating System Interface(POSIX)。您可在 參考資料 中深入了解 Ceph。

其他例子包括 OpenAFS,是 Andrew 分布式文件系統的開源版(來自 Carnegie Mellon 和 IBM),GlusterFS,關注于可擴展存儲的通用分布式文件系統,以及 Lustre,關注于集群計算的大規模并行分布式文件系統。所有都是用于分布式存儲的開源軟件解決方案。

更進一步

NFS 持續演變,并與 Linux 的演變類似(支持低端、嵌入式、和高端性能),NFS 為客戶和企業實施可擴展存儲解決方案。關注 NFS 的未來可能會很有趣,但是根據歷史和近期的情況看,它將會改變人們查看和使用文件存儲的方法。

【編輯推薦】

  1. 基礎詳解:NFS 網絡文件系統
  2. NFS網絡文件系統概念初解
  3. NFS網絡文件系統的優點

 

責任編輯:黃丹 來源: IBMDW
相關推薦

2011-01-13 13:18:38

Linux網絡文件

2010-08-06 12:42:23

NFS網絡文件系統

2010-07-27 10:15:38

NFS網絡文件系統

2010-08-03 11:32:30

NFS網絡文件系統

2020-07-22 14:53:06

Linux系統虛擬文件

2011-07-26 14:53:01

數據庫發展

2010-04-30 17:03:44

Unix文件系統

2013-05-27 14:46:06

文件系統分布式文件系統

2010-04-30 15:51:48

Unix系統

2017-08-14 13:35:36

Linux共享內存tmpfs文件系統

2009-06-10 18:08:14

2017-04-25 15:50:02

sparse傳輸處理

2011-01-13 14:10:30

Linux文件系統

2012-09-19 13:48:33

pNFS文件系統

2010-04-19 09:03:39

Linux文件系統

2018-09-29 11:02:52

WindowsLinux互訪

2014-08-22 15:50:52

WindowsLinux

2010-05-10 19:03:00

Unix文件

2009-04-08 15:36:46

LinuxLustre集群文件系統

2020-01-15 09:10:13

LinuxWindowsmacOS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 8x国产精品视频一区二区 | 国产在线一 | 国产精品久久久久久久久久久久冷 | 永久www成人看片 | 一级毛片视频在线观看 | 免费看a| 国产自产c区 | 日韩欧美中文在线 | av国产精品 | 欧美日韩1区2区3区 欧美久久一区 | 91久色 | 91视频亚洲| 殴美成人在线视频 | 国产精品久久久久国产a级 欧美日韩国产免费 | 国产男女视频网站 | 亚洲在线观看视频 | 欧美精品一二区 | 中文字幕免费在线 | 日韩欧美国产综合 | 日本不卡在线视频 | 97久久精品 | 国产一二区视频 | 国产激情网| 日本午夜免费福利视频 | 成人精品久久久 | 第四色播日韩第一页 | 国产精品免费在线 | 日本精品久久 | 天堂综合 | 色婷婷一区二区三区四区 | 色永久 | 一区二区免费视频 | 亚洲一区二区久久久 | 国产精品免费一区二区 | 成人免费一区二区三区视频网站 | 亚洲一视频| av免费在线播放 | 中文字幕爱爱视频 | 天天爱爱网 | 毛片入口 | 久久99国产精品 |