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

探析網(wǎng)絡(luò)文件系統(tǒng)的演化與發(fā)展

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

網(wǎng)絡(luò)文件系統(tǒng)(NFS)是文件系統(tǒng)之上的一個(gè)網(wǎng)絡(luò)抽象,來允許遠(yuǎn)程客戶端以與本地文件系統(tǒng)類似的方式,來通過網(wǎng)絡(luò)進(jìn)行訪問。雖然 NFS 不是***個(gè)此類系統(tǒng),但是它已經(jīng)發(fā)展并演變成 UNIX® 系統(tǒng)中***大最廣泛使用的網(wǎng)絡(luò)文件系統(tǒng)。NFS 允許在多個(gè)用戶之間共享公共文件系統(tǒng),并提供數(shù)據(jù)集中的優(yōu)勢,來最小化所需的存儲(chǔ)空間。

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

網(wǎng)絡(luò)文件系統(tǒng)(NFS)從1984 年問世以來持續(xù)演變,并已成為分布式文件系統(tǒng)的基礎(chǔ)。當(dāng)前,NFS(通過 pNFS 擴(kuò)展)通過網(wǎng)絡(luò)對分布的文件提供可擴(kuò)展的訪問。探索分布式文件系背后的理念,特別是,最近 NFS 文件進(jìn)展。

NFS 的簡短歷史

***個(gè)網(wǎng)絡(luò)文件系統(tǒng) — 稱為 File Access Listener — 由 Digital Equipment Corporation(DEC)在 1976 年開發(fā)。Data Access Protocol(DAP)的實(shí)施,這是 DECnet 協(xié)議集的一部分。比如 TCP/IP,DEC 為其網(wǎng)絡(luò)協(xié)議發(fā)布了協(xié)議規(guī)范,包括 DAP。

NFS 是***個(gè)現(xiàn)代網(wǎng)絡(luò)文件系統(tǒng)(構(gòu)建于 IP 協(xié)議之上)。在 20 世紀(jì) 80 年代,它首先作為實(shí)驗(yàn)文件系統(tǒng),由 Sun Microsystems 在內(nèi)部完成開發(fā)。NFS 協(xié)議已歸檔為 Request for Comments(RFC)標(biāo)準(zhǔn),并演化為大家熟知的 NFSv2。作為一個(gè)標(biāo)準(zhǔn),由于 NFS 與其他客戶端和服務(wù)器的互操作能力而發(fā)展快速。

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

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

 

NFS 協(xié)議的時(shí)間表

 

圖 1. NFS 協(xié)議的時(shí)間表

令人驚訝的是,NFS 已經(jīng)歷了幾乎 30 年的開發(fā)。 它代表了一個(gè)非常穩(wěn)定的(及可移植)網(wǎng)絡(luò)文件系統(tǒng),它可擴(kuò)展、高性能、并達(dá)到企業(yè)級質(zhì)量。由于網(wǎng)絡(luò)速度的增加和延遲的降低,NFS 一直是通過網(wǎng)絡(luò)提供文件系統(tǒng)服務(wù)具有吸引力的選擇。甚至在本地網(wǎng)絡(luò)設(shè)置中,虛擬化驅(qū)動(dòng)存儲(chǔ)進(jìn)入網(wǎng)絡(luò),來支持更多的移動(dòng)虛擬機(jī)。NFS 甚至支持***的計(jì)算模型,來優(yōu)化虛擬的基礎(chǔ)設(shè)施。

NFS 架構(gòu)

NFS 允許計(jì)算的客戶 — 服務(wù)器模型(見圖 2)。服務(wù)器實(shí)施共享文件系統(tǒng),以及客戶端所連接的存儲(chǔ)。客戶端實(shí)施用戶接口來共享文件系統(tǒng),并加載到本地文件空間當(dāng)中。

 

NFS 的客戶端 — 服務(wù)器架構(gòu)

 

圖 2. NFS 的客戶端 — 服務(wù)器架構(gòu)

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

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

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

一旦 XDR 將數(shù)據(jù)轉(zhuǎn)換為公共表示,需求就通過網(wǎng)絡(luò)傳輸給出傳輸層協(xié)議。早期 NFS 采用 Universal Datagram Protocol(UDP),但是,今天 TCP 因?yàn)槠鋬?yōu)越的可靠性而更加通用。

在服務(wù)器端,NFS 以相似的風(fēng)格運(yùn)行。需求到達(dá)網(wǎng)絡(luò)協(xié)議棧,通過 RPC/XDR(將數(shù)據(jù)類型轉(zhuǎn)換為服務(wù)器架構(gòu)) 然后到達(dá) NFS 服務(wù)器。NFS 服務(wù)器負(fù)責(zé)滿足需求。需求向上提交給 NFS 守護(hù)進(jìn)程,它為需求標(biāo)示出目標(biāo)文件系統(tǒng)樹,并且 VFS 再次用于在本地存儲(chǔ)中獲取文件系統(tǒng)。整個(gè)流程在圖 3 中有展示。注意,服務(wù)器中的本地文件系統(tǒng)是典型的 Linux 文件系統(tǒng)(比如 ext4fs)。因此,NFS 不是傳統(tǒng)意義上的文件系統(tǒng),而是訪問遠(yuǎn)程文件系統(tǒng)的協(xié)議。

 

客戶端和服務(wù)器 NFS 堆棧

 

圖 3. 客戶端和服務(wù)器 NFS 堆棧

對于高延遲網(wǎng)絡(luò),NFSv4 實(shí)現(xiàn)稱為 compound procedure 的程序。這一程序從本質(zhì)上允許在單個(gè)請求中嵌入多個(gè) RPC 調(diào)用,來最小化通過網(wǎng)絡(luò)請求的 transfer tax。它還為響應(yīng)實(shí)現(xiàn)回調(diào)模式。

NFS 協(xié)議

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

要讀取一個(gè)文件,文件必須首先被打開。在 RPC 內(nèi)沒有 OPEN 程序;反之,客戶端僅檢查目錄和文件是否存在于所加載的文件系統(tǒng)中??蛻舳艘詫δ夸浀?GETATTR RPC 請求開始,其結(jié)果是一個(gè)具有目錄屬性或者目錄不存在指示的響應(yīng)。接下來,客戶端發(fā)出 LOOKUP RPC 請求來查看所請求的文件是否存在。如果是,會(huì)為所請求的文件發(fā)出 GETATTR RPC 請求,為文件返回屬性?;谝陨铣晒Φ?GETATTRs 和 LOOKUPs,客戶端創(chuàng)建文件句柄,為用戶的未來需求而提供的。

利用在遠(yuǎn)程文件系統(tǒng)中指定的文件,客戶端能夠觸發(fā) READ RPC 請求。READ 包含文件句柄、狀態(tài)、偏移、和讀取計(jì)數(shù)??蛻舳瞬捎脿顟B(tài)來確定操作是否可執(zhí)行(那就是,文件是否被鎖定)。偏移指出是否開始讀取,而計(jì)數(shù)指出所讀取字節(jié)的數(shù)量。服務(wù)器可能返回或不返回所請求字節(jié)的數(shù)量,但是會(huì)指出在 READ RPC 回復(fù)中所返回(隨著數(shù)據(jù))字節(jié)的數(shù)量。

NFS 中的創(chuàng)新

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

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

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

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

 

NFSv4.1 的 pNFS 架構(gòu)

 

圖 4. NFSv4.1 的 pNFS 架構(gòu)

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

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

NFS 的替代物

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

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

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

更進(jìn)一步

NFS 持續(xù)演變,并與 Linux 的演變類似(支持低端、嵌入式、和高端性能),NFS 為客戶和企業(yè)實(shí)施可擴(kuò)展存儲(chǔ)解決方案。關(guān)注 NFS 的未來可能會(huì)很有趣,但是根據(jù)歷史和近期的情況看,它將會(huì)改變?nèi)藗儾榭春褪褂梦募鎯?chǔ)的方法。

【編輯推薦】

  1. 基礎(chǔ)詳解:NFS 網(wǎng)絡(luò)文件系統(tǒng)
  2. NFS網(wǎng)絡(luò)文件系統(tǒng)概念初解
  3. NFS網(wǎng)絡(luò)文件系統(tǒng)的優(yōu)點(diǎn)

 

責(zé)任編輯:黃丹 來源: IBMDW
相關(guān)推薦

2011-01-13 13:18:38

Linux網(wǎng)絡(luò)文件

2010-08-06 12:42:23

NFS網(wǎng)絡(luò)文件系統(tǒng)

2010-07-27 10:15:38

NFS網(wǎng)絡(luò)文件系統(tǒng)

2010-08-03 11:32:30

NFS網(wǎng)絡(luò)文件系統(tǒng)

2020-07-22 14:53:06

Linux系統(tǒng)虛擬文件

2011-07-26 14:53:01

數(shù)據(jù)庫發(fā)展

2010-04-30 17:03:44

Unix文件系統(tǒng)

2013-05-27 14:46:06

文件系統(tǒng)分布式文件系統(tǒng)

2017-08-14 13:35:36

Linux共享內(nèi)存tmpfs文件系統(tǒng)

2010-04-30 15:51:48

Unix系統(tǒng)

2009-06-10 18:08:14

2017-04-25 15:50:02

sparse傳輸處理

2011-01-13 14:10:30

Linux文件系統(tǒng)

2012-09-19 13:48:33

pNFS文件系統(tǒng)

2010-04-19 09:03:39

Linux文件系統(tǒng)

2018-09-29 11:02:52

WindowsLinux互訪

2014-08-22 15:50:52

WindowsLinux

2010-05-10 19:03:00

Unix文件

2020-01-15 09:10:13

LinuxWindowsmacOS

2009-04-08 15:36:46

LinuxLustre集群文件系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 在线视频一区二区三区 | 日韩成人免费 | hitomi一区二区三区精品 | 91中文字幕 | 久久精品屋 | 亚洲精品乱 | 在线免费观看黄色 | 免费在线一区二区三区 | 日韩一区二区在线看 | 99pao成人国产永久免费视频 | 日本精品裸体写真集在线观看 | 欧美一级黄视频 | 亚洲天堂av在线 | 欧美一级免费看 | 久久精品一| 91精品国产乱码久久久久久久久 | 久久婷婷色 | 欧美日韩一 | 精品乱码一区二区 | 久久久123 | 日日碰狠狠躁久久躁婷婷 | 理论片87福利理论电影 | av网站在线看 | 国产一区二区久久 | 女女百合av大片一区二区三区九县 | 成年人免费看 | 精品欧美视频 | h视频免费看 | 色婷婷亚洲国产女人的天堂 | 亚洲综合伊人 | 久久久久网站 | av日韩一区| 欧美片网站免费 | 亚洲精品视频一区 | 日韩高清在线观看 | 日美女逼逼 | 99亚洲精品视频 | 婷婷综合五月天 | jav成人av免费播放 | 国产精品久久久久久福利一牛影视 | 岛国av一区二区 |