dnfs一種面向linux集群的可擴(kuò)展分布式文件系統(tǒng)(1)_第1頁
已閱讀1頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  華中科技大學(xué)</b></p><p><b>  碩士學(xué)位論文</b></p><p>  DNFS:一種面向Linux集群的可擴(kuò)展分布式文件系統(tǒng)</p><p><b>  姓名:吳傳文</b></p><p><b>  申請學(xué)位級別

2、:碩士</b></p><p>  專業(yè):計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)</p><p><b>  指導(dǎo)教師:曹強(qiáng)</b></p><p><b>  20090525</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p><b>  摘</b&

3、gt;</p><p><b>  要*</b></p><p>  隨著信息技術(shù)革命的不斷深入,數(shù)字化信息的增長速度大于單個(gè)存儲(chǔ)設(shè)備的容</p><p>  量增加速度,特別是當(dāng)前高性能計(jì)算、數(shù)據(jù)中心和 Internet 服務(wù)等領(lǐng)域需要幾個(gè)到</p><p>  幾十個(gè) PetaBytes 的存儲(chǔ)容量,這遠(yuǎn)大于目前單個(gè)

4、存儲(chǔ)設(shè)備所能提供的。因此最為</p><p>  直接的思路是把多個(gè)存儲(chǔ)子系統(tǒng)集成到一個(gè)更大的系統(tǒng),構(gòu)造合適的分布式文件系</p><p>  統(tǒng)正是一種重要的實(shí)現(xiàn)方法。</p><p>  因此設(shè)計(jì)了一種分布式文件系統(tǒng) DNFS(Distributed Network File System),該系</p><p>  統(tǒng)可以統(tǒng)一管理多個(gè)存

5、儲(chǔ)結(jié)點(diǎn),并能夠滿足高 I/O 性能、可擴(kuò)展及高可用性等需求。</p><p>  進(jìn)而實(shí)現(xiàn)了 DNFS 的原型系統(tǒng),該系統(tǒng)具備了并發(fā)控制、負(fù)載均衡、容錯(cuò)和動(dòng)</p><p>  態(tài)擴(kuò)展等特征。DNFS 基于三方架構(gòu),由客戶端、元數(shù)據(jù)服務(wù)器和存儲(chǔ)模塊組成。</p><p>  通過一個(gè)兩級文件鎖,即客戶端鎖和元數(shù)據(jù)服務(wù)器端鎖來實(shí)現(xiàn)多個(gè)客戶端對同一文</p>

6、<p>  件并發(fā)訪問的控制;通過對系統(tǒng)各個(gè)存儲(chǔ)節(jié)點(diǎn)的負(fù)載進(jìn)行監(jiān)控,再運(yùn)用負(fù)載均衡調(diào)</p><p>  度策略來實(shí)現(xiàn)系統(tǒng)的負(fù)載均衡;容錯(cuò)功能則是通過對文件進(jìn)行備份來實(shí)現(xiàn)的,提高</p><p>  了系統(tǒng)的可用性;動(dòng)態(tài)擴(kuò)展功能則是通過讓系統(tǒng)中各個(gè)節(jié)點(diǎn)采用心跳協(xié)議來保持聯(lián)</p><p>  系,以此達(dá)到系統(tǒng)動(dòng)態(tài)擴(kuò)展的效果。</p>&l

7、t;p>  最后對 DNFS 文件系統(tǒng)從功能和性能兩個(gè)方面進(jìn)行了測試和分析,前者著重驗(yàn)</p><p>  證 DNFS 系統(tǒng)中的文件鎖機(jī)制,后者著重測試了 DNFS 在各種環(huán)境下的性能,以驗(yàn)</p><p>  證 DNFS 在大讀寫請求下的高性能。實(shí)驗(yàn)結(jié)果表明,DNFS 具有高可擴(kuò)展性、負(fù)載</p><p>  均衡、并發(fā)控制及容錯(cuò)等優(yōu)點(diǎn),在實(shí)際應(yīng)用或者科

8、研環(huán)境中,具有較大的應(yīng)用前景</p><p><b>  和實(shí)用價(jià)值。</b></p><p>  關(guān)鍵詞:海量數(shù)據(jù)存儲(chǔ),分布式文件系統(tǒng),可擴(kuò)展性</p><p><b>  *</b></p><p>  該項(xiàng)研究受國家重點(diǎn)基礎(chǔ)研究“973”計(jì)劃(2004CB318203)和國家自然科學(xué)基金“低熵

9、存儲(chǔ)系統(tǒng)(LESS)理論、</p><p>  方法和實(shí)現(xiàn)技術(shù)研究”( No. 60603075)的研究內(nèi)容資助</p><p><b>  I</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p><b>  Abstract*</b></p><p>  

10、With the development of the information technology, the growth of digital</p><p>  information faster than the growth of individual storage devices’ capacity, especially in</p><p>  high-perform

11、ance computing, data centers, Internet services and other areas which require</p><p>  several or even dozens of PetaBytes storage capacity, and that is much larger than a single</p><p>  storag

12、e device can be provided. Therefore, merging the multiple storage subsystems into a</p><p>  larger system has become the most direct ways, and high-performance distributed file</p><p>  system

13、is an important method to achieve that.</p><p>  Therefore a distributed file system for mass storage features is designed, that is,</p><p>  DNFS(Distributed Network File System), which can man

14、age multiple storage nodes unified,</p><p>  and be able to meet the high I/O performance, scalability and high availability needs.</p><p>  Then the prototype of DNFS is completed, which has th

15、e characteristics of concurrent</p><p>  control, load balancing, fault tolerance and dynamic expansion. DNFS is a tripartite</p><p>  structure, which contains the client, metadata server and s

16、torage-side component. Using a</p><p>  two-lever lock, which is composed of the client lock and the metadata server-side lock,</p><p>  DNFS can achieve concurrent control when multiple clients

17、 access the same files at the</p><p>  same time; DNFS monitor the system load of all storage-side, and then use the load</p><p>  balancing strategy to achieve the load balancing system; By bac

18、kup files, DNFS have fault-</p><p>  tolerant features, which improve the availability of the system; Dynamic extensions feature</p><p>  is achieve by allowing each node in the system using hea

19、rt-beat protocol to contact the</p><p><b>  system.</b></p><p>  Finally, the DNFS system is tested and analyzed from two aspects of functionality</p><p>  and performan

20、ce. The former test focus on verification the file lock mechanism of DNFS</p><p>  system. And the later focus on testing the performance of DNFS in variety environments,</p><p>  to verify the

21、high-performance of DNFS under the big I/O request. The experimental</p><p>  results show that, DNFS has the features of high scalability, load balancing, concurrency</p><p>  control and fault

22、-tolerant, etc., and DNFS has great application prospects and practical</p><p>  value in the practical application or research environment.</p><p>  Key words: Mass storage, Distributed file sy

23、stem, Scalability</p><p><b>  *</b></p><p>  The research is supported by National Basic Research Program “973” program (2004CB318203) and National Natural</p><p>  Scie

24、nce Fund (No. 60603075).</p><p><b>  II</b></p><p><b>  獨(dú)創(chuàng)性聲明</b></p><p>  本人聲明所呈交的學(xué)位論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得</p><p>  的研究成果。盡我所知,除文中已經(jīng)標(biāo)明引用的內(nèi)容外,本論

25、文不包含任何其</p><p>  他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對本文的研究做出貢獻(xiàn)的個(gè)人和</p><p>  集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人</p><p><b>  承擔(dān)。</b></p><p><b>  學(xué)位論文作者簽名:</b><

26、;/p><p><b>  日期:</b></p><p><b>  年</b></p><p><b>  月</b></p><p><b>  日</b></p><p>  學(xué)位論文版權(quán)使用授權(quán)書</p><

27、;p>  本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán)</p><p>  保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借</p><p>  閱。本人授權(quán)華中科技大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)</p><p>  行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。</p

28、><p><b>  本論文屬于</b></p><p><b>  保密□,</b></p><p><b>  不保密□。</b></p><p><b>  在</b></p><p>  年解密后適用本授權(quán)書。</p>

29、;<p> ?。ㄕ?jiān)谝陨戏娇騼?nèi)打“√”)</p><p><b>  學(xué)位論文作者簽名:</b></p><p><b>  指導(dǎo)教師簽名:</b></p><p><b>  日期:</b></p><p><b>  年</b></

30、p><p><b>  月</b></p><p><b>  日</b></p><p><b>  日期:</b></p><p><b>  年</b></p><p><b>  月</b></p&g

31、t;<p><b>  日</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p><b>  1 緒論</b></p><p>  從二十世紀(jì)四十年代世界上誕生第一臺(tái)電子計(jì)算機(jī)開始,人類就在不斷使用信</p><p>  息技術(shù)改變著自身的生活生產(chǎn)方式,生產(chǎn)力獲得了飛躍

32、性的提高。如今雖然信息技</p><p>  術(shù)己經(jīng)獲得了巨大成功,但是隨著近年來信息革命的不斷深入,數(shù)字信息存儲(chǔ)量以</p><p>  指數(shù)規(guī)模增長,其增長速度遠(yuǎn)大于單個(gè)存儲(chǔ)設(shè)備的容量增加速度,特別是高性能計(jì)</p><p>  算、數(shù)據(jù)中心和 Internet 服務(wù)領(lǐng)域需要幾個(gè)到幾十個(gè) PetaBytes 的存儲(chǔ)容量,這遠(yuǎn)大</p><p&

33、gt;  于單個(gè)存儲(chǔ)設(shè)備所能提供的。因此通過把多個(gè)存儲(chǔ)子系統(tǒng)集成到一個(gè)更大的系統(tǒng)就</p><p>  成為最為直接的思路,而高性能的分布式文件系統(tǒng)正是一種重要的實(shí)現(xiàn)方法。如何</p><p>  設(shè)計(jì)一種高效、可用性強(qiáng)及可擴(kuò)展的分布式文件系統(tǒng)成為了一個(gè)非常有意義的課</p><p><b>  題。</b></p><p&

34、gt;  1.1 課題來源、目的與意義</p><p><b>  1.1.1</b></p><p><b>  課題來源</b></p><p>  本課題來源于由教育部信息存儲(chǔ)重點(diǎn)實(shí)驗(yàn)室承擔(dān)的國家 973 項(xiàng)目“下一代互聯(lián)</p><p>  網(wǎng)信息存儲(chǔ)的組織模式和核心技術(shù)研究”中子課題三:“

35、海量數(shù)據(jù)網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的</p><p>  研究”(2004CB318203)以及國家自然科學(xué)基金“低熵存儲(chǔ)系統(tǒng)(LESS)理論、方</p><p>  法和實(shí)現(xiàn)技術(shù)研究”(No.60603075)的研究內(nèi)容之一。</p><p><b>  1.1.2</b></p><p><b>  課題目的及意義<

36、;/b></p><p>  隨著計(jì)算機(jī)處理器能力和計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)能力的高速發(fā)展,各種各樣的計(jì)算機(jī)</p><p>  應(yīng)用也得到蓬勃發(fā)展,而這些應(yīng)用產(chǎn)生的數(shù)據(jù)在整體上呈現(xiàn)出了指數(shù)級的增長。伴</p><p>  隨而來的,是各種大型應(yīng)用領(lǐng)域產(chǎn)生的對大數(shù)據(jù)量的需求[1],這些數(shù)據(jù)是無法容納</p><p>  在有限的主存空間中的,因此

37、必須把部分信息存儲(chǔ)在磁盤上,等到需要用到時(shí)再調(diào)</p><p>  入主存。由于讀寫磁盤的速度相對于處理器的運(yùn)算速度相差好幾個(gè)數(shù)量級,因此大</p><p>  量的時(shí)間都被浪費(fèi)在讀寫磁盤上面了,這種 I/O 性能與并行科學(xué)應(yīng)用所需要的高性</p><p>  能 I/O 相差甚遠(yuǎn)[2]。此外,單個(gè)磁盤的容量有限,也無法存儲(chǔ)足夠的信息量。于是,</p>

38、<p>  利用多磁盤的并行讀寫來滿足 I/O 性能和容量上的需求便成了理所當(dāng)然的事[3-5]。</p><p>  作為計(jì)算機(jī)磁盤數(shù)據(jù)的管理者,文件系統(tǒng)對于系統(tǒng)的 I/O 能力有著重要的影</p><p><b>  1</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p>  響。假如單一

39、依賴操作系統(tǒng)所提供的本地文件系統(tǒng),應(yīng)用程序就無法利用集群系</p><p>  統(tǒng)來獲得理想的性能。這對于運(yùn)行在集群系統(tǒng)上的 I/O 密集型應(yīng)用程序,I/O 操作</p><p>  將成為整個(gè)程序的瓶頸所在[6]。在集群系統(tǒng)中,每個(gè)節(jié)點(diǎn)都具有自己的 I/O 子系統(tǒng),</p><p>  因此集群系統(tǒng)擁有相當(dāng)大的 I/O 帶寬。為了讓資源能夠被充分利用,可以將應(yīng)用&

40、lt;/p><p>  程序的 I/O 請求分布到集群系統(tǒng)中的多個(gè)節(jié)點(diǎn)上,實(shí)現(xiàn)多個(gè) I/O 的并發(fā)操作,通過</p><p>  將物理上獨(dú)立的多個(gè)存儲(chǔ)設(shè)備聚合為邏輯上單一的高性能存儲(chǔ)子系統(tǒng)來解決 I/O</p><p><b>  的瓶頸及容量問題。</b></p><p>  分布式文件系統(tǒng)是集群系統(tǒng)的文件管理者,具有大

41、容量,高 I/O 吞吐率,且可</p><p>  擴(kuò)展的特點(diǎn)。它將多個(gè)物理上獨(dú)立的結(jié)點(diǎn)的磁盤組織成為全局統(tǒng)一的存儲(chǔ)系統(tǒng),提</p><p>  供更大的存儲(chǔ)容量和聚合 I/O 帶寬,并可以隨著系統(tǒng)規(guī)模的擴(kuò)大縮小而變化。國內(nèi)</p><p>  外許多研究人員已經(jīng)開始研究分布式文件系統(tǒng),以支持 I/O 密集型應(yīng)用,充分發(fā)揮</p><p>&

42、lt;b>  集群的優(yōu)勢[7]。</b></p><p>  DNFS(Distributed Network File System)正是在這樣的背景下被研究開發(fā)的。</p><p>  DNFS 是一種分布式文件系統(tǒng),是為應(yīng)對 I/O 密集型應(yīng)用而開發(fā)的,該系統(tǒng)能夠滿</p><p>  足高 I/O 性能、海量容量、可擴(kuò)展及高可用性等需求[8

43、-12],具備了并發(fā)控制、負(fù)載均</p><p>  衡、容錯(cuò)和動(dòng)態(tài)擴(kuò)展等特征,實(shí)驗(yàn)證明 DNFS 可適用于高 I/O 性能科學(xué)計(jì)算環(huán)境。</p><p><b>  1.2 國內(nèi)外概況</b></p><p>  分布式文件系統(tǒng)是一個(gè)比較活躍的研究方向,現(xiàn)國內(nèi)外很多大學(xué)及研究機(jī)構(gòu)還</p><p>  有公司等都已經(jīng)或

44、正著手開發(fā)自己的分布式文件系統(tǒng)以支持那些 I/O 密集型應(yīng)用,</p><p>  以此來發(fā)揮集群系統(tǒng)的優(yōu)勢。近年來,美國,澳大利亞,日本等多個(gè)國家的大學(xué)已</p><p>  經(jīng)研究出一片各具特色的分布式文件系統(tǒng)。一些計(jì)算機(jī)廠家也開發(fā)了自己的分布式</p><p>  文件系統(tǒng),這些系統(tǒng)一般為專用文件系統(tǒng),多為運(yùn)行在特定的 UNIX 操作系統(tǒng)之上</p>

45、;<p>  的工作站或并行計(jì)算機(jī)。而開源社區(qū)中也開發(fā)出了一批可運(yùn)行于 Linux 操作系統(tǒng)之</p><p>  上的分布式文件系統(tǒng),正是這些開源項(xiàng)目大大促進(jìn)了分布式文件系統(tǒng)的發(fā)展與應(yīng)</p><p>  用?,F(xiàn)有的各種分布式文件系統(tǒng)各具特色,各有各的優(yōu)勢,各有各的側(cè)重點(diǎn)?,F(xiàn)已</p><p>  涌現(xiàn)出一批著名的分布式文件系統(tǒng),如 PVFS、GPF

46、S[13]、zFS[14]、Google 文件系統(tǒng)[15]、</p><p>  Lustre 等等[16-20],下面將著重介紹 PVFS 和 Lustre 這兩種分布式文件系統(tǒng)。</p><p><b>  2</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p>  1.2.1 PVFS</p

47、><p>  PVFS[21-24](Parallel Virtual File System)項(xiàng)目是 Clemson 大學(xué)為了運(yùn)行 Linux 集群</p><p>  而創(chuàng)建的一個(gè)開源項(xiàng)目,因此,PVFS 也無需特別的硬件設(shè)備,普通的能運(yùn)行 Linux</p><p>  系統(tǒng)的 PC 機(jī)即可。PVFS 現(xiàn)已被廣泛地使用,很多分布式文件系統(tǒng)都是以 PVFS 為<

48、;/p><p>  基礎(chǔ)架構(gòu)而設(shè)計(jì)實(shí)現(xiàn)的[25],比如國內(nèi)的浪潮并行文件系統(tǒng)。</p><p>  正如一般的分布式文件系統(tǒng)一樣,PVFS 將數(shù)據(jù)存儲(chǔ)到多個(gè)群集節(jié)點(diǎn)中,數(shù)據(jù)</p><p>  保存在這些節(jié)點(diǎn)的本地文件系統(tǒng)之中,然后多個(gè)客戶端可以并行同時(shí)訪問這些數(shù)</p><p>  據(jù)。PVFS 有以下 4 個(gè)重要功能:</p>

49、<p> ?。?)命名空間的一致性:為了易于安裝和使用,PVFS 提供了統(tǒng)一的文件命名</p><p><b>  空間。</b></p><p> ?。?)文件的數(shù)據(jù)分散分布到不同的集群節(jié)點(diǎn)的本地磁盤之上:為高速訪問集</p><p>  群系統(tǒng)中的文件數(shù)據(jù),PVFS 將文件數(shù)據(jù)進(jìn)行條塊化劃分,分散存儲(chǔ)到不同集群節(jié)</p>

50、;<p>  點(diǎn)(稱作 I/O 節(jié)點(diǎn),如圖 1.1 所示)的多個(gè)磁盤上,從而消除了單個(gè) I/O 路徑的帶</p><p>  來的瓶頸問題,且增加了客戶端并發(fā)帶寬。</p><p> ?。?)兼容現(xiàn)有系統(tǒng)上的文件訪問方式:在已安裝 PVFS 文件和目錄能夠繼續(xù)</p><p>  使用現(xiàn)有 Linux 系統(tǒng)上的命令和工具,比如 ls、cat、dd 和

51、rm 等等,方便用戶的使</p><p>  用。該功能由 Linux 核心的一個(gè)模塊提供支持。</p><p> ?。?)為應(yīng)用程序提供高性能的數(shù)據(jù)訪問方式:PVFS 還提供了 libpvfs 庫,以</p><p>  專有接口來訪問 PVFS 文件系統(tǒng)。而 libpvfs 庫直接和 PVFS 服務(wù)器相連接,不需要</p><p>  把

52、消息傳遞給內(nèi)核,這樣提高了訪問效率。</p><p><b>  管理節(jié)點(diǎn)</b></p><p><b>  MGR</b></p><p><b>  CN0</b></p><p><b>  N</b></p><p>&l

53、t;b>  計(jì)算節(jié)點(diǎn)</b></p><p><b>  CN1</b></p><p><b>  CNn</b></p><p><b>  E</b></p><p><b>  T</b></p><p>

54、<b>  W</b></p><p><b>  O</b></p><p><b>  R</b></p><p><b>  K</b></p><p><b>  ION0</b></p><p>&l

55、t;b>  I/O節(jié)點(diǎn)</b></p><p><b>  ION1</b></p><p><b>  IONn</b></p><p><b>  圖 1.1</b></p><p>  PVFS 系統(tǒng)結(jié)構(gòu)圖</p><p><

56、;b>  3</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p>  PVFS 系統(tǒng)是一個(gè) 3 方架構(gòu):計(jì)算節(jié)點(diǎn)、管理節(jié)點(diǎn)和 I/O 節(jié)點(diǎn),如圖 1.1 所示。</p><p>  其中,計(jì)算節(jié)點(diǎn)的功能運(yùn)行應(yīng)用程序,發(fā)起 PVFS 的 I/O 請求;管理節(jié)點(diǎn)的功能是</p><p>  管理元數(shù)據(jù),接受并調(diào)

57、度計(jì)算節(jié)點(diǎn)的 I/O 請求;I/O 節(jié)點(diǎn)的功能是存放 PVFS 文件系</p><p>  統(tǒng)中的文件數(shù)據(jù),所有文件數(shù)據(jù)的讀寫都要與 I/O 節(jié)點(diǎn)打交道。</p><p>  PVFS 系統(tǒng)中有且只有一個(gè)管理節(jié)點(diǎn),一個(gè)或者多個(gè)計(jì)算節(jié)點(diǎn)和 I/O 節(jié)點(diǎn)。PVFS</p><p>  集群中任意一個(gè)集群節(jié)點(diǎn)既可以只提供 3 方架構(gòu)中的其中一種功能,也可以提供</p

58、><p>  同時(shí)提供 2 種或者 3 種功能。計(jì)算節(jié)點(diǎn)也同時(shí)用來做管理節(jié)點(diǎn),也可以充當(dāng) I/O</p><p>  節(jié)點(diǎn)的角色,反之亦然。對于小規(guī)模的集群系統(tǒng),這種功能重疊的方法可以節(jié)省</p><p>  開支,充分利用資源;對于大規(guī)模集群系統(tǒng),則一般不推薦使用這種功能重疊的</p><p>  方法,因?yàn)楣δ苤丿B會(huì)使機(jī)器過于繁忙,從而導(dǎo)致性

59、能下降,一般是一個(gè)節(jié)點(diǎn)只</p><p><b>  充當(dāng)一個(gè)角色。</b></p><p>  PVFS 還存在以下不足:</p><p> ?。?)單一管理節(jié)點(diǎn)。上面說到過 PVFS 中只有一個(gè)管理節(jié)點(diǎn)來管理元數(shù)據(jù),</p><p>  當(dāng)集群系統(tǒng)達(dá)到一定的規(guī)模之后,管理節(jié)點(diǎn)將可能出現(xiàn)過度繁忙的情況,這是管理<

60、/p><p>  節(jié)點(diǎn)將成為系統(tǒng)瓶頸。</p><p> ?。?)對數(shù)據(jù)的存儲(chǔ)缺乏容錯(cuò)機(jī)制。當(dāng)某一 I/O 節(jié)點(diǎn)無法工作時(shí),上面的數(shù)據(jù)將</p><p><b>  出現(xiàn)不可用的情況。</b></p><p> ?。?)靜態(tài)配置。對 PVFS 的配置只能在啟動(dòng)前進(jìn)行,一旦系統(tǒng)運(yùn)行則不可再</p><p&g

61、t;<b>  更改原先的配置。</b></p><p><b>  1.2.2</b></p><p><b>  Lustre</b></p><p>  Lustre[26-28]文件系統(tǒng)是一個(gè)基于對象存儲(chǔ)的分布式文件系統(tǒng),并且與 PVFS 一</p><p>  樣,L

62、ustre 也是一個(gè)開源項(xiàng)目。Lustre 項(xiàng)目與 1999 年在 Carnegie Mellon University</p><p>  啟動(dòng),現(xiàn)在已經(jīng)發(fā)展成為應(yīng)用最廣泛的分布式文件系統(tǒng)。Lustre 已經(jīng)運(yùn)行在當(dāng)今世</p><p>  界上最快的集群系統(tǒng)里面,比如 Bule Gene,Red Storm 等計(jì)算機(jī)系統(tǒng),用來進(jìn)行核</p><p>  武器相關(guān)

63、的模擬,以及分子動(dòng)力學(xué)模擬等等非常關(guān)鍵的領(lǐng)域[28]。</p><p>  Lustre 的組織結(jié)構(gòu)在其官方文檔中有詳細(xì)的介紹,如圖 1.2 所示,Lustre 集群組</p><p>  件包含了 MDS(元數(shù)據(jù)服務(wù)器)、MDT(元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn))、OSS(對象存儲(chǔ)服務(wù)</p><p>  器)、OST(對象存儲(chǔ)節(jié)點(diǎn))、Client(客戶端),以及連接這些組件的高速

64、網(wǎng)絡(luò)。</p><p> ?。?)元數(shù)據(jù)存儲(chǔ)與管理。MDS 負(fù)載管理元數(shù)據(jù),提供一個(gè)全局的命名空間,</p><p><b>  4</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p>  Client 可以通過 MDS 讀取到保存于 MDT 之上的元數(shù)據(jù)。在 Lustre 中 MDS 可以</p

65、><p>  有 2 個(gè),采用了 Active-Standby 的容錯(cuò)機(jī)制,當(dāng)其中一個(gè) MDS 不能正常工作時(shí),</p><p>  另外一個(gè)后備 MDS 可以啟動(dòng)服務(wù)。MDT 只能有 1 個(gè),不同 MDS 之間共享訪問同</p><p><b>  一個(gè) MDT。</b></p><p> ?。?)文件數(shù)據(jù)存儲(chǔ)與管理。OS

66、S 負(fù)載提供 I/O 服務(wù),接受并服務(wù)來自網(wǎng)絡(luò)的</p><p>  請求。通過 OSS,可以訪問到保存在 OST 上的文件數(shù)據(jù)。一個(gè) OSS 對應(yīng) 2 到 8 個(gè)</p><p>  OST,其存儲(chǔ)空間可以高達(dá) 8TB。OST 上的文件數(shù)據(jù)是以分條的形式保存的,文件</p><p>  的發(fā)條可以在一個(gè) OSS 之中,也可以保存在多個(gè) OSS 中。Lustre 的

67、特色之一是其</p><p>  數(shù)據(jù)是基于對象的職能存儲(chǔ)的,跟傳統(tǒng)的基于塊的存儲(chǔ)方式有所不同。</p><p> ?。?)Lustre 系統(tǒng)訪問入口。Lustre 通過 Client 端來訪問系統(tǒng),Client 為掛載了</p><p>  Lustre 文件系統(tǒng)的任意節(jié)點(diǎn)。Client 提供了 Linux 下 VFS(虛擬文件系統(tǒng))與 Lustre</p&

68、gt;<p>  系統(tǒng)之間的接口,通過 Client,用戶可訪問操作 Lustre 系統(tǒng)中的文件。</p><p>  Lustre 集群中的各個(gè)節(jié)點(diǎn)通過高速的以太網(wǎng)或 Quadrics Elan,Myrinet 等多種網(wǎng)</p><p><b>  絡(luò)連接起來。</b></p><p><b>  圖 1.2</

69、b></p><p>  Lustre 集群架構(gòu)</p><p><b>  5</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p><b>  Clients</b></p><p><b>  目錄操作,</b></p&

70、gt;<p><b>  文件打開/關(guān)閉,</b></p><p><b>  元數(shù)據(jù),</b></p><p><b>  并發(fā)控制</b></p><p><b>  文件內(nèi)容I/O</b></p><p><b>  及文件鎖

71、</b></p><p><b>  MDS</b></p><p><b>  恢復(fù),文件狀</b></p><p><b>  態(tài)和文件創(chuàng)建</b></p><p><b>  圖 1.3</b></p><p> 

72、 Lustre 文件系統(tǒng)架構(gòu)</p><p><b>  OSS</b></p><p>  在 Lustre 官方手冊中給出了 Lustre 文件系統(tǒng)的架構(gòu),如圖 1.3 所示。Lustre 文</p><p>  件系統(tǒng)也是一個(gè) 3 方架構(gòu),包括了 MDS,OSS 和 Client 這 3 個(gè)模塊。文件的打開</p><

73、p> ?。╫pen)和關(guān)閉(close),元數(shù)據(jù),以及并發(fā)訪問控制都在 Client 和 MDS 之間進(jìn)行;</p><p>  文件 I/O 操作以及文件鎖在 OSS 和 Client 之間進(jìn)行;文件備份,文件狀態(tài)獲取以及</p><p>  文件創(chuàng)建等在 MDS 和 OSS 之間進(jìn)行。目前 Lustre 文件系統(tǒng)最多可以支持 100000</p><p>

74、  個(gè) Client,1000 個(gè) OSS 和 2 個(gè) MDS 節(jié)點(diǎn)。</p><p>  同 PVFS 類似,Lustre 系統(tǒng)中既可以運(yùn)行一個(gè)功能模塊,也可以同時(shí)運(yùn)行 2 個(gè)</p><p>  或 3 個(gè)功能模塊,這取決于系統(tǒng)的規(guī)模。不過 Lustre 一般運(yùn)行于高性能計(jì)算機(jī)系統(tǒng)</p><p>  之上,為了提高 Lustre 文件系統(tǒng)的性能,通常 MDS,

75、OSS 和 Client 是分開運(yùn)行在 Lustre</p><p><b>  不同的節(jié)點(diǎn)之上的。</b></p><p>  實(shí)驗(yàn)與應(yīng)用已經(jīng)證明,Lustre 文件系統(tǒng)的性能和可擴(kuò)展性都不錯(cuò)。不僅如此,</p><p>  Lustre 文件系統(tǒng)還擁有基于對象的智能化存儲(chǔ)、安全的認(rèn)證機(jī)制、比較完善的容錯(cuò)</p><p&g

76、t;  機(jī)制等的優(yōu)點(diǎn),值得注意的是,Lustre 還實(shí)現(xiàn)了部分文件鎖。Lustre 確保從不同 Client</p><p>  端掛載的 Lustre 文件系統(tǒng)看到的都是一個(gè)單一的、同步的、一致的命名空間。由于</p><p>  Lustre 部分鎖機(jī)制的存在,多個(gè) Client 端在同一時(shí)間點(diǎn)可以寫同一文件的不同區(qū)域,</p><p>  其它 Client

77、則可以讀取文件的其它區(qū)域。由于部分文件鎖的存在,極大的提高了多</p><p>  用戶對同一文件進(jìn)行并發(fā)訪問時(shí)系統(tǒng)的性能,對同一文件并發(fā)訪問這在像數(shù)據(jù)庫這</p><p><b>  6</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p>  種應(yīng)用里是極為常見的。</p><p&

78、gt;  相對與 PVFS,Lustre 的可用性和擴(kuò)展性以及性能上都有較大的提高。然而,Lustre</p><p>  需要特殊設(shè)備的支持,并且 Lustre 目前還沒實(shí)現(xiàn) MDS 的集群管理,雖然相比 PVFS</p><p>  的單 MDS,Lustre 的雙 MDS 在可用性上還是提高不少,但是當(dāng)系統(tǒng)達(dá)到一定的規(guī)</p><p>  模之后,MDS 還是

79、很有可能成為 Lustre 系統(tǒng)中的瓶頸[29]。</p><p>  1.3 本文主要研究內(nèi)容</p><p> ?。?)本文著重研究了分布式文件系統(tǒng)的體系結(jié)構(gòu),設(shè)計(jì)思想與實(shí)現(xiàn)技術(shù),并</p><p>  給出自己的解決方案——DNFS(Distribution Network FileSystem)。DNFS 是針對在</p><p> 

80、 海量數(shù)據(jù)下實(shí)現(xiàn)高性能 I/O 而設(shè)計(jì)的,在 DNFS 平臺(tái)下,設(shè)計(jì)新的數(shù)據(jù)索引機(jī)制和</p><p>  算法,新的文件鎖機(jī)制,容災(zāi)冗余機(jī)制,緩存機(jī)制。最后通過實(shí)際的實(shí)驗(yàn)測試,對</p><p>  其功能及性能等做出評估。</p><p>  (2)詳細(xì)論述了 DNFS 的系統(tǒng)架構(gòu)的各個(gè)模塊,及實(shí)現(xiàn)系統(tǒng)的關(guān)鍵技術(shù)。介</p><p>  

81、紹了系統(tǒng)中的各個(gè)模塊——元數(shù)據(jù)服務(wù)器,存儲(chǔ)端和客戶端,以及這些模塊的特征</p><p>  和在系統(tǒng)中所起到的作用,還有實(shí)現(xiàn)這些模塊所用到的各個(gè)關(guān)鍵技術(shù)。</p><p> ?。?)論述 DNFS 的設(shè)計(jì)思想及技術(shù)實(shí)現(xiàn)。詳細(xì)介紹 DNFS 系統(tǒng)中的各種機(jī)制,</p><p>  有緩存機(jī)制,文件鎖機(jī)制,負(fù)載均衡機(jī)制、動(dòng)態(tài)擴(kuò)展機(jī)制等等,以及實(shí)現(xiàn)這些機(jī)制</p&

82、gt;<p><b>  的具體方法。</b></p><p>  (4)DNFS 系統(tǒng)的功能測試與性能測試,以及對 DNFS 的評價(jià)。</p><p>  針對以上研究內(nèi)容,本文將圍繞分布式文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)兩個(gè)方面展開論</p><p><b>  述,具體安排如下:</b></p>&l

83、t;p>  第一章主要介紹了研究工作的背景,國內(nèi)外概況;</p><p>  第二章介紹了 DNFS 的系統(tǒng)架構(gòu)及關(guān)鍵技術(shù);</p><p>  第三章詳細(xì)討論了 DNFS 的設(shè)計(jì)思想與實(shí)現(xiàn)方案;</p><p>  第四章對 DNFS 平臺(tái)進(jìn)行功能和性能測試與分析。</p><p>  第五章是對現(xiàn)有工作的總結(jié)和未來研究的展望。<

84、;/p><p><b>  7</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p><b>  2</b></p><p>  DNFS 系統(tǒng)架構(gòu)及關(guān)鍵技術(shù)</p><p>  并發(fā)I/O,海量存儲(chǔ)和可擴(kuò)展性等特征決定了分布式文件系統(tǒng)架構(gòu)與傳統(tǒng)的文件</p

85、><p>  系統(tǒng)架構(gòu)有著很大的不同。本章將介紹DNFS的系統(tǒng)架構(gòu),以及DNFS中使用到的相</p><p>  關(guān)技術(shù)和工具的作用,原理及使用方法。</p><p><b>  2.1 系統(tǒng)結(jié)構(gòu)</b></p><p>  文件系統(tǒng)是用于管理數(shù)據(jù)的,一般的本地文件系統(tǒng)(比如Ext3)主要任務(wù)就</p><

86、;p>  是管理本地磁盤上的文件。雖然分布式文件系統(tǒng)與傳統(tǒng)的本地文件系統(tǒng)的任務(wù)基</p><p>  本相同,但由于其分布式的文件組織方式,導(dǎo)致任務(wù)的執(zhí)行方式有很大的區(qū)別。分</p><p>  布式文件系統(tǒng)是建立在本地文件系統(tǒng)之上的,其功能主要有兩個(gè):</p><p> ?。?)把文件的數(shù)據(jù)在物理上拆分成多個(gè)分條,并分布到多個(gè)存儲(chǔ)設(shè)備上去,</p>

87、;<p>  而具體存儲(chǔ)設(shè)備上分條數(shù)據(jù)的管理則由該存儲(chǔ)設(shè)備上的本地文件系統(tǒng)來負(fù)責(zé);</p><p> ?。?)提供并行訪問文件的方法。這有區(qū)別于傳統(tǒng)的本地文件系統(tǒng)的串行訪問</p><p><b>  方法。</b></p><p>  其中,前者是后者的基礎(chǔ),只有有了合理的數(shù)據(jù)發(fā)布機(jī)制,才有后面高效的訪</p>&

88、lt;p><b>  問機(jī)制。</b></p><p>  分析以上分布式文件系統(tǒng)的功能,,首先,由于數(shù)據(jù)在存儲(chǔ)設(shè)備上的管理已經(jīng)</p><p>  交給本地文件系統(tǒng)來負(fù)責(zé)了,所以管理磁盤,以及數(shù)據(jù)在磁盤上的元信息等可以通</p><p>  過借用本地文件系統(tǒng)輕松獲得。其次,對于比本地文件系統(tǒng)多出的文件分條信息,</p>

89、<p>  還需要分布式文件系統(tǒng)自己來記錄。事實(shí)上,隨著功能的增加,分布式文件系統(tǒng)需</p><p>  要記錄的遠(yuǎn)遠(yuǎn)不止文件的分條信息,這些信息稱為元數(shù)據(jù)。另外,無論是傳統(tǒng)的基</p><p>  于本地磁盤的文件系統(tǒng)還是分布式文件系統(tǒng),都需要提供應(yīng)用程序訪問文件系統(tǒng)的</p><p>  入口[30-32]。</p><p> 

90、 根據(jù)上面分析,分布式文件系統(tǒng)應(yīng)該至少劃分為三個(gè)功能模塊:保存管理文件</p><p>  數(shù)據(jù)的模塊;保存管理元數(shù)據(jù)的模塊;還有提供文件系統(tǒng)訪問入口的模塊[33-35]。在</p><p>  DNFS中,保存管理文件分條數(shù)據(jù)的存儲(chǔ)設(shè)備稱為存儲(chǔ)端STG(Storage-side)。保</p><p>  存管理文件分條等元數(shù)據(jù)的模塊稱為元數(shù)據(jù)服務(wù)器MDS(Meta

91、data Server)。而提</p><p>  供文件系統(tǒng)訪問入口的則稱為客戶端(CLIENT)。事實(shí)上,分布式文件系統(tǒng)中還</p><p><b>  8</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p>  應(yīng)該有一個(gè)集群管理者CM(Cluster Manager),負(fù)責(zé)系統(tǒng)的配置等其他事務(wù)。

92、為了</p><p>  提高DNFS文件系統(tǒng)的性能,通常CLIENT、STG和MDS是分離的,當(dāng)然這些子系統(tǒng)</p><p>  也能運(yùn)行在同一個(gè)系統(tǒng)中。</p><p><b>  用戶A</b></p><p><b>  用戶B</b></p><p><b&g

93、t;  CLIENT</b></p><p><b>  ......</b></p><p><b>  CLIENT</b></p><p><b>  計(jì)算</b></p><p><b>  節(jié)點(diǎn)</b></p><

94、p><b>  高</b></p><p><b>  速</b></p><p><b>  網(wǎng)</b></p><p><b>  FUSE</b></p><p><b>  RPC協(xié)議</b></p>&l

95、t;p><b>  FUSE</b></p><p><b>  RPC協(xié)議</b></p><p><b>  絡(luò)</b></p><p><b>  MDS (CM)</b></p><p><b>  Reiserfs</b&g

96、t;</p><p><b>  管理</b></p><p><b>  節(jié)點(diǎn)</b></p><p><b>  存儲(chǔ)</b></p><p><b>  節(jié)點(diǎn)</b></p><p><b>  Ext3</b

97、></p><p><b>  STG</b></p><p><b>  Ext3</b></p><p><b>  ......</b></p><p><b>  STG</b></p><p><b>  

98、Ext3</b></p><p><b>  圖 2.1</b></p><p>  DNFS 的系統(tǒng)結(jié)構(gòu)</p><p><b>  2.1.1</b></p><p><b>  系統(tǒng)功能模塊</b></p><p>  圖2.1中顯示了

99、DNFS的系統(tǒng)結(jié)構(gòu),從功能角度劃分,DNFS主要包括三個(gè)模塊:</p><p>  元數(shù)據(jù)服務(wù)器(MDS)、存儲(chǔ)端(STG),以及客戶端(Client)。各個(gè)模塊之間</p><p>  采用RPC協(xié)議進(jìn)行通信,關(guān)于RPC協(xié)議,在2.3節(jié)有詳細(xì)介紹。下面介紹各個(gè)模塊在</p><p>  系統(tǒng)中的功能及作用。</p><p>  1)元數(shù)據(jù)服

100、務(wù)器是一個(gè)應(yīng)用層進(jìn)程,運(yùn)行于Linux之上。元數(shù)據(jù)服務(wù)器借助了</p><p>  Reiserfs文件系統(tǒng)來保存管理元數(shù)據(jù),這主要是因?yàn)樵獢?shù)據(jù)文件絕大部分都是小于1K</p><p>  的小文件,而Reiserfs文件系統(tǒng)在小文件存儲(chǔ)方面的性能無疑是相當(dāng)杰出的,關(guān)于</p><p><b>  9</b></p><p&

101、gt;  華中科技大學(xué)碩士學(xué)位論文</p><p>  Reiserfs文件系統(tǒng),將在下面的章節(jié)中詳細(xì)介紹。在前面的分析中,提到了分布式文</p><p>  件系統(tǒng)一般還包括一個(gè)集群管理者CM,在DNFS中,集群管理者的功能并入元數(shù)據(jù)</p><p>  服務(wù)器中了,如圖2.1中所示。因此,元數(shù)據(jù)服務(wù)器不僅管理系統(tǒng)的元數(shù)據(jù),它同時(shí)</p><p

102、>  還承擔(dān)起集群管理者的責(zé)職。在本文后面所有提到的元數(shù)據(jù)服務(wù)器的地方,除非特</p><p>  別說明,否則都是指包括了集群管理者功能在內(nèi)的元數(shù)據(jù)服務(wù)器。元數(shù)據(jù)服務(wù)器在</p><p>  系統(tǒng)中發(fā)揮著以下作用:</p><p> ?。?)實(shí)現(xiàn)的文件系統(tǒng)的語義功能。元數(shù)據(jù)服務(wù)器負(fù)責(zé)保存和管理DNFS系統(tǒng)中</p><p>  所有文

103、件(包括目錄)的元數(shù)據(jù),通過元數(shù)據(jù)服務(wù)器,客戶端可以看到一個(gè)統(tǒng)一的</p><p>  命名空間;通過元數(shù)據(jù)服務(wù)器,能控制客戶端對文件系統(tǒng)中文件的創(chuàng)建、刪除、讀</p><p><b>  寫等訪問控制。</b></p><p> ?。?)元數(shù)據(jù)服務(wù)器管理DNFS中文件的分條。從客戶端寫入DNFS系統(tǒng)的文件</p><p&g

104、t;  如何分條,各個(gè)分條的存放策略,都是由元數(shù)據(jù)服務(wù)器決定的。</p><p> ?。?)元數(shù)據(jù)服務(wù)器還維護(hù)DNFS中文件的一致性。通過鎖機(jī)制,元數(shù)據(jù)服務(wù)器</p><p>  控制了多個(gè)客戶端對同一文件的并發(fā)訪問,保證了在任何時(shí)候,DNFS中文件都是</p><p><b>  正確一致的。</b></p><p>

105、 ?。?)文件備份也要通過元數(shù)據(jù)服務(wù)器。元數(shù)據(jù)服務(wù)器告訴存儲(chǔ)端如何把未備</p><p>  份的文件備份到何處。</p><p>  (5)元數(shù)據(jù)服務(wù)器還控制存儲(chǔ)端之間負(fù)載均衡,通過監(jiān)控存儲(chǔ)端的負(fù)載情況,</p><p>  實(shí)現(xiàn)了不同存儲(chǔ)端之間的負(fù)載均衡。</p><p>  (6)元數(shù)據(jù)服務(wù)器實(shí)現(xiàn)了系統(tǒng)的動(dòng)態(tài)擴(kuò)展,當(dāng)DNFS需要擴(kuò)大規(guī)模

106、時(shí),只需把</p><p>  存儲(chǔ)端直接接入存儲(chǔ)網(wǎng)絡(luò)即可,元數(shù)據(jù)服務(wù)器會(huì)自動(dòng)把新加入的存儲(chǔ)端融入到原有</p><p><b>  的系統(tǒng)中</b></p><p>  (7)全局配置與監(jiān)控的作用。當(dāng)新客戶端或新存儲(chǔ)端接入到DNFS系統(tǒng)中時(shí),</p><p>  都需要從元數(shù)據(jù)服務(wù)器那里獲取系統(tǒng)的配置信息。此后,元數(shù)據(jù)

107、服務(wù)器會(huì)定期檢查</p><p>  客戶端和存儲(chǔ)端的狀態(tài)。</p><p>  2)存儲(chǔ)端也是一個(gè)應(yīng)用層進(jìn)程,運(yùn)行于Linux之上。首先,存儲(chǔ)端負(fù)責(zé)DNFS</p><p>  中所有文件數(shù)據(jù)的存儲(chǔ)。DNFS中文件是用分條的形式保存的,所以存儲(chǔ)端保存的</p><p>  實(shí)際是文件的分條。存儲(chǔ)端借助了Ext3文件系統(tǒng)來保存每個(gè)文件的分條,

108、原因主要</p><p>  是考慮到了Ext3文件系統(tǒng)在Linux下的廣泛使用及其高效的性能,關(guān)于Ext3的詳細(xì)信</p><p>  息,將在后面章節(jié)詳細(xì)介紹。</p><p><b>  10</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p>  其次,存儲(chǔ)端直接與客戶端

109、進(jìn)行關(guān)于文件內(nèi)容的I/O操作。DNFS中,允許存儲(chǔ)</p><p>  端被客戶端直接訪問??蛻舳送ㄟ^元數(shù)據(jù)服務(wù)器得到文件的元數(shù)據(jù)(包括了文件所</p><p>  有分條保存在哪些存儲(chǔ)端等信息)之后,直接與文件所在的分條建立連接,此后對</p><p>  該文件的I/O操作就在客戶端同存儲(chǔ)端之間進(jìn)行,除非有對命名空間的修改,否則將</p><

110、p>  不再同元數(shù)據(jù)服務(wù)器通行,這樣就降低了元數(shù)據(jù)服務(wù)器的負(fù)載。</p><p>  接著,存儲(chǔ)端還有自我負(fù)載監(jiān)控的功能。存儲(chǔ)端不斷監(jiān)控自己的負(fù)載狀況,包</p><p>  括處理器,磁盤I/O速率,網(wǎng)絡(luò)I/O速率等,并通過心跳協(xié)議發(fā)送給元數(shù)據(jù)服務(wù)器,</p><p>  以便元數(shù)據(jù)服務(wù)器通過調(diào)度來實(shí)現(xiàn)DNFS的負(fù)載均衡。</p><p&

111、gt;  最后,存儲(chǔ)端還進(jìn)行容災(zāi)備份。數(shù)據(jù)備份在不同存儲(chǔ)端之間進(jìn)行。在存儲(chǔ)端獲</p><p>  知數(shù)據(jù)要保存到哪個(gè)存儲(chǔ)端之后(這些信息是通過元數(shù)據(jù)服務(wù)器得到的),直接與</p><p>  該存儲(chǔ)端建立連接,然后備份數(shù)據(jù)。</p><p>  3)DNFS客戶端是DNFS文件系統(tǒng)的訪問入口??蛻舳诉\(yùn)行在Linux操作系統(tǒng)之</p><p>

112、;  上,在Linux中,訪問文件系統(tǒng)的I/O請求需要通過VFS(Virtual FileSystem)層,由</p><p>  VFS把用戶發(fā)來的I/O請求轉(zhuǎn)發(fā)給具體的文件系統(tǒng)。所以,想要在Linux上實(shí)現(xiàn)一個(gè)</p><p>  文件系統(tǒng),就必須提供該文件系統(tǒng)和VFS的接口。在DNFS中,該功能借助了FUSE</p><p>  (Filesystem in

113、Userspace)來實(shí)現(xiàn)。FUSE也是一款開源免費(fèi)軟件,可以自由下載安</p><p>  裝,后面將介紹更多關(guān)于FUSE的信息。由于一般Linux發(fā)行版沒有自帶FUSE,需要</p><p><b>  額外安裝FUSE。</b></p><p>  客戶端通過FUSE實(shí)現(xiàn)了標(biāo)準(zhǔn)的VFS接口,因此只要客戶端掛載了DNFS文件</p&g

114、t;<p>  系統(tǒng),用戶就可以通過標(biāo)準(zhǔn)的POSIX接口來訪問DNFS文件系統(tǒng),像一般Linux上</p><p>  的工具都可以使用,比如cat,dd,rm等等。并且由于FUSE,客戶端運(yùn)行于用戶態(tài)</p><p>  空間??蛻舳耸荄NFS系統(tǒng)I/O請求的發(fā)起者,用戶都是通過客戶端來訪問DNFS文</p><p><b>  件系統(tǒng)的。

115、</b></p><p>  圖2.2顯示了DNFS系統(tǒng)中各個(gè)功能模塊之間的文件I/O流。首先,客戶端和元數(shù)</p><p>  據(jù)服務(wù)器之間的文件I/O流包括了目錄操作、文件打開與關(guān)閉、文件的元數(shù)據(jù)訪問,</p><p>  以及多個(gè)客戶端同時(shí)訪問同一文件時(shí)的并發(fā)控制,還有元數(shù)據(jù)服務(wù)器對客戶端所進(jìn)</p><p>  行的狀態(tài)監(jiān)

116、控。其次,客戶端和存儲(chǔ)端之間的I/O流包括了對文件內(nèi)容的讀寫,即客</p><p>  戶端可以直接寫入數(shù)據(jù)到存儲(chǔ)端上,也可以直接從存儲(chǔ)端獲取文件的內(nèi)容。最后,</p><p>  元數(shù)據(jù)服務(wù)器和存儲(chǔ)端之間的文件I/O包括了保持各個(gè)存儲(chǔ)端之間負(fù)載均衡的所進(jìn)行</p><p>  的通訊,以及進(jìn)行文件容錯(cuò)備份所進(jìn)行的通訊。</p><p>&l

117、t;b>  11</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p><b>  客戶端</b></p><p><b>  目錄操作,</b></p><p><b>  文件打開/關(guān)閉,</b></p><p>&

118、lt;b>  元數(shù)據(jù)訪問,</b></p><p><b>  并發(fā)控制,</b></p><p><b>  狀態(tài)監(jiān)控</b></p><p><b>  文件內(nèi)容I/O</b></p><p><b>  2.1.2</b></

119、p><p><b>  元數(shù)據(jù)服務(wù)器</b></p><p><b>  系統(tǒng)硬件結(jié)構(gòu)</b></p><p><b>  圖 2.2</b></p><p><b>  負(fù)載均衡,</b></p><p><b>  容錯(cuò)備

120、份,</b></p><p>  DNFS 各功能模塊之間文件 I/O 流</p><p><b>  存儲(chǔ)端</b></p><p>  如圖2.1所示。DNFS系統(tǒng)的硬件主要分為四個(gè)部分:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)和計(jì)</p><p>  算節(jié)點(diǎn)以及互連這些節(jié)點(diǎn)的高速網(wǎng)絡(luò)。管理節(jié)點(diǎn)之上運(yùn)行了元數(shù)據(jù)服務(wù)器和集群管&

121、lt;/p><p>  理者這兩個(gè)個(gè)功能模塊。存儲(chǔ)節(jié)點(diǎn)上運(yùn)行了DNFS系統(tǒng)中的存儲(chǔ)端模塊。計(jì)算節(jié)點(diǎn)</p><p>  則主要運(yùn)行的是DNFS中的客戶端模塊。高速網(wǎng)絡(luò)則是用于把以上三中節(jié)點(diǎn)互連起</p><p>  來,實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)間互相通信的一個(gè)媒介。</p><p>  與PVFS類似,DNFS也是為運(yùn)行在廉價(jià)的Linux集群系統(tǒng)[36]之上

122、而開發(fā)的,因此,</p><p>  DNFS系統(tǒng)對硬件的要求很低。DNFS系統(tǒng)中的計(jì)算節(jié)點(diǎn),管理節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)均為</p><p>  安裝了Linux操作系統(tǒng)的普通PC機(jī)即可,各個(gè)節(jié)點(diǎn)之間的高速網(wǎng)絡(luò)一般也需千兆以</p><p>  太網(wǎng)設(shè)備(如果只是用于實(shí)驗(yàn),百兆甚至更低的以太網(wǎng)設(shè)備也是可以的)。</p><p>  在目前的DNFS系

123、統(tǒng)中,只有一個(gè)管理節(jié)點(diǎn),未來視需要可能會(huì)實(shí)現(xiàn)為多管理</p><p>  節(jié)點(diǎn)。相對存儲(chǔ)節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn),管理節(jié)點(diǎn)的機(jī)器最好是處理器處理能力較強(qiáng),內(nèi)</p><p>  存交大的機(jī)器。存儲(chǔ)節(jié)點(diǎn)的數(shù)量則理論上沒有限制,限于實(shí)驗(yàn)環(huán)境有限,目前只嘗</p><p>  試過最多24個(gè)存儲(chǔ)節(jié)點(diǎn)。計(jì)算節(jié)點(diǎn)的數(shù)量也沒有限制,可以根據(jù)需要連入DNFS系</p><

124、;p><b>  統(tǒng)。</b></p><p>  管理節(jié)點(diǎn),存儲(chǔ)節(jié)點(diǎn)以及計(jì)算節(jié)點(diǎn)是可以共同運(yùn)行在同一臺(tái)機(jī)器上的,但為了</p><p><b>  12</b></p><p>  華中科技大學(xué)碩士學(xué)位論文</p><p>  性能達(dá)到最優(yōu),不推薦這樣做,一般是一臺(tái)機(jī)器只運(yùn)行一種節(jié)點(diǎn)的一個(gè)副

125、本,且存</p><p>  儲(chǔ)節(jié)點(diǎn)一般不少于計(jì)算節(jié)點(diǎn),有關(guān)DNFS系統(tǒng)性能方面的內(nèi)容,將在第4章詳細(xì)介紹。</p><p><b>  2.2</b></p><p><b>  VFS 接口實(shí)現(xiàn)</b></p><p>  前面講到過,在DNFS客戶端運(yùn)行于Linux操作系統(tǒng)之上,而在Linux

126、下,要實(shí)現(xiàn)</p><p>  自己的文件系統(tǒng),就必須提供與虛擬文件系統(tǒng)VFS打交道的接口[37]。在DNFS中,正</p><p>  是借助了FUSE(Filesystem in Userspace)完成了這樣一個(gè)功能。FUSE是DNFS用到</p><p><b>  的關(guān)鍵技術(shù)之一。</b></p><p>  

127、FUSE提供了一組簡單的接口,為用戶態(tài)程序提供了Linux內(nèi)核的虛擬文件系統(tǒng)。</p><p>  正如FUSE名字上所說的——Filesystem in Userspace,F(xiàn)USE創(chuàng)建的文件系統(tǒng)是在用</p><p>  戶空間運(yùn)行的,這樣就允許普通用戶通過FUSE提供的安全機(jī)制來創(chuàng)建和掛載自己</p><p>  的文件系統(tǒng)。由于FUSE是可加載的內(nèi)核模塊,普

128、通用戶不需要重新編譯內(nèi)核就可</p><p>  以創(chuàng)建功能完備的文件系統(tǒng)。對于讀寫虛擬文件系統(tǒng)來說,F(xiàn)USE是個(gè)很好的選擇。</p><p>  FUSE起初是設(shè)計(jì)用于支持 AVFS(A Virtual Filesystem)的,而現(xiàn)在已經(jīng)成為</p><p>  SourceForge 的 一 個(gè) 獨(dú) 立 項(xiàng) 目 , 目 前 適 用 的 平 臺(tái) 有 Linux、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論