分布式文件系統(tǒng)概述_第1頁(yè)
分布式文件系統(tǒng)概述_第2頁(yè)
分布式文件系統(tǒng)概述_第3頁(yè)
分布式文件系統(tǒng)概述_第4頁(yè)
分布式文件系統(tǒng)概述_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、分布式文件系統(tǒng)概述文件系統(tǒng)是操作系統(tǒng)的一個(gè)重要組成部分,通過對(duì)操作系統(tǒng)所管理的存儲(chǔ)空間的抽象,向用戶提供統(tǒng)一的、對(duì)象化的訪問接口,屏蔽對(duì)物理設(shè)備的直接操作和資源管理。根據(jù)計(jì)算環(huán)境和所提供功能的不同,文件系統(tǒng)可劃分為四個(gè)層次,從低到高依次是:?jiǎn)翁幚砥鲉斡脩舻谋镜匚募到y(tǒng),如DOS的文件系統(tǒng);多處理器單用戶的本地文件系統(tǒng),如OS/2的文件系統(tǒng);多處理器多用戶的文件系統(tǒng),如Unix的本地文件系統(tǒng);多處理器多用戶的分布式文件系統(tǒng)。本地文件系統(tǒng)(Local File System)是指文件系統(tǒng)管理的物理存儲(chǔ)資源直接連接在本地節(jié)點(diǎn)上,處理器通過系統(tǒng)總線可以直接訪問。分布式文件系統(tǒng)(Distributed

2、File System)是指文件系統(tǒng)管理的物理存儲(chǔ)資源不一定直接連接在本地節(jié)點(diǎn)上,而是通過計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連。上述按照層次的分類中,高層次的文件系統(tǒng)都是以低層次的文件系統(tǒng)為基礎(chǔ),實(shí)現(xiàn)了更高級(jí)的功能。比如多處理器單用戶的本地文件系統(tǒng)需要比單處理器單用戶的本地文件系統(tǒng)多考慮并發(fā)控制(Concurrency Control),因?yàn)榭赡艽嬖诙鄠€(gè)處理器同時(shí)訪問文件系統(tǒng)的情況;多處理器多用戶的文件系統(tǒng)需要比多處理器單用戶的本地文件系統(tǒng)多考慮數(shù)據(jù)安全訪問方面的設(shè)計(jì),因?yàn)槎鄠€(gè)用戶存在于同一個(gè)系統(tǒng)中,保證數(shù)據(jù)的授權(quán)訪問是一個(gè)關(guān)鍵;多處理器多用戶的分布式文件系統(tǒng)需要比多處理器多用戶的文件系統(tǒng)多考慮分布式體系結(jié)構(gòu)

3、帶來(lái)的諸多問題,比如同步訪問、緩沖一致性等。隨著層次的提高,文件系統(tǒng)在設(shè)計(jì)和實(shí)現(xiàn)方面的難度也會(huì)成倍提高。但是,現(xiàn)在的分布式文件系統(tǒng)一般還是保持與最基本的本地文件系統(tǒng)幾乎相同的訪問接口和對(duì)象模型,這主要是為了向用戶提供向后的兼容性,同時(shí)保持原來(lái)的簡(jiǎn)單對(duì)象模型和訪問接口。但這并不說明文件系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的難度沒有增加。正是由于對(duì)用戶透明地改變了結(jié)構(gòu),滿足用戶的需求,以掩蓋分布式文件操作的復(fù)雜性,才大大增加了分布式文件系統(tǒng)的實(shí)現(xiàn)難度12。一、 分布式文件系統(tǒng)的發(fā)展歷史在計(jì)算機(jī)性能不斷提升的同時(shí),計(jì)算機(jī)部件的平均價(jià)格卻在不斷下降。用戶可以用更低的成本,購(gòu)買更好、更快、更穩(wěn)定的設(shè)備。存儲(chǔ)系統(tǒng)、文件系統(tǒng)面臨

4、的新挑戰(zhàn)也隨之而來(lái):如何管理更多的設(shè)備,提供更好的性能,更加有效地降低管理成本等。各種新的存儲(chǔ)技術(shù)和分布式文件技術(shù)層出不窮,以滿足用戶日益增長(zhǎng)的需求。以下為分布式文件系統(tǒng)的發(fā)展過程中的幾個(gè)階段12:19801990年早期的分布式文件系統(tǒng)一般以提供標(biāo)準(zhǔn)接口的遠(yuǎn)程文件訪問為目的,更多地關(guān)注訪問的性能和數(shù)據(jù)的可靠性。 主要以NFS和AFS(Andrew File System)最具代表性,它們對(duì)以后的文件系統(tǒng)設(shè)計(jì)也具有十分重要的影響。 19901995年20世紀(jì)90年代初,面對(duì)廣域網(wǎng)和大容量存儲(chǔ)應(yīng)用的需求,以及當(dāng)時(shí)產(chǎn)生的先進(jìn)的高性能對(duì)稱多處理器的設(shè)計(jì)思想,加利福尼亞大學(xué)設(shè)計(jì)開發(fā)的 xFS,克服了以前

5、的分布式文件系統(tǒng)一般都運(yùn)行在局域網(wǎng)(LAN)上的弱點(diǎn),很好地解決了在廣域網(wǎng)上進(jìn)行緩存,以減少網(wǎng)絡(luò)流量的難題。它所采用的多層次結(jié)構(gòu)很好地利用了文件系統(tǒng)的局部訪問的特性,無(wú)效寫回(Invalidation-based Write Back)緩存一致性協(xié)議,減少了網(wǎng)絡(luò)負(fù)載。對(duì)本地主機(jī)和本地存儲(chǔ)空間的有效利用,使它具有較好的性能。 19952000年在這個(gè)階段,計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)有了突飛猛進(jìn)的發(fā)展,單位存儲(chǔ)的成本大幅降低。而數(shù)據(jù)總線帶寬、磁盤速度的增長(zhǎng)無(wú)法滿足應(yīng)用對(duì)數(shù)據(jù)帶寬的需求,存儲(chǔ)子系統(tǒng)成為計(jì)算機(jī)系統(tǒng)發(fā)展的瓶頸。網(wǎng)絡(luò)技術(shù)的發(fā)展和普及應(yīng)用極大地推動(dòng)了網(wǎng)絡(luò)存儲(chǔ)技術(shù)的發(fā)展,基于光纖通道的SAN、NAS

6、得到了廣泛應(yīng)用。這也推動(dòng)了分布式文件系統(tǒng)的研究,出現(xiàn)了多種體系結(jié)構(gòu),充分利用了網(wǎng)絡(luò)技術(shù)。 2000年以后隨著SAN和NAS兩種體系結(jié)構(gòu)逐漸成熟,研究人員開始考慮如何將兩種體系結(jié)構(gòu)結(jié)合起來(lái),以充分利用兩者的優(yōu)勢(shì)。另一方面,基于多種分布式文件系統(tǒng)的研究成果,人們對(duì)體系結(jié)構(gòu)的認(rèn)識(shí)不斷深入,網(wǎng)格的研究成果等也推動(dòng)了分布式文件系統(tǒng)體系結(jié)構(gòu)的發(fā)展。這一時(shí)期,IBM的 StorageTank、Cluster的Lustre、Panasas的PanFS、藍(lán)鯨文件系統(tǒng)(BWFS)等是這種體系結(jié)構(gòu)的代表。各種應(yīng)用對(duì)存儲(chǔ)系統(tǒng)提出了更多的需求: 大容量現(xiàn)在的數(shù)據(jù)量比以前任何時(shí)期更多,生成的速度更快;高性能數(shù)據(jù)訪問需要更

7、高的帶寬;高可用性不僅要保證數(shù)據(jù)的高可用性,還要保證服務(wù)的高可用性; 可擴(kuò)展性應(yīng)用在不斷變化,系統(tǒng)規(guī)模也在不斷變化,這就要求系統(tǒng)提供很好的擴(kuò)展性,并在容量、性能、管理等方面都能適應(yīng)應(yīng)用的變化;可管理性隨著數(shù)據(jù)量的飛速增長(zhǎng),存儲(chǔ)的規(guī)模越來(lái)越龐大,存儲(chǔ)系統(tǒng)本身也越來(lái)越復(fù)雜,這給系統(tǒng)的管理、運(yùn)行帶來(lái)了很高的維護(hù)成本;按需服務(wù)能夠按照應(yīng)用需求的不同提供不同的服務(wù),如不同的應(yīng)用、不同的客戶端環(huán)境、不同的性能等。 二、 分布式文件系統(tǒng)的關(guān)鍵問題分布式文件系統(tǒng)的目標(biāo)就是利用已有的網(wǎng)絡(luò)和資源向用戶透明的提供一個(gè)類似本地文件系統(tǒng)的大容量,高性能,具有容錯(cuò)性和可擴(kuò)展性的系統(tǒng)。設(shè)計(jì)一個(gè)分布式系統(tǒng)需要考慮很多因素,如

8、數(shù)據(jù)組織,網(wǎng)絡(luò)情況,安全性,容錯(cuò)性等等。大多數(shù)分布式系統(tǒng)的都有一定的目標(biāo)性,也就是并不意圖提供一個(gè)通用的文件系統(tǒng),而只是提供在某種情況下性能比較高的解決方法,如GFS5,就是Google專門為自己的應(yīng)用程序提供的解決方案;Cegor1主要是提供一種在異構(gòu)網(wǎng)絡(luò)環(huán)境下自適應(yīng)的文件系統(tǒng);IncFS2則是以NFS6為基礎(chǔ)提供一種分布式文件系統(tǒng)的簡(jiǎn)單解決方法;Coda11則比較側(cè)重于移動(dòng)計(jì)算方面等等??梢娨O(shè)計(jì)一個(gè)通用的分布式文件系統(tǒng)是多么的困難,后面主要以這次閱讀的文獻(xiàn)中的一些資料及自己的想法從以下幾個(gè)方面來(lái)談?wù)劊?. 總體結(jié)構(gòu)分布式文件系統(tǒng)結(jié)構(gòu)上有兩種大的方式12,一種是專用服務(wù)器結(jié)構(gòu),一種是無(wú)服務(wù)

9、器結(jié)構(gòu),這次看的資料基本上都是專用服務(wù)器結(jié)構(gòu)的。專用服務(wù)器又分為兩種,一種是單個(gè)系統(tǒng)服務(wù)器。由于只有一個(gè)系統(tǒng)服務(wù)器,數(shù)據(jù)的一致性問題得到很大的緩解,但其可擴(kuò)展性卻受到限制。另外一種是多個(gè)系統(tǒng)服務(wù)器。這種系統(tǒng)一般具有較好的可擴(kuò)展性,但由于多個(gè)系統(tǒng)服務(wù)器的原因,數(shù)據(jù)一致性很難處理。GFS5是由單個(gè)主控服務(wù)器,多個(gè)數(shù)據(jù)塊服務(wù)器組成,嚴(yán)格來(lái)說算是多個(gè)系統(tǒng)服務(wù)器。但是GFS將所有的元數(shù)據(jù)和數(shù)據(jù)的分布信息都保留在主控服務(wù)器上,客戶端的數(shù)據(jù)讀寫首先必須得通過與主控服務(wù)器的交互才能進(jìn)行,所以我覺得又有點(diǎn)單個(gè)系統(tǒng)服務(wù)器的意思,這樣可以簡(jiǎn)化整個(gè)系統(tǒng)的設(shè)計(jì)。GFS架構(gòu)另外,在看文獻(xiàn)的時(shí)候,發(fā)現(xiàn)一些系統(tǒng)在構(gòu)建時(shí)就是以

10、其它的分布式文件系統(tǒng)為基礎(chǔ)的。如IncFS2就是以NFS為基礎(chǔ)構(gòu)建,所有的網(wǎng)絡(luò)通信都是以NFS為基礎(chǔ)進(jìn)行;而Coda11的很多特性都是從AFS8繼承下來(lái)的。而大部分的分布式文件系統(tǒng)則是以本地文件系統(tǒng)(主要是Linux文件系統(tǒng)或者VFS)為基礎(chǔ)的,甚至還出現(xiàn)了用戶空間的文件系統(tǒng)3。2. 數(shù)據(jù)組織及管理分布式文件系統(tǒng)的一個(gè)主要目的就是整合資源,將不同機(jī)器上的存儲(chǔ)資源進(jìn)行有效利用。如何對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行組織并進(jìn)行有效的管理,對(duì)整個(gè)系統(tǒng)的性能有重要的影響。大部分的分布式文件系統(tǒng)都是將數(shù)據(jù)以Linux文件的形式存儲(chǔ)在服務(wù)器上。但是各個(gè)系統(tǒng)可能根據(jù)實(shí)際需要會(huì)對(duì)數(shù)據(jù)的組織形式有所改變。如上圖,GFS5將元數(shù)據(jù)

11、(文件名,數(shù)據(jù)塊到文件的映射,數(shù)據(jù)塊的位置)與文件數(shù)據(jù)區(qū)分,元數(shù)據(jù)保存在主控服務(wù)器上,而文件數(shù)據(jù)則被分成固定大小的塊(以Linux文件的形式保存)保存在數(shù)據(jù)塊服務(wù)器上。而文件數(shù)據(jù)的分布信息則是保存在主控服務(wù)器上的,這樣,當(dāng)要進(jìn)行數(shù)據(jù)的讀寫時(shí),都必須首先與主控服務(wù)器進(jìn)行交互,當(dāng)然,如果在一定的生命期內(nèi),客戶端緩存的元數(shù)據(jù)據(jù)有效時(shí)則可跳過這一步的執(zhí)行。那么,主控服務(wù)器如何來(lái)得知數(shù)據(jù)塊的變化信息呢?比如因?yàn)槟硞€(gè)數(shù)據(jù)塊服務(wù)器在某個(gè)時(shí)刻崩潰了。事實(shí)上,主控服務(wù)器并不是保存數(shù)據(jù)塊位置的固定信息,而是通過“心跳”機(jī)制來(lái)動(dòng)態(tài)的更新,這樣當(dāng)某一個(gè)數(shù)據(jù)塊服務(wù)器崩潰時(shí),主控服務(wù)器至少在下一次通過“心跳”來(lái)交互時(shí)就會(huì)

12、更新這一信息。另外,并且為了保證可靠性,每個(gè)數(shù)據(jù)塊都會(huì)被復(fù)制到多個(gè)不同的數(shù)據(jù)塊服務(wù)器上。并且當(dāng)主控服務(wù)器在某一次通過“心跳”交互后,發(fā)現(xiàn)某個(gè)數(shù)據(jù)塊的副本量少于特定的值時(shí),主控服務(wù)器會(huì)重新創(chuàng)建新的副本,以達(dá)到要求。Ceph7,IncFS2采用了和GFS5類似的機(jī)制,以元數(shù)據(jù)服務(wù)器(Meta Server)來(lái)保存文件信息,而以存儲(chǔ)服務(wù)器(Storage Server)來(lái)保存文件的數(shù)據(jù)。采用這種形式的數(shù)據(jù)組織,可以有效的保證全局的文件名稱空間。類似GFS,IncFS2這種底層以Linux文件保存數(shù)據(jù)、通過系統(tǒng)提價(jià)的文件操作接口訪問數(shù)據(jù)的形式稱之為文件級(jí)別的存儲(chǔ)。而在TLDFS4中,作者提出了一種塊級(jí)

13、別的存儲(chǔ)方案,分布式文件系統(tǒng)直接操作設(shè)備塊,而不是文件。并且為了提高在并發(fā)訪問時(shí)的鎖定操作的效率,文件提出了一種改良的塊組織形式,如下:將原來(lái)分配專門的塊來(lái)保存inode的方式改成將inode平均的分布在數(shù)據(jù)區(qū)中。這樣,當(dāng)需要鎖定某個(gè)inode時(shí)就不會(huì)同時(shí)鎖定在同一個(gè)塊上的其它inode,從而可以更好的支持并發(fā)訪問。3. 數(shù)據(jù)一致性分布式文件系統(tǒng)中,需要保證多個(gè)客戶端并發(fā)訪問時(shí)的數(shù)據(jù)一致性。為了保證以上語(yǔ)義,分布式文件系統(tǒng)需要仔細(xì)的處理客戶端與服務(wù)端交互的協(xié)議。保證數(shù)據(jù)一致性需要保證以下語(yǔ)義6:n 每一次對(duì)文件數(shù)據(jù)的讀操作都應(yīng)該看到所有之前寫操作的結(jié)果。n 對(duì)于一個(gè)已打開文件的寫操作應(yīng)該對(duì)本地

14、客戶端可見,但是對(duì)同時(shí)打開這個(gè)文件的其它遠(yuǎn)程客戶端并不可見。n 當(dāng)一個(gè)文件被關(guān)閉時(shí),對(duì)此文件所做的修改要到下一次的會(huì)話中才對(duì)其它客戶端可見,已經(jīng)打開的文件并不反映這些變化。租賃協(xié)議10:租賃就是保證某些屬性在固定的時(shí)間段內(nèi)有效的一個(gè)約定。當(dāng)客戶端用服務(wù)器發(fā)出一個(gè)讀操作請(qǐng)求時(shí),它不僅收到所請(qǐng)求的數(shù)據(jù),而且會(huì)收到一個(gè)租賃,它保證在租賃的有效期內(nèi),服務(wù)器不會(huì)對(duì)客戶端收到的數(shù)據(jù)進(jìn)行更新。如果客戶端對(duì)一個(gè)本地已經(jīng)緩存的文件進(jìn)行操作,只要那個(gè)文件的租賃沒有過期,客戶端就不需要從服務(wù)端重新請(qǐng)求數(shù)據(jù),而只要對(duì)緩存中的數(shù)據(jù)時(shí)行操作即可,也就是說,在租賃過期時(shí),客戶端必須與服務(wù)器進(jìn)行交互以確認(rèn)本地的數(shù)據(jù)是否是最新

15、的數(shù)據(jù),如若不然,則必須從服務(wù)器獲取新的數(shù)據(jù)。當(dāng)服務(wù)器收到客戶端的更新請(qǐng)求時(shí),它并不是立即就確認(rèn)此次更新。在提交更新前,服務(wù)器必須征得所有擁有這個(gè)文件有效租賃的客戶端同意。當(dāng)客戶端收到服務(wù)器的更新確認(rèn)請(qǐng)求時(shí),就將已經(jīng)擁有的有效租賃標(biāo)記為無(wú)效,這樣,更新才會(huì)最終寫入文件。此后,如果客戶端需要讀取相同的文件時(shí),它必須從服務(wù)器獲取新的數(shù)據(jù),同時(shí)獲取一個(gè)新的有效租賃。調(diào)和一致性協(xié)議1:是一個(gè)基于租賃的一致性協(xié)議。在擁有的租賃過期時(shí),客戶端必須和文件服務(wù)器進(jìn)行調(diào)和。在兩次調(diào)和事件之間,所有在本地緩存中的數(shù)據(jù)都將作為最新數(shù)據(jù)使用,也就是最后一次調(diào)和產(chǎn)生的數(shù)據(jù)。調(diào)和一致性協(xié)議將保證客戶端在下一次調(diào)和后看到所

16、有文件的最新版本數(shù)據(jù)。這個(gè)協(xié)議保證一個(gè)客戶端所做的修改在最多兩個(gè)調(diào)和周期后被另一個(gè)客戶看到。上面的協(xié)議都只提供了多讀者單寫者的機(jī)制,也就是說同一時(shí)間在同一個(gè)文件上可以有多個(gè)讀操作,但同一時(shí)間只能有一個(gè)寫操作進(jìn)行,類似的如TLDFS4。另一方面,一些分布式系統(tǒng)提供了多個(gè)更新操作并發(fā)執(zhí)行的機(jī)制,如GFS中提出的一致性模型,它只保證每個(gè)寫操作都以原子操作對(duì)每個(gè)副本以相同的順序至少執(zhí)行一次,而并不保證最終的數(shù)據(jù)結(jié)果完全一樣(字節(jié)相似)。另外,GFS使用版本號(hào)來(lái)檢測(cè)已經(jīng)過期的數(shù)據(jù),采用類似機(jī)制的還有Coda的版本號(hào)向量9。而有些系統(tǒng)的實(shí)現(xiàn)僅對(duì)文件操作提供數(shù)據(jù)一致性保障,沒有保證讀操作獲得的內(nèi)容結(jié)果的有效

17、性13。4. Cache當(dāng)客戶端進(jìn)程需要訪問服務(wù)器數(shù)據(jù)時(shí),一般都會(huì)加入緩存機(jī)制,以提高數(shù)據(jù)訪問的性能。當(dāng)客戶端第一次請(qǐng)求數(shù)據(jù)時(shí),服務(wù)器總會(huì)返回更多數(shù)據(jù),并且將這些數(shù)據(jù)緩存在本地,以后客戶端的操作都是對(duì)本地緩存進(jìn)行操作,以減少網(wǎng)絡(luò)通信流量,提高效率。這樣,當(dāng)存在多個(gè)客戶端的并發(fā)訪問時(shí),就需要一個(gè)機(jī)制來(lái)保證緩存數(shù)據(jù)的一致性。分布式系統(tǒng)中緩存的設(shè)計(jì)需要解決以下的設(shè)計(jì)問題6:l 緩存數(shù)據(jù)的粒度。l 客戶端緩存的位置(主存或者硬盤)。l 緩存副本的更新如何進(jìn)行。l 如何判斷客戶端緩存數(shù)據(jù)的一致性。GFS區(qū)分了元數(shù)據(jù)和文件數(shù)據(jù),客戶端會(huì)緩存元數(shù)據(jù)(文件屬性,數(shù)據(jù)塊位置等),以加快訪問速度,并且在一定的有效

18、期后,這些信息需要從服務(wù)器重新獲取。而對(duì)于文件數(shù)據(jù),客戶端和數(shù)據(jù)塊服務(wù)器都不會(huì)進(jìn)行緩存5??蛻舳瞬贿M(jìn)行緩存主要是因?yàn)镚FS處理的主要是大文件,這對(duì)緩存來(lái)說不太現(xiàn)實(shí),并且這樣的話可以簡(jiǎn)化因?yàn)榫彺娑鴰?lái)的數(shù)據(jù)一致性問題;而數(shù)據(jù)塊服務(wù)器不對(duì)文件數(shù)據(jù)緩存主要是因?yàn)閿?shù)據(jù)塊是以Linux文件的形式存在的,Linux系統(tǒng)會(huì)自動(dòng)緩存經(jīng)常訪問的數(shù)據(jù)。類似的還有NFS也是只緩存文件或者目錄的屬性信息,并且保存一定的時(shí)間,而并不緩存文件數(shù)據(jù)12。在AFS中,服務(wù)器會(huì)記錄客戶端的緩存行為,客戶端緩存文件的屬性和數(shù)據(jù),并且采用LRU算法對(duì)緩存進(jìn)行更新。當(dāng)有其它客戶端試圖修改已經(jīng)被別的客戶端緩存的文件屬性或者數(shù)據(jù)時(shí),服務(wù)

19、器會(huì)采用回調(diào)的機(jī)制來(lái)通知客戶端這些緩存已經(jīng)失效8。雖然回調(diào)機(jī)制減少了緩存確認(rèn)的通信流量,但是使整個(gè)系統(tǒng)變得更加復(fù)雜,因?yàn)榭蛻舳撕头?wù)端都必須保存回調(diào)的狀態(tài)信息。Cegor在借鑒AFS中緩存機(jī)制的基礎(chǔ)上,提出了基于語(yǔ)義視圖的緩存機(jī)制1。以陰影緩存(Shadow Cache)來(lái)保存暫時(shí)不經(jīng)常訪問的文件;對(duì)于陰影緩存中的數(shù)據(jù),采用自適應(yīng)放縮協(xié)議(Adaptive Zooming Protocol)來(lái)進(jìn)行更新。從以上可以看出,不同的系統(tǒng)都會(huì)根據(jù)各自的需要,對(duì)緩存機(jī)制進(jìn)行一些調(diào)整,來(lái)更好的適應(yīng)應(yīng)用環(huán)境的需要。5. 安全性在傳統(tǒng)的分布式文件系統(tǒng)中,所有關(guān)于文件的數(shù)據(jù)和元數(shù)據(jù)都要經(jīng)過元數(shù)據(jù)服務(wù)器進(jìn)行存取,因

20、為系統(tǒng)的安全性都可以在元數(shù)據(jù)服務(wù)器那里集中控制。這樣的情況下,安全性比較容易實(shí)現(xiàn),一般采用簡(jiǎn)單的身份驗(yàn)證和訪問授權(quán)的形式即可,如NFS,GFS等。Cegor提出了在異構(gòu)網(wǎng)絡(luò)環(huán)境中以連接視圖(Connection View)為基礎(chǔ)的安全訪問機(jī)制1。連接視圖被定義成客戶端和文件服務(wù)器斷開連接時(shí),所有連接的一個(gè)快照。為連接視圖中的每個(gè)結(jié)點(diǎn)以HASH算法為基礎(chǔ)遞歸的生成一個(gè)密鑰,而另一個(gè)預(yù)先定義的密鑰則在初始的文件掛載過程中分發(fā)給客戶端,以后的客戶端訪問都是在此基礎(chǔ)上進(jìn)行授權(quán)的。6. 性能優(yōu)化在分布式系統(tǒng)中,為了提高數(shù)據(jù)訪問的速度,減少網(wǎng)絡(luò)通信的流量,不同的系統(tǒng)都會(huì)采用不同的策略來(lái)對(duì)性能做出優(yōu)化。比如

21、在GFS中,為了節(jié)省文件操作的時(shí)間,所有的元數(shù)據(jù)信息都是常住內(nèi)存的;Cegor1不僅使用緩存技術(shù)來(lái)減少通信流量,還提出了基于類型的通信延遲優(yōu)化策略:它使用差異算法來(lái)計(jì)算兩個(gè)文件之間的差別產(chǎn)生一個(gè)“” 并將這部分做為最終的更新數(shù)據(jù),主要的觀點(diǎn)是對(duì)不同類型的文件采用不同的差異算法,以最大限度的節(jié)省計(jì)算時(shí)間和利用帶寬。7. 容錯(cuò)性在分布式環(huán)境中,容錯(cuò)性是一個(gè)重要的問題。當(dāng)服務(wù)器對(duì)一個(gè)客戶端提供數(shù)據(jù)服務(wù)時(shí),如果緩存有關(guān)客戶端的信息時(shí),則稱服務(wù)器是有狀態(tài)的(stateful),反之,則稱為無(wú)狀態(tài)的(stateless)6。當(dāng)服務(wù)器在一次數(shù)據(jù)服務(wù)過程中崩潰時(shí),無(wú)狀態(tài)和有狀態(tài)服務(wù)器之間的區(qū)別就更加明顯:有狀

22、態(tài)服務(wù)器會(huì)丟失所有易失性狀態(tài),所以就需要一種機(jī)制來(lái)重新恢復(fù)到崩潰以前的狀態(tài);而在崩潰后,新的無(wú)狀態(tài)服務(wù)器卻可以很方便的重新向客戶端提供數(shù)據(jù)服務(wù),但是,卻需要更長(zhǎng)的請(qǐng)求消息和更久的處理過程,因?yàn)?,服?wù)器并沒有保留任何信息來(lái)加速這個(gè)過程。容錯(cuò)性環(huán)境下定義了兩種文件屬性6:l 可恢復(fù),當(dāng)操作一個(gè)文件失敗時(shí),存在一種機(jī)制可以把已經(jīng)不一致的文件數(shù)據(jù)恢復(fù)到一個(gè)更早的一致性狀態(tài),則被定義為可恢復(fù)的。l 健壯性,如果一個(gè)文件保證在部分存儲(chǔ)設(shè)備或者媒體失效時(shí)可以正常訪問,則被定義為健壯的??苫謴?fù)性可以通過原子更新操作來(lái)保證,健壯性則可以通過冗余技術(shù)來(lái)實(shí)現(xiàn)。GFS中,因?yàn)橄到y(tǒng)所用設(shè)備的原因,既不能完全的信任機(jī)器,

23、也不能完全的信任磁盤,所以為了提高可用性,它提供了兩種策略5:快速恢復(fù)和保存多個(gè)副本??焖倩謴?fù)保證不管服務(wù)器如何崩潰,它們都可以在幾秒鐘內(nèi)重新起動(dòng)并恢復(fù)到原來(lái)的狀態(tài)。保存多個(gè)副本的策略有兩個(gè)方面,一個(gè)是數(shù)據(jù)塊備份,每個(gè)數(shù)據(jù)塊都會(huì)在不同架的不同服務(wù)器上進(jìn)行備份,并且保證每個(gè)數(shù)據(jù)塊的完全備份(副本的數(shù)量達(dá)到一定要求);另一方面,為了保證可靠性,主控服務(wù)器的狀態(tài)也會(huì)進(jìn)行備份,當(dāng)主控服務(wù)器的狀態(tài)需要更新時(shí),會(huì)先對(duì)所有的備份更新成功后才進(jìn)行。同時(shí),為了保證數(shù)據(jù)完整性,每個(gè)數(shù)據(jù)塊服務(wù)器都會(huì)使用檢驗(yàn)和來(lái)檢測(cè)已經(jīng)破壞的數(shù)據(jù),因?yàn)樵跀?shù)據(jù)塊服務(wù)器之間比較各個(gè)數(shù)據(jù)塊是不現(xiàn)實(shí)的,并且,GFS并不保證每個(gè)數(shù)據(jù)塊的完全相

24、似性。在SODA中,因?yàn)橹疤岬降淖赓U協(xié)議本身就是具有容錯(cuò)性的10,所以并不需要其它的機(jī)制來(lái)實(shí)現(xiàn)容錯(cuò)性。8. 可擴(kuò)展性應(yīng)用對(duì)分布式文件系統(tǒng)在性能和容量方面的需要在不斷的增長(zhǎng)。分布式文件系統(tǒng)一般都是通過擴(kuò)充系統(tǒng)規(guī)模來(lái)取得更好的性能和更大的容量。但是對(duì)于各種系統(tǒng)結(jié)構(gòu),系統(tǒng)在規(guī)模上可能存在不同的限制。比如NFS采用單個(gè)服務(wù)器,那個(gè)整個(gè)系統(tǒng)的性能和容量都存在瓶頸,難以突破單個(gè)服務(wù)器系統(tǒng)的極限。設(shè)法保證系統(tǒng)的性能隨著系統(tǒng)的規(guī)模能夠性性增長(zhǎng),是分布式文件系統(tǒng)一直努力的目標(biāo)12。另一方面,擴(kuò)展性還體現(xiàn)在系統(tǒng)規(guī)模的增長(zhǎng)不會(huì)帶來(lái)系統(tǒng)管理復(fù)雜度的過度增加。降低控制系統(tǒng)的管理成本,簡(jiǎn)化系統(tǒng)的管理流程,都是分布式文件

25、系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)。比如在GFS中,因?yàn)橹骺胤?wù)器和數(shù)據(jù)塊服務(wù)器的分離,動(dòng)態(tài)的添加服務(wù)器并不會(huì)影響整個(gè)系統(tǒng)的管理難度,但同時(shí)又提高了整體容量、訪問性能和更高的可靠性。三、 總結(jié)通過這次的文獻(xiàn)閱讀,大體上了解了分布式文件系統(tǒng)的發(fā)展過程,各個(gè)階段提出的文件系統(tǒng)的特點(diǎn)以及在設(shè)計(jì)分布式文件系統(tǒng)時(shí)需要考慮的問題。技術(shù)的進(jìn)步,應(yīng)用需求的發(fā)展,是分布式文件系統(tǒng)不斷進(jìn)步的原動(dòng)力?,F(xiàn)在的分布式文件系統(tǒng),已經(jīng)不再是單純的文件系統(tǒng),而是整合了很多其它方面計(jì)算機(jī)技術(shù)的綜合系統(tǒng),其發(fā)展更加注重系統(tǒng)的性能、擴(kuò)展性、可用性等因素,同時(shí)結(jié)合存儲(chǔ)管理,也更加強(qiáng)調(diào)降低整個(gè)系統(tǒng)的總體擁有成本,包括系統(tǒng)的管理成本。總的來(lái)說,還是收獲

26、不少,但是還需要在這方面進(jìn)行更多的了解,特別是在移動(dòng)計(jì)算環(huán)境方面,因?yàn)殡S著移動(dòng)技術(shù)的發(fā)展,支持移動(dòng)計(jì)算的分布式文件系統(tǒng)將會(huì)成為迫切的要求。1Weisoing Shi, Sharun Santhosh, Hanping Lufei. Cegor: An Adaptive Distributed File System for Heterogeneous Network Environments. Wayne State University. IEEE Proc. of the tenth ICPADS04, 2004.2Yi Zhao, Rongfeng Tang, Jin Xiong, Ji

27、e Ma. IncFS: An Integrated High-Performance Distributed File System Based on NFS. IEEE Proc. of IWNAS2006, 2006.3Ivan Voras, Mario Zagar. Network Distributed File System in User Space. Faculty of Electrical Engineering & Computing, University of Zagreb. Information Technology Interfaces, 2006. 4Lei Wang, Chen Yang. TLDFS: A Distributed File System Based on the Layered Structure. International Conference on Network and Parallel Computing, 2007.5Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung. The Google File Sy

溫馨提示

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

評(píng)論

0/150

提交評(píng)論