久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

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

 joy_chen 2013-04-08

分布式文件系統(tǒng)均為Client/Server架構(gòu)。數(shù)據(jù)保存在服務(wù)器端,,而客戶端的應(yīng)用程序能夠像訪問本地文件系統(tǒng)一樣訪問位于遠(yuǎn)程服務(wù)器上的文件,。在client通常都對(duì)文件數(shù)據(jù)進(jìn)行緩存,以提高讀寫性能和系統(tǒng)可擴(kuò)展性,。然而,,緩存和一致性總是一對(duì)矛盾,一致性的實(shí)現(xiàn)往往比較復(fù)雜,,這方面的研究有大量論文,,在此不再贅述。本文僅限于討論服務(wù)器端的架構(gòu),,分析其面臨的挑戰(zhàn)和相應(yīng)的解決方法,。 
一種技術(shù)總是帶有時(shí)代的烙印。以時(shí)間為線索,,可以將分布式文件系統(tǒng)的發(fā)展歷程大致分為3個(gè)階段:
l 網(wǎng)絡(luò)文件系統(tǒng)(1980s)
l 共享存儲(chǔ)(SAN)集群文件系統(tǒng)(1990s)
l  面向?qū)ο蟮牟⑿形募到y(tǒng)(2000s)
 
下面依次展開論述,。
1.            網(wǎng)絡(luò)文件系統(tǒng)(1980s)
       在上世紀(jì)80年代,以以太網(wǎng)為代表的局域網(wǎng)技術(shù)蓬勃發(fā)展并大規(guī)模普及,,而廣域網(wǎng)(因特網(wǎng))也漸成氣候,。以資源共享為目的的網(wǎng)絡(luò)操作系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)獲得快速發(fā)展,。典型的成果有:
l 1981年,,IBM發(fā)布第一款PC機(jī);1982年,,CMU和IBM合作,,啟動(dòng)面向PC機(jī)資源共享的ITC(Information Technology Center)項(xiàng)目,,研制出了著名的網(wǎng)絡(luò)文件系統(tǒng)AFS;
l 1983年,,Novell發(fā)布了網(wǎng)絡(luò)操作系統(tǒng)Netware;同年,,Berkeley發(fā)布了支持TCP/IP的BSD4.2操作系統(tǒng),;
l At&T推出RFS網(wǎng)絡(luò)文件系統(tǒng) [H. Chartock, “RFS in SunOS”, USENIX Conference Proceedings, Summer 1987, 281-290.]
l 1985年,Sun 發(fā)布了NFS文件系統(tǒng) .

網(wǎng)絡(luò)文件系統(tǒng)架構(gòu)
 
80年代的網(wǎng)絡(luò)文件系統(tǒng)研究重點(diǎn)在于實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下的文件共享,,主要解決client和文件(存儲(chǔ))服務(wù)器的交互問題,。而服務(wù)器端的結(jié)構(gòu)基本為對(duì)稱結(jié)構(gòu),以每個(gè)服務(wù)器存儲(chǔ)不同目錄子樹的方式實(shí)現(xiàn)擴(kuò)展,。服務(wù)器對(duì)外提供統(tǒng)一的命名空間(目錄樹),,存儲(chǔ)服務(wù)器節(jié)點(diǎn)之間不共享存儲(chǔ)空間,服務(wù)器之間缺乏負(fù)載均衡和容錯(cuò)機(jī)制,。
 
經(jīng)典文獻(xiàn):
 
u  The ITC distributed file system: principles and design.
M. Satyanarayanan,,John H. Howard,David A. Nichols. Proceedings of the tenth ACM symposium on Operating systems principles, Orcas Island, Washington, United States, Pages: 35 - 50  ,blication: 1985
該文獻(xiàn)主要介紹了ITC系統(tǒng)的架構(gòu),。ITC系統(tǒng)目標(biāo)在于為CMU大學(xué)的師生提供統(tǒng)一命名空間的信息共享平臺(tái),,其支持的客戶端數(shù)量高達(dá)5000以上。ITC由運(yùn)行在客戶端的Venus軟件和運(yùn)行在服務(wù)器端的VICE 組成,。Venus的軟件架構(gòu)為運(yùn)行在內(nèi)核態(tài)的系統(tǒng)調(diào)用截獲模塊和運(yùn)行在用戶態(tài)的守護(hù)進(jìn)程組成(目前流行的FUSE和它基本類似),。

 

 

 ITC系統(tǒng)架構(gòu)
 
該文獻(xiàn)可大致瀏覽一下,作為閱讀下一篇文章的鋪墊,。
 
u Scale and Performance in a Distributed File System
JOHN H. HOWARD, MICHAEL L. KAZAR, SHERRI G. MENEES. ACM Transactions cm Computer Systems, Vol. 6, No. 1, Feb. 1988, Pages 51-81.
該文獻(xiàn)全面,、詳細(xì)、深入地總結(jié)分析了AFS測(cè)試結(jié)果,、問題分析和優(yōu)化策略,。其中提出的一些方法如cache管理、callback機(jī)制等,,成為分布式文件系統(tǒng)中解決性能和可擴(kuò)展性的基本方法,。
 
u Design and Implementation of the Sun Network Filesystem (NFS).
R. Sandberg et al.  Proc. of the Summer 1985 USENIX Conference, June 1985, pp. 119-130.
相對(duì)于學(xué)院派的AFS, 出自業(yè)界的NFS顯得既不優(yōu)雅,也不完美,。但它有一個(gè)優(yōu)點(diǎn)卻使得它脫穎而出:簡(jiǎn)單,、客戶端和服務(wù)器端有清晰的接口。因此易于理解,,易于實(shí)現(xiàn),。NFS目前已發(fā)展到v4版本。最初推出的NFSv2,、NFSv3是無狀態(tài)的,,既客戶端和server端都不維護(hù)對(duì)方的狀態(tài)(松耦合),,使得系統(tǒng)的魯棒性得到有效提高,系統(tǒng)的設(shè)計(jì)也較容易,。NFS推出后,,很快就獲得IBM,HP等大公司的支持,從而一統(tǒng)天下,。
在cache和一致性管理方面,,NFS采用了簡(jiǎn)單的弱一致性方式:對(duì)于緩存的數(shù)據(jù),client端周期性(30秒)去詢問server,,查詢文件被最后修改的時(shí)間,,如果本地緩存數(shù)據(jù)的時(shí)間早于該時(shí)間,則讓本地cache數(shù)據(jù)無效,,下次讀取數(shù)據(jù)時(shí)就去server獲取最新的數(shù)據(jù),。
2.            共享存儲(chǔ)(SAN)集群文件系統(tǒng)(1990s)
       雖然80年代的網(wǎng)絡(luò)文件系統(tǒng)解決了不同計(jì)算機(jī)之間的數(shù)據(jù)共享問題,但是文件(存儲(chǔ))服務(wù)器的可擴(kuò)展性問題仍然十分突出:每個(gè)存儲(chǔ)服務(wù)器所支持的存儲(chǔ)容量局限于SCSI總線的限制而難以擴(kuò)展,,不同服務(wù)器之間的存儲(chǔ)空間也不能得以均衡利用,。
       90年代,存儲(chǔ)系統(tǒng)逐漸開始獨(dú)立于計(jì)算機(jī)系統(tǒng)而獲得快速發(fā)展,。存儲(chǔ)區(qū)域網(wǎng)(SAN: Storage Area Network)成為解決存儲(chǔ)系統(tǒng)可擴(kuò)展性的最有效的途徑,。簡(jiǎn)單來看,SAN就是用網(wǎng)絡(luò)(早期為光線通道網(wǎng)絡(luò):FC-SAN,,后來擴(kuò)展到IP網(wǎng)絡(luò):iSCSI)取代SCSI總線,,從而使存儲(chǔ)系統(tǒng)的容量與性能的可擴(kuò)展性都得以極大提高。在SAN網(wǎng)絡(luò)中,,可以接入多個(gè)存儲(chǔ)節(jié)點(diǎn),,每個(gè)節(jié)點(diǎn)都對(duì)外提供I/O通道。在寫入數(shù)據(jù)時(shí),,服務(wù)器端可以采用條帶化技術(shù)將一個(gè)文件的數(shù)據(jù)并行寫入到多個(gè)存儲(chǔ)節(jié)點(diǎn)中,,從而顯著提高I/O吞吐量。
       早期的SAN主要用于集群計(jì)算系統(tǒng)中,,面向SAN的集群文件系統(tǒng)是90年代的研究重點(diǎn),。典型的文件系統(tǒng)包括IBM研制的GPFS(General Parallel File System),和目前由Redhat支持的GFS(Global File System),。

共享存儲(chǔ)集群文件系統(tǒng)
 
共享存儲(chǔ)集群文件系統(tǒng)為對(duì)稱結(jié)構(gòu),,計(jì)算節(jié)點(diǎn)之間共享存儲(chǔ)空間,共同維護(hù)統(tǒng)一命名空間和文件數(shù)據(jù),。由于計(jì)算節(jié)點(diǎn)之間是緊耦合的,,共享臨界資源(存儲(chǔ)空間、命名空間、文件數(shù)據(jù)),,則節(jié)點(diǎn)間需要復(fù)雜的協(xié)同和互斥操作,,而分布式鎖的設(shè)計(jì)也往往成為影響系統(tǒng)性能的主要因素。
由于緊耦合特性,,共享存儲(chǔ)集群系統(tǒng)的(計(jì)算)節(jié)點(diǎn)規(guī)模難以大規(guī)模擴(kuò)展,,通常小于64個(gè)節(jié)點(diǎn)。 
 
經(jīng)典文獻(xiàn):
 
GPFS: A Shared-Disk File System for Large Computing Clusters.
Frank Schmuck,,Roger Haskin. Proceedings of the Conference on File and Storage Technologies (FAST’02),28–30 January 2002, Monterey, CA, pp. 231–244. (USENIX, Berkeley, CA.
 
    由IBM公司在上世紀(jì)90年代設(shè)計(jì),,在全球范圍內(nèi)的高性能計(jì)算機(jī)上得到大量部署。GPFS的突破,,在于支持集群節(jié)點(diǎn)可以并發(fā)方式讀取同一文件的不同部分,可以針對(duì)單個(gè)文件提供極高的吞吐量,。在GPFS之前是沒有如此高性能的文件系統(tǒng)的,。
    GPFS在分布式鎖管理、存儲(chǔ)空間管理,、inode元數(shù)據(jù)更新等方面做了大量的優(yōu)化,,系統(tǒng)具有容錯(cuò)功能。

    體會(huì)GPFS系統(tǒng)的龐大,、復(fù)雜性,,就能深入理解對(duì)象存儲(chǔ)技術(shù)的優(yōu)點(diǎn)。對(duì)象存儲(chǔ)技術(shù)提供了一種新的架構(gòu)和方法,,從而可以用更簡(jiǎn)單的方式設(shè)計(jì)更大規(guī)模,、更高性能的分布式文件系統(tǒng)。

3.            面向?qū)ο蟠鎯?chǔ)的并行文件系統(tǒng) (2000s)
    對(duì)象存儲(chǔ)是近十幾年來文件系統(tǒng)研究的最重要成果之一,。2000年后研發(fā)的分布式文件系統(tǒng)無一例外地均采用了該思想和方法,。
    對(duì)象存儲(chǔ)技術(shù)起源于CMU的NASD(Network Attached Storage Device)項(xiàng)目(1997-2001),其核心思想為給存儲(chǔ)設(shè)備(磁盤)配備CPU,,使其具有一定的處理能力而實(shí)現(xiàn)自我管理,、對(duì)外提供更加智能的對(duì)象訪問接口,并實(shí)現(xiàn)更高的安全性,。
    要理解為什么該成果具有重要意義,,就需要首先清楚是哪些因素制約文件系統(tǒng)的可擴(kuò)展性(容量和性能):
    1) 容量和I/O瓶頸方面,系統(tǒng)的規(guī)模(設(shè)備/磁盤數(shù)量)從根本上決定了系統(tǒng)可能達(dá)到的最大容量與聚合I/O帶寬,。用網(wǎng)絡(luò)替代總線可以有效解決該問題,;
    2) 計(jì)算瓶頸方面,制約文件系統(tǒng)性能的主要因素為幾類大規(guī)模數(shù)據(jù)的管理,。包括:
  l  命名空間
  l  文件元數(shù)據(jù)
  l  存儲(chǔ)空間

 

 

    其中存儲(chǔ)空間的管理開銷高達(dá)文件系統(tǒng)總開銷的30%以上,,成為制約系統(tǒng)性能的主要因素之一。    

    SAN技術(shù)有效解決了問題1),而未解決問題2),。由于SAN對(duì)外提供類似于磁盤的塊訪問接口,,缺乏自我管理能力,即使像“哪個(gè)磁盤塊是空閑的,?”,、“文件的數(shù)據(jù)在哪個(gè)磁盤塊上?”這類最基本的問題也不能回答或解決,。所有這些管理功能都需要由前端的文件服務(wù)器來完成,,但由于上述資源為被頻繁訪問的臨界資源,文件服務(wù)器之間需要緊耦合方式協(xié)同工作,,系統(tǒng)設(shè)計(jì)非常復(fù)雜,,且規(guī)模難以擴(kuò)展。

    基于對(duì)象存儲(chǔ)的并行存儲(chǔ)架構(gòu)能夠從以下幾個(gè)方面解決上述挑戰(zhàn):

 

 

利用對(duì)象存儲(chǔ)設(shè)備,,存儲(chǔ)空間的管理開銷均衡地分布到每個(gè)對(duì)象存儲(chǔ)設(shè)備上,,從而消除了傳統(tǒng)文件系統(tǒng)中的存儲(chǔ)空間管理導(dǎo)致的性能瓶頸;
l  將文件分割為多個(gè)對(duì)象,,分別存儲(chǔ)到不同的對(duì)象存儲(chǔ)設(shè)備上,,使得文件的元數(shù)據(jù)得以顯著減少(4K:1M);
對(duì)象存儲(chǔ)設(shè)備之間完全獨(dú)立,,從而使得其規(guī)??梢詷O大地進(jìn)行擴(kuò)展(可高達(dá)上萬個(gè)存儲(chǔ)節(jié)點(diǎn)),有效解決了存儲(chǔ)系統(tǒng)的容量的擴(kuò)展能力,。
l  對(duì)象存儲(chǔ)設(shè)備直接向客戶端提供面向?qū)ο笤L問的I/O通道,,從而使系統(tǒng)的I/O吞吐量可隨著存儲(chǔ)設(shè)備數(shù)量增加而線性擴(kuò)展。
 
基于對(duì)象存儲(chǔ)的并行存儲(chǔ)系統(tǒng)的架構(gòu)如下圖所示,。

<!--[endif]-->
<!--[endif]-->

 基于對(duì)象存儲(chǔ)的并行文件系統(tǒng)架構(gòu)

服務(wù)器端為非對(duì)稱結(jié)構(gòu),,由元數(shù)據(jù)服務(wù)器MDS(Meta Data Server)和對(duì)象存儲(chǔ)節(jié)點(diǎn)組成。元數(shù)據(jù)服務(wù)器實(shí)現(xiàn)對(duì)命名空間(目錄)和文件元數(shù)據(jù)的管理,。當(dāng)client端訪問文件時(shí),,首先向MDS發(fā)送請(qǐng)求,MDS將文件包含哪些對(duì)象,,每個(gè)對(duì)象位于哪個(gè)存儲(chǔ)節(jié)點(diǎn)等信息發(fā)送給client端,;此后client就直接向?qū)ο蟠鎯?chǔ)節(jié)點(diǎn)發(fā)送請(qǐng)求讀寫數(shù)據(jù),不再需要和MDS交互,。
 
經(jīng)典文獻(xiàn):
 
PVFS:Parallel Virtual File System
PVFS由Clemson 等多所大學(xué)合作開發(fā),,是面向高性能計(jì)算的并行文件系統(tǒng),目前已成為開源項(xiàng)目,。早期發(fā)布的PVFS為共享存儲(chǔ)結(jié)構(gòu)(1993),,PVFS的開發(fā)者不斷對(duì)其進(jìn)行升級(jí)完善,,目前發(fā)布版本為2.0,采用了對(duì)象存儲(chǔ)技術(shù),。PVFS的客戶端提供MPI接口,,主要用于高性能計(jì)算領(lǐng)域。
PVFS中的client/server采用無狀態(tài)交互,,類似于NFSv3,。支持多種網(wǎng)絡(luò)連接方式,如TCP/IP,, Myrinet等,。
PVFS將文件切分為多個(gè)固定大小的對(duì)象(chunk),以round-robin方式依次寫入到一組存儲(chǔ)設(shè)備中,。
下面表,、圖描述了PVFS內(nèi)部的數(shù)據(jù)存儲(chǔ)方式。
從表1可以看出,,對(duì)于文件/pvfs/foo,,文件被切分為64K大小的對(duì)象,依次分布到存儲(chǔ)設(shè)備2(base),3,4上,。(count為3,表示條帶化寬度為3)
對(duì)于每個(gè)文件,,在存儲(chǔ)設(shè)備上只有一個(gè)對(duì)象,,對(duì)象名為文件的inode號(hào)。多個(gè)chunk數(shù)據(jù)被合并到同一個(gè)對(duì)象中,。
       PVFS具有突出的性能,。目前已成為開源項(xiàng)目,并具有完善的技術(shù)資料,。國(guó)內(nèi)早年研發(fā)的集群文件系統(tǒng)多以此為基礎(chǔ),。
       PVFS的不足之處在于未考慮容錯(cuò)性。
 
Scalable Performance of the Panasas Parallel File System. (Panasas
Proceedings of the 6th USENIX Conference on File and Storage Technologies San Jose, California,,2008
Panasas是業(yè)界最早的基于對(duì)象技術(shù)的高性能存儲(chǔ)系統(tǒng),。和所有基于對(duì)象存儲(chǔ)的并行存儲(chǔ)系統(tǒng)一樣,Panasas也由client端,、管理節(jié)點(diǎn),、數(shù)據(jù)節(jié)點(diǎn)(對(duì)象存儲(chǔ)節(jié)點(diǎn))組成。但和其它系統(tǒng)不同的是,,Panasas是包括定制硬件設(shè)計(jì)的性能優(yōu)越,、功能完善、成熟的商業(yè)產(chǎn)品,。該系統(tǒng)的技術(shù)起源于CMU大學(xué)的PDL實(shí)驗(yàn)室,,后面將要提及的Luster系統(tǒng)的源頭也可以追溯到CMU。
Panasas系統(tǒng)的突出特征在于支持文件級(jí)的RAID,提高了數(shù)據(jù)安全性,。
Panasas公司后來將自己的客戶端技術(shù)公開,,成為目前pNFS(NFSv4.1)標(biāo)準(zhǔn)的基礎(chǔ)。

u  Luster file system.  Sun whitepaper.
第一篇文獻(xiàn)介紹了luster的架構(gòu)和特性,,第二篇文獻(xiàn)從設(shè)計(jì)角度詳細(xì)描述了Luster的內(nèi)部結(jié)構(gòu)和關(guān)鍵問題的解決方法,。
Luster是目前在全球top100高性能計(jì)算機(jī)中部署最多的高性能并行文件系統(tǒng)。支持一個(gè)MDS(集群MDS正在開發(fā)過程中),,存儲(chǔ)節(jié)點(diǎn)可擴(kuò)展到上千臺(tái),。
Luster為開源軟件,目前主要由Sun公司維護(hù)開發(fā),。Luster的存儲(chǔ)節(jié)點(diǎn)的文件系統(tǒng)由ext3修改而成,,這部分成果成為后來ext4的基礎(chǔ)。修改內(nèi)容包括支持extent的存儲(chǔ)空間管理和文件inode管理,、支持大目錄等,。
Luster系統(tǒng)中client端和server的通信采用Portal RPC協(xié)議,其主要特性類似于RDMA,,以零拷貝方式傳遞數(shù)據(jù),,具有極高的性能。
在實(shí)現(xiàn)方式上,,Luster和PVFS/GoogleFS不同,,client端和server都在OS內(nèi)核實(shí)現(xiàn)。
Luster支持對(duì) MDS節(jié)點(diǎn)的Active/Standby方式的容錯(cuò),,但缺乏數(shù)據(jù)冗余保護(hù),。


u  Ceph: A Scalable, High-Performance Distributed File System
Sage A. Weil,  Scott A. Brandt,  Ethan L. Miller,  Darrell D. E. Long,  Carlos Maltzahn. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI’06) 
Ceph 是由加州大學(xué)Santa Cruz分校SSRC實(shí)驗(yàn)室開發(fā)的高性能分布式文件系統(tǒng)。和PVFS,、Panasas,、Luster不同之處在于,Ceph采用HASH計(jì)算方式確定每個(gè)對(duì)象的存儲(chǔ)節(jié)點(diǎn),,該方法能夠顯著減少M(fèi)DS需要存儲(chǔ)的元數(shù)據(jù),,從而使系統(tǒng)具有更好的可擴(kuò)展性。Ceph采用了很多先進(jìn)的思想與方法,,包括自適應(yīng)的MDS集群,、基于復(fù)制的數(shù)據(jù)保護(hù)、主動(dòng)數(shù)據(jù)遷移等,。
Ceph已成為一個(gè)開源項(xiàng)目,,正在努力發(fā)展成為云存儲(chǔ)系統(tǒng)。目前還未在生產(chǎn)環(huán)境中得到應(yīng)用,。 
 
Google File System
Sanjay Ghemawat,Howard Gobioff,and Shun-TakLeung. SOSP’03, Oct., 2003, Bolton Landing, NewYork, USA.

 

和前面幾種分布式文件系統(tǒng)不同的是,,GFS是Google公司為了特定應(yīng)用:高效的海量信息存儲(chǔ)與檢索而定制開發(fā)的系統(tǒng),。其特點(diǎn)為:
l  面向WORM(一次寫入,多次讀?。?yīng)用,,對(duì)讀操作進(jìn)行優(yōu)化;
l  數(shù)據(jù)只能以追加(Append)方式寫入,;
l  特定的API(不支持Posix接口和語義),;
一致性語義方面,要求所有client看到相同的數(shù)據(jù),,但不一定是最新的數(shù)據(jù),;
系統(tǒng)節(jié)點(diǎn)高達(dá)上萬臺(tái),容錯(cuò)成為優(yōu)先考慮問題,。

 
為了提高元數(shù)據(jù)服務(wù)器MDS的性能,,GoogleFS采用壓縮編碼方式,將所有元數(shù)據(jù)保存在內(nèi)存中,。
每個(gè)文件被切分為64M大小的對(duì)象(chunk),。
采用數(shù)據(jù)復(fù)制方式實(shí)現(xiàn)容錯(cuò),每個(gè)對(duì)象有3份副本,,所有副本的數(shù)據(jù)以流水線方式同步寫入,。
在對(duì)象放置策略上考慮機(jī)架(rack)因素,確保3個(gè)副本位于不同的設(shè)備和機(jī)架上,,從而能夠支持rack級(jí)的容錯(cuò),,在讀取數(shù)據(jù)時(shí)網(wǎng)絡(luò)帶寬能得到更均衡的利用。
目前已有開源項(xiàng)目HDFS(JAVA語言)和KFS(Kosmos File System,,C++語言)實(shí)現(xiàn)了類似于GoogleFS架構(gòu)的分布式文件系統(tǒng),。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多