李淼淼,梅向東
(1.江蘇科技大學(xué) 江蘇 鎮(zhèn)江 212003;2.贊奇科技發(fā)展有限公司 江蘇 常州 213022)
IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)的研究報(bào)告稱,未來十年全球大數(shù)據(jù)將增長(zhǎng)50倍,計(jì)算無處不在,尤其是由移動(dòng)設(shè)備、智能終端所引領(lǐng)的后PC時(shí)代的到來使非結(jié)構(gòu)化數(shù)據(jù)與半結(jié)構(gòu)化數(shù)據(jù)達(dá)到PB級(jí)增長(zhǎng),數(shù)據(jù)的龐大和數(shù)據(jù)類型的復(fù)雜度使傳統(tǒng)數(shù)據(jù)存儲(chǔ)系統(tǒng)的容量、成本、吞吐量、響應(yīng)時(shí)間、靈活性、容錯(cuò)性能等已無法滿足現(xiàn)有數(shù)據(jù)存儲(chǔ)的需求?;谠朴?jì)算的分布式云存儲(chǔ)系統(tǒng)[1]是集群技術(shù)、并行計(jì)算技術(shù)、分布式文件系統(tǒng)等多種技術(shù)融合的產(chǎn)物,將各類存儲(chǔ)設(shè)備利用網(wǎng)絡(luò)和分布式軟件進(jìn)行集成,形成統(tǒng)一接口對(duì)用戶提供數(shù)據(jù)存儲(chǔ)服務(wù)。與傳統(tǒng)的存儲(chǔ)系統(tǒng)相比,具有高性能、高可靠性、高擴(kuò)展性、透明性、自治性等。
分布式云存儲(chǔ)的核心是分布式文件系統(tǒng),以其為基礎(chǔ)對(duì)用戶形成統(tǒng)一存儲(chǔ)資源池。分布式文件系統(tǒng)[2]是指文件系統(tǒng)管理的物理存儲(chǔ)資源不直接連接在本地節(jié)點(diǎn)上,而是通過計(jì)算機(jī)網(wǎng)絡(luò)與各個(gè)節(jié)點(diǎn)相連,并對(duì)外提供統(tǒng)一的訪問接口?;谠獢?shù)據(jù)中心的分布式文件系統(tǒng)會(huì)周期性備份或利用專門的存儲(chǔ)設(shè)備存放元數(shù)據(jù)操作信息,當(dāng)master服務(wù)器出現(xiàn)故障時(shí),備用存儲(chǔ)節(jié)點(diǎn)會(huì)更新最新操作信息到元數(shù)據(jù),使系統(tǒng)仍可以正常工作。但主備節(jié)點(diǎn)的切換速度受存儲(chǔ)容量和操作頻率的影響,當(dāng)存儲(chǔ)容量和操作次數(shù)逐漸增加的時(shí)候,對(duì)數(shù)據(jù)操作會(huì)有很大影響。無元數(shù)據(jù)系統(tǒng)中的節(jié)點(diǎn)被稱為對(duì)等節(jié)點(diǎn),數(shù)據(jù)的操作信息(大小、存放地址、備份信息等)和實(shí)際數(shù)據(jù)一起存放在每個(gè)對(duì)等節(jié)點(diǎn)中,任一節(jié)點(diǎn)出現(xiàn)故障時(shí)系統(tǒng)可自動(dòng)恢復(fù),整個(gè)系統(tǒng)服務(wù)不會(huì)受到任何影響。但是因?yàn)闆]有中心節(jié)點(diǎn)統(tǒng)一存放、更新元數(shù)據(jù)信息,使數(shù)據(jù)的一致性得不到保障。
MooseFS是一個(gè)具有高容錯(cuò)的開源分布式文件系統(tǒng)[3],系統(tǒng)將數(shù)據(jù)存儲(chǔ)在物理分布的服務(wù)器上,對(duì)外形成統(tǒng)一的存儲(chǔ)資源池,任何支持FUSE的操作系統(tǒng)都可以部署MooseFS。同時(shí),MooseFS支持類似 Unix文件系統(tǒng)的標(biāo)準(zhǔn),如:樹形目錄結(jié)構(gòu)、POSIX文件屬性、socket、塊設(shè)備、字符設(shè)備等特殊文件、軟鏈接和硬鏈接、基于IP地址或者密碼的訪問。
MooseFS采用主從式服務(wù)架構(gòu),利用中心節(jié)點(diǎn)服務(wù)器管理系統(tǒng),整個(gè)系統(tǒng)由四部分組成,包括:元數(shù)據(jù)管理服務(wù)器(Master server)、元數(shù)據(jù)日志服務(wù)器(Metalogger server)、數(shù)據(jù)服務(wù)器(Chunk server)和客戶端。體系結(jié)構(gòu)如圖1。
圖1 MooseFS體系結(jié)構(gòu)Fig.1 MooseFSArchitecture
元數(shù)據(jù)管理服務(wù)器(Master server)是整個(gè)文件系統(tǒng)的管理節(jié)點(diǎn),存儲(chǔ)每個(gè)文件的元數(shù)據(jù)信息,這些信息包括文件大小、屬性、文件位置和一些非規(guī)則文件的信息。作為整個(gè)系統(tǒng)的核心,它需要部署在具有高可靠性和較高 I/O性能的機(jī)器上面,同時(shí)配有冗余電源的服務(wù)器、糾錯(cuò)碼內(nèi)存和磁盤陣列RAID1/5/10等,操作系統(tǒng)必須兼容 POSIX。
元數(shù)據(jù)日志服務(wù)器即元數(shù)據(jù)備份服務(wù)器(Metalogger server),用來存儲(chǔ)元數(shù)據(jù)的操作日志和周期性從主Master下載元數(shù)據(jù)文件,如:metadata、changelog、session 等。 主要設(shè)計(jì)目的是當(dāng)主 Master停止正常管理工作后可以接替其管理工作。MFS提供了 mfsmetarestore工具從Metalogger恢復(fù)Master的元數(shù)據(jù),用以下兩種方式即可實(shí)現(xiàn):
1) $mfsmetarestore-a(自動(dòng)恢復(fù));
2)$mfsmetarestore-m*.bck-o metadata.mfs changelog.*.mfs(指定恢復(fù))
數(shù)據(jù)實(shí)際存儲(chǔ)于數(shù)據(jù)服務(wù)器(Chunk server)中,并由其提供服務(wù)器間的文件同步功能。對(duì)于一個(gè)較大的文件,MooseFS會(huì)將其分割成一個(gè)inode和多個(gè)數(shù)據(jù)塊chunk的組合。Master會(huì)在每個(gè)Chunk被創(chuàng)建時(shí)分配給這個(gè)Chunk一個(gè)獨(dú)立不更改的64為編號(hào),并將其以Linux文件的形式保存至本地?cái)?shù)據(jù)服務(wù)器中,并且可有多個(gè)備份。
用戶利用客戶端(Client)進(jìn)行數(shù)據(jù)訪問,通過Client的mfsmount命令啟動(dòng)掛載,使Client與master通信從而完成元數(shù)據(jù)信息更新,同時(shí)與數(shù)據(jù)服務(wù)器通信以訪問實(shí)際的文件數(shù)據(jù)。
2.2.1 MooseFS的數(shù)據(jù)讀取操作
如圖 2所示,MooseFS的讀數(shù)據(jù)過程可分為以下4個(gè)步驟:
1)當(dāng)客戶端讀取數(shù)據(jù)時(shí),先向管理服務(wù)器發(fā)起數(shù)據(jù)查詢請(qǐng)求;
2)管理服務(wù)器查詢?cè)獢?shù)據(jù)信息,獲取所需數(shù)據(jù)所在的數(shù)據(jù)服務(wù)器位置信息(ip、port、chunkid),然后將查詢的數(shù)據(jù)信息發(fā)送給客戶端;
3)客戶端向查詢到的數(shù)據(jù)服務(wù)器發(fā)起數(shù)據(jù)讀取請(qǐng)求;4)數(shù)據(jù)服務(wù)器將請(qǐng)求的數(shù)據(jù)發(fā)送給客戶端。
圖2 MooseFS數(shù)據(jù)讀取操作Fig.2 Reading data operation of MooseFS
2.2.2 MooseFS的數(shù)據(jù)寫入過程
如圖3所示,MFS的寫數(shù)據(jù)過程主要分為以下8個(gè)步驟:
1)當(dāng)客戶端要寫入數(shù)據(jù)時(shí),首先向管理服務(wù)器提供文件元數(shù)據(jù)信息,請(qǐng)求存儲(chǔ)地址(元數(shù)據(jù)信息如:文件名、大小、份數(shù)等);
2)根據(jù)客戶端提供的元數(shù)據(jù)信息,管理服務(wù)器在負(fù)載較輕的存儲(chǔ)服務(wù)器中創(chuàng)建新的數(shù)據(jù)存儲(chǔ)塊,并將創(chuàng)建成功的消息返回。
3)管理服務(wù)器將新創(chuàng)建的存儲(chǔ)地址返回給客戶端(chunkIP、port、chunkid);
4)客戶端向相應(yīng)的存儲(chǔ)服務(wù)器中寫數(shù)據(jù);
5)在寫數(shù)據(jù)的同時(shí),Masterserver會(huì)通知相應(yīng)的存儲(chǔ)服務(wù)器會(huì)按照配置文件中設(shè)定的冗余度依次進(jìn)行冗余數(shù)據(jù)的同步操作;
6)各冗余存儲(chǔ)服務(wù)器依次返回同步完成的消息;
7)存儲(chǔ)服務(wù)器給客戶端返回寫入成功的消息;
8)客戶端將寫入完成信息發(fā)送到管理服務(wù)器,管理服務(wù)器根據(jù)信息更新文件的長(zhǎng)度和最后修改時(shí)間,及數(shù)據(jù)操作日志,同時(shí)完成整個(gè)寫數(shù)據(jù)操作。
圖3 MooseFS數(shù)據(jù)寫入操作Fig.3 Writing data operation of MooseFS
根據(jù)上述對(duì)MFS體系結(jié)構(gòu)的分析,MooseFS具有以下主要特性[4]:
1)高可靠性:在不影響讀寫性能的情況下,可對(duì)文件系統(tǒng)設(shè)置比RAID1+0更高級(jí)別任意的冗余度,冗余數(shù)據(jù)被備份在不同的數(shù)據(jù)節(jié)點(diǎn)中,從而可以很好的避免數(shù)據(jù)丟失;
2)可擴(kuò)展性:系統(tǒng)體系架構(gòu)伸縮性強(qiáng),可根據(jù)存儲(chǔ)量需求動(dòng)態(tài)添加或刪除節(jié)點(diǎn),且不影響系統(tǒng)對(duì)外正常提供服務(wù)。
3)高可控性:提供類似于 Java的垃圾回收機(jī)制,可自由設(shè)置文件刪除時(shí)間間隔;
4)可追溯性:支持快照(snapshot)功能,能夠根據(jù)文件的不同操作(寫入/訪問)生成相應(yīng)的文件快照。
5)高性能:提供高效的隨機(jī)讀寫能力,尤其是海量小文件的隨機(jī)讀寫效率。
GlusterFS是一個(gè)開源的線性橫向擴(kuò)展文件系統(tǒng),文件存儲(chǔ)容量可達(dá)到PB級(jí),支持上千客戶端的數(shù)據(jù)請(qǐng)求。利用TCP/IP、InfiniBand RDMA或SDP的方式將存儲(chǔ)塊互聯(lián)成一個(gè)并行的文件系統(tǒng),用戶可以在全局統(tǒng)一的命名空間中使用NFS/CIFS等標(biāo)準(zhǔn)協(xié)議來訪問應(yīng)用數(shù)據(jù),存儲(chǔ)塊完全可以是現(xiàn)有的普通廉價(jià)硬件,如X86主機(jī),使得用戶可擺脫原有的獨(dú)立、高成本的封閉存儲(chǔ)系統(tǒng)[5]。
GlusterFS系統(tǒng)由3部分組成:存儲(chǔ)服務(wù)器(Brick Server)、客戶端(Client)和存儲(chǔ)網(wǎng)關(guān)。如圖 4所示。為了加強(qiáng)系統(tǒng)的存儲(chǔ)性能,提高可靠性和可用性,系統(tǒng)拋棄了類似MFS的master server中心節(jié)點(diǎn),利用彈性算法進(jìn)行數(shù)據(jù)定位,避免了中心節(jié)點(diǎn)導(dǎo)致的性能瓶頸和單點(diǎn)失效。此外,系統(tǒng)具有很好的兼容性,除原生協(xié)議外,用戶完全可以通過POSIX接口及NFS、CIFS等標(biāo)準(zhǔn)協(xié)議向GlusterFS請(qǐng)求數(shù)據(jù)存儲(chǔ)服務(wù)。
存儲(chǔ)服務(wù)器提供數(shù)據(jù)存儲(chǔ)功能,數(shù)據(jù)的具體實(shí)際存儲(chǔ)位置通過彈性哈希算法計(jì)算所得,文件格式采用EXT3、EXT4、XFS、ZFS等原始格式。GlusterFS將存儲(chǔ)服務(wù)器中的Brick組成卷Volume,mount到客戶端。目前主要有分布卷、復(fù)制卷、條帶卷、分布式條帶卷、分布式復(fù)制卷、條帶復(fù)制卷,每種模式實(shí)現(xiàn)類似于RAID0、RAID1、RAID10等功能。
客戶端提供用戶的數(shù)據(jù)訪問服務(wù),將用戶的數(shù)據(jù)請(qǐng)求發(fā)給存儲(chǔ)服務(wù)器并讀取所需數(shù)據(jù)。由于windows系統(tǒng)中不兼容GlusterFS的原生客戶端,系統(tǒng)為windows用戶了可通過標(biāo)準(zhǔn)協(xié)議訪問存儲(chǔ)系統(tǒng)的接口。在有中心節(jié)點(diǎn)的存儲(chǔ)系統(tǒng)中,管理服務(wù)器根據(jù)元數(shù)據(jù)信息實(shí)現(xiàn)文件定位、負(fù)載均衡、數(shù)據(jù)緩存等功能,但在GlusterFS中因?yàn)槿コ酥行墓?jié)點(diǎn),這些功能將在客戶端中實(shí)現(xiàn),同時(shí)利用FUSE模塊實(shí)現(xiàn)POSIX兼容。
存儲(chǔ)網(wǎng)關(guān)提供的功能包括兩個(gè)部分,首先是Volume管理,在目前的系統(tǒng)版本中已經(jīng)可進(jìn)行不停服的卷自動(dòng)化管理,包括卷的創(chuàng)建、刪除、容量平滑、向客戶端提交卷操作信息等。
其次是實(shí)現(xiàn)非原生客戶端基于標(biāo)準(zhǔn)協(xié)議NFS/CIFS的代理訪問功能,
3.2.1 模塊化堆棧式架構(gòu)
圖4 GlusterFS體系結(jié)構(gòu)Fig.4 Architecture of GlusterFS
GlusterFS采用模塊化、堆棧式的架構(gòu),整個(gè)系統(tǒng)建設(shè)與現(xiàn)有的硬件基礎(chǔ)無關(guān),完全由軟件實(shí)現(xiàn)。模塊在系統(tǒng)中稱為轉(zhuǎn)換器(Translator),它是GlusterFS的核心理念,每個(gè)轉(zhuǎn)換器都是動(dòng)態(tài)庫(kù),將用戶請(qǐng)求轉(zhuǎn)換為存儲(chǔ)請(qǐng)求,根據(jù)不用請(qǐng)求加載實(shí)現(xiàn)特定功能的轉(zhuǎn)換器樹。
轉(zhuǎn)換器主要包括以下幾類:cluster、performance、encryption、features、storage、mount等。每個(gè)轉(zhuǎn)換器實(shí)現(xiàn)不同的功能,通過堆棧式的組合實(shí)現(xiàn)不同業(yè)務(wù)需求的系統(tǒng)。Cluster即集群,有三種分布方式:分布卷(distributed)、復(fù)制卷(replicated)、條帶卷(striped)。分布式卷主要考慮的是存儲(chǔ)擴(kuò)展需求,數(shù)據(jù)的冗余則有系統(tǒng)的其他組件考慮。復(fù)制卷將文件創(chuàng)建跨多個(gè)brick的副本,實(shí)現(xiàn)類似RAID1的功能。條帶式卷是將文件分割成數(shù)據(jù)塊,以Round Robin的方式存儲(chǔ)在bricks中,主要應(yīng)用在高并發(fā)、訪問文件很大的環(huán)境中。3種基本的方式可組合成更復(fù)雜的方式,如:RAID10。
Performance模塊又被稱為性能加強(qiáng)模塊,包括io-cache(I/O 緩存)、io-threads (I/O 線程)、read-ahead (預(yù)讀)、writebehind(后寫)等,主要應(yīng)用于系統(tǒng)性能的提升。
Encryption是數(shù)據(jù)加密模塊,在官方版本中并沒有數(shù)據(jù)加密模塊,但是隨著公有云存儲(chǔ)的發(fā)展,數(shù)據(jù)加密成為必備模塊;Features主要實(shí)現(xiàn)訪問控制功能;storage模塊主要用來實(shí)現(xiàn)POSIX接口。
由上述分析可見,在文件系統(tǒng)中,服務(wù)器端主要實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)功能,數(shù)據(jù)的定位,性能的優(yōu)化、數(shù)據(jù)讀取等大部門功能都由客戶端來實(shí)現(xiàn)。利用轉(zhuǎn)換器的堆棧組合實(shí)現(xiàn)系統(tǒng)功能,這種結(jié)構(gòu)使系統(tǒng)架設(shè)更加簡(jiǎn)單,也有利于后期的升級(jí)維護(hù)。
3.2.2 彈性哈希算法
傳統(tǒng)分布式存儲(chǔ)系統(tǒng)都使用集中式或者分布式元數(shù)據(jù)服務(wù)來維護(hù)元數(shù)據(jù),然而集中式元數(shù)據(jù)服務(wù)會(huì)導(dǎo)致單點(diǎn)故障以及性能瓶頸問題,分布式元數(shù)據(jù)服務(wù)器存在元數(shù)據(jù)同步一致性和性能負(fù)載等問題[7]。GlusterFS作為一種全新的架構(gòu),其結(jié)構(gòu)中拋棄了元數(shù)據(jù)服務(wù)器,將數(shù)據(jù)位置信息和實(shí)際數(shù)據(jù)一起存儲(chǔ),利用彈性算法定位文件,大大提高了系統(tǒng)性能和穩(wěn)定性。其數(shù)據(jù)訪問流程如下:
1)使用Davies-Meyer算法計(jì)算 32位 hash值,輸入?yún)?shù)為文件名;
2)根據(jù)hash值在選擇子卷,進(jìn)行文件定位;
3)根據(jù)定位信息數(shù)據(jù)訪問。
Davies-Meyer算法是一類基于對(duì)稱分組算法的單向散列算法,具有良好的hash分布性,且計(jì)算效率高。在GlusterFS存儲(chǔ)系統(tǒng)中,每個(gè)文件都對(duì)應(yīng)一個(gè)32位哈希值,其代表文件的具體存儲(chǔ)位置等信息,而哈希值和系統(tǒng)中的存儲(chǔ)服務(wù)器的個(gè)數(shù)有關(guān)。假設(shè)系統(tǒng)中有N個(gè)服務(wù)器,則32位整數(shù)空間則會(huì)被分成N個(gè)連續(xù)的子空間,這樣每個(gè)空間就對(duì)應(yīng)一個(gè)服務(wù)器。當(dāng)計(jì)算得到一個(gè)哈希值時(shí)也就找到了所需的服務(wù)器。
根據(jù)業(yè)務(wù)的變化,在實(shí)際的存儲(chǔ)系統(tǒng)中,必然存在著存儲(chǔ)節(jié)點(diǎn)的添加、刪除、文件名更改等情況。當(dāng)系統(tǒng)容量擴(kuò)容需要新增存儲(chǔ)節(jié)點(diǎn)時(shí),GlusterFS文件系統(tǒng)采用彈性哈希算法以更改目錄的原則重新分配數(shù)據(jù)。文件系統(tǒng)利用父目錄下創(chuàng)建子目錄記載子卷中文件和相應(yīng)存儲(chǔ)服務(wù)器間的映射信息,新增節(jié)點(diǎn)時(shí)不更改現(xiàn)有目錄,而是在父目錄中新建目錄記錄新的文件和存儲(chǔ)服務(wù)器的映射關(guān)系,因此對(duì)原有的數(shù)據(jù)存儲(chǔ)不會(huì)有任何影響。而且新建目錄時(shí),系統(tǒng)會(huì)優(yōu)先將存儲(chǔ)文件位置映射到負(fù)載較輕的節(jié)點(diǎn)上。同時(shí),GlusterFS也支持人工干預(yù),根據(jù)現(xiàn)有節(jié)點(diǎn)的負(fù)載情況,手動(dòng)分配文件。
當(dāng)系統(tǒng)要?jiǎng)h除一個(gè)節(jié)點(diǎn)時(shí),可用新的節(jié)點(diǎn)來替代現(xiàn)有節(jié)點(diǎn),并將原節(jié)點(diǎn)的數(shù)據(jù)復(fù)制到新的節(jié)點(diǎn)中;或者是直接將刪除節(jié)點(diǎn)中的數(shù)據(jù)重新備份到系統(tǒng)的其他節(jié)點(diǎn)上。文件更名時(shí),系統(tǒng)會(huì)在目標(biāo)存儲(chǔ)節(jié)點(diǎn)和實(shí)際的存儲(chǔ)節(jié)點(diǎn)鍵創(chuàng)建一個(gè)鏈接,當(dāng)要對(duì)更名文件進(jìn)行操作時(shí),系統(tǒng)會(huì)根據(jù)鏈接指向?qū)嶋H存儲(chǔ)節(jié)點(diǎn)。
由上可知,GlusterFS所采用的彈性哈希算法,使系統(tǒng)更具彈性線性擴(kuò)展能力。
由以上GlusterFS的系統(tǒng)架構(gòu)和技術(shù)分析可知,系統(tǒng)具有以下特點(diǎn):
1)易部署:系統(tǒng)運(yùn)行在業(yè)界標(biāo)準(zhǔn)的服務(wù)器系統(tǒng)上,沒有特殊的硬件要求,可在業(yè)務(wù)持續(xù)進(jìn)行中進(jìn)行擴(kuò)展。
2)易擴(kuò)展:沒有集中的元數(shù)據(jù)節(jié)點(diǎn),消除了單點(diǎn)故障和擴(kuò)展帶來的元數(shù)據(jù)節(jié)點(diǎn)瓶頸,實(shí)現(xiàn)線性擴(kuò)展和性能提升。
3)高可用:在GlusterFS系統(tǒng)中,數(shù)據(jù)文件被多次復(fù)制,可以極大的提高數(shù)據(jù)高可用性,任意一節(jié)點(diǎn)或硬盤的故障不會(huì)影響業(yè)務(wù)的持續(xù)運(yùn)行。
4)兼容性:靈活適用于各種客戶端,包括各個(gè)版本的Linux和Windows操作系統(tǒng)。
為了對(duì)比兩種存儲(chǔ)系統(tǒng)的性能,我們布置了相同的測(cè)試環(huán)境。操作系統(tǒng)采用CentOS 6.2,內(nèi)核版本為2.6.32。系統(tǒng)布置四臺(tái)服務(wù)器節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)采用Intel(R)Xeon(R)E3-1230 V2@3.30GHz 8核處理器,配置16GB的內(nèi)存及6個(gè)1TB硬盤。主機(jī)配置如表1:
表1 Gluster FS和MooseFS的主機(jī)配置Tab.1 Host configuration of Gluster FSand MooseFS
利用iometer工具測(cè)試訪問節(jié)點(diǎn)的I/O性能,分別測(cè)試100%讀0%寫、0%讀100%寫,采用100%順序操作,測(cè)試的文件大小分別為4KB、1MB和64MB。測(cè)試結(jié)果如表2。
由上表測(cè)試結(jié)果可知,MFS適用于多并發(fā)數(shù)的讀取需求環(huán)境,其讀取速度高于GlusterFS的讀取速率,適合于小文件的讀??;GFS適用于多并發(fā)數(shù)的寫入需求環(huán)境,其寫入速率明顯高于MooseFS的寫入速率,適合于大文件的寫入。
本文從是否存在元數(shù)據(jù)中心節(jié)點(diǎn)出發(fā),以MooseFS和GlusterFS為代表,分析了兩種存儲(chǔ)系統(tǒng)的架構(gòu)、工作流程和系統(tǒng)特點(diǎn)。這兩種存儲(chǔ)系統(tǒng)都是開源的分布式存儲(chǔ)系統(tǒng),都支持FUSE機(jī)制和POSIX接口,可廣泛運(yùn)用于各類操作系統(tǒng)。MFS利用元數(shù)據(jù)節(jié)點(diǎn)服務(wù)器管理系統(tǒng),架構(gòu)簡(jiǎn)單具有高可用性,尤其適用于對(duì)小文件讀取操作較多和容錯(cuò)率要求較高的場(chǎng)景。但是元數(shù)據(jù)節(jié)點(diǎn)服務(wù)器存在性能瓶頸,且需要配置在較高性能的服務(wù)器上。GlusterFS無元數(shù)據(jù)節(jié)點(diǎn)服務(wù)器,不存在性能瓶頸和單點(diǎn)故障,理論上可實(shí)現(xiàn)存儲(chǔ)容量的無限擴(kuò)容和系統(tǒng),且系統(tǒng)具有自動(dòng)恢復(fù)功能。但是因?yàn)闆]有類似元數(shù)據(jù)的管理服務(wù)器,數(shù)據(jù)一致性受到限制,其更適合應(yīng)用于對(duì)大文件操作較多的場(chǎng)所。每個(gè)存儲(chǔ)系統(tǒng)都有自己的特點(diǎn)和優(yōu)勢(shì),根據(jù)系統(tǒng)對(duì)讀寫、容錯(cuò)、擴(kuò)容等不同要求選擇適合的存儲(chǔ)系統(tǒng),可以達(dá)到更高的數(shù)據(jù)存儲(chǔ)效率。
表2 測(cè)試結(jié)果Tab.2 Results
[1]李東輝,沈麗菁.分布式云存儲(chǔ)高可用框架研究[J].計(jì)算機(jī)與數(shù)字工程,2014(1):76-80.LI Dong-hui,SHEN Li-jing.A availableframework of distributed cloud storage[J].Computer and Digital Engineering,2014(1):76-80.
[2]劉貝,湯斌.云存儲(chǔ)原理及發(fā)展趨勢(shì)[J].科技信息,2011(5):50-51.LIU Bei,TANG Bin.Theprinciple and development trend of cloud storage[J].Science and Technology Information,2011(5):50-51.
[3]戴寶龍.基于MooseFS分布式文件系統(tǒng)的研究和應(yīng)用[D].北京:北京郵電大學(xué),2011.
[4]GHEMAWAT S,GOBIOFF H,LEUNGST.The Google file system[C]//Proceedings of the 19th ACM Symposium on Operating Systems Principles.Lake George, New York:2003:29-43.
[5]于忠臣.物聯(lián)網(wǎng)異構(gòu)數(shù)據(jù)存儲(chǔ)算法研究[D].沈陽(yáng):遼寧大學(xué),2012.
[6]Gluster Inc.An Introduction to Gluster Architecture[S].2011.
[7]楊勇.基于GlusterFS的分布式冗余存儲(chǔ)[J].西安文理學(xué)報(bào):自然科學(xué)版,2010,13(4):67-70.YANG Yong.Distributed redundant storage based on GlusterFS[J].Journal of Xi'an University of Arts&Science:Natural Science Edition,2010,13(4):67-70.