劉雪鴻 上海大學(xué)
分布式文件系統(tǒng)( FastDFS) 是一個(gè)開(kāi)源的高性能分布式文件系統(tǒng)(DFS)。 它的主要功能包括:文件存儲(chǔ),文件同步和文件訪問(wèn),以及高容量和負(fù)載平衡?,F(xiàn)就近年間分布式文件系統(tǒng)研究進(jìn)展綜述如下:
分布式文件系統(tǒng)(Distributed File System)是指文件系統(tǒng)管理的物理存儲(chǔ)資源不一定直接連接在本地節(jié)點(diǎn)上,而是通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連。分布式文件系統(tǒng)是應(yīng)用級(jí)的分布式文件存儲(chǔ)服務(wù)系統(tǒng)研究領(lǐng)域的熱點(diǎn)之一,且以GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等為主要系統(tǒng)組成部分。
布式文件系統(tǒng)均為Client/Server架構(gòu)。數(shù)據(jù)保存在服務(wù)器端,而客戶端的應(yīng)用程序能夠像訪問(wèn)本地文件系統(tǒng)一樣訪問(wèn)位于遠(yuǎn)程服務(wù)器上的文件。主要包括EJB、rmi、Web Service,還有Hessian、NIO等幾種類型。不同類型在擴(kuò)展性、安全性強(qiáng)、持分布式事務(wù)處、跨語(yǔ)言分布、配置、無(wú)縫遷、兼容性和執(zhí)行速度上有顯著的差異。
分布式文件系統(tǒng)在海量數(shù)據(jù)存儲(chǔ)領(lǐng)域已經(jīng)有了廣泛的應(yīng)用,目前大多分布式系統(tǒng)使用的是文件數(shù)據(jù)及元數(shù)據(jù)解耦架構(gòu)。其中元數(shù)據(jù)管理對(duì)于文件系統(tǒng)的性能有著直接的影響。隨著不同類型的大規(guī)模數(shù)據(jù)分析的驅(qū)動(dòng),比如用戶行為分析、搜索引擎和推薦系統(tǒng),大規(guī)模數(shù)據(jù)的存儲(chǔ)和處理的需求急劇增長(zhǎng)。
基于文件類型的小文件合并算法,通過(guò)將大量小文件按文件擴(kuò)展名進(jìn)行簡(jiǎn)單分類處理,然后合并成大文件,有效地降低了 Namenode的內(nèi)存消耗;基于文件類型的合并文件元數(shù)據(jù)二級(jí)索引算法,通過(guò)提高小文件合并大文件的映射文件的讀取速度進(jìn)而提高了系統(tǒng)整體的文件讀取效率。
基于Ceph分布式文件系統(tǒng)設(shè)計(jì)核心存儲(chǔ)模塊,研究分析CephFS和MDS的實(shí)現(xiàn)原理并根據(jù)云盤系統(tǒng)架構(gòu)和CFSRPC協(xié)議的定義,結(jié)合多路IO復(fù)用機(jī)制設(shè)計(jì)實(shí)現(xiàn)了Ceph的接入模塊CCD。將云盤系統(tǒng)的請(qǐng)求分化為文件系統(tǒng)操作請(qǐng)求和管理功能操作請(qǐng)求,分別以CCD模塊和管理功能模塊來(lái)接受和處理,中間加入LVS+Keepalived的負(fù)載機(jī)制使得CCD節(jié)點(diǎn)和管理功能節(jié)點(diǎn)支持橫向擴(kuò)展。參考Keystone的令牌認(rèn)證機(jī)制設(shè)計(jì)實(shí)現(xiàn)了獨(dú)立認(rèn)證系統(tǒng)。以NW.js為框架根據(jù)CFSRPC協(xié)議的定義設(shè)計(jì)實(shí)現(xiàn)了客戶端。最后將整套云盤系統(tǒng)在測(cè)試環(huán)境下進(jìn)行部署,完成了認(rèn)證流程和云盤基本操作的測(cè)試,并對(duì)單點(diǎn)CCD進(jìn)行了性能測(cè)試,確認(rèn)整體系統(tǒng)能夠達(dá)到公有云生產(chǎn)環(huán)境的性能要求。
分布式文件系統(tǒng)在桌面虛擬化中的應(yīng)用,GlusterFS系統(tǒng)的功能架構(gòu)。其次,GlusterFS優(yōu)化方向分析。研究其算法流程、可靠性、集群特點(diǎn)和優(yōu)勢(shì),分析加密功能、性能優(yōu)化方向,研究?jī)?yōu)化方案。再次,GlusterFS加密功能優(yōu)化實(shí)現(xiàn)。
Clover的元數(shù)據(jù)處理能力隨服務(wù)器的數(shù)量線性增長(zhǎng),增加單個(gè)服務(wù)器的元數(shù)據(jù)操作性能平均提升了5.13%~159.32%.由于名字空間管理和分布式事務(wù)的開(kāi)銷,多元數(shù)據(jù)服務(wù)器會(huì)導(dǎo)致復(fù)雜操作的性能下降,但是這種下降的幅度很小(小于10%).與HDFS相比,Clover的文件讀寫帶寬與之接近,并能夠保證在元數(shù)據(jù)服務(wù)器失效后文件系統(tǒng)快速恢復(fù),適合于構(gòu)建高可擴(kuò)展和高可用的存儲(chǔ)系統(tǒng)。在一個(gè)計(jì)算機(jī)網(wǎng)中有多臺(tái)主機(jī)不一定都是分布式處理。倘若系統(tǒng)不具備動(dòng)態(tài)組合及任務(wù)再指派的能力,一般作集中式處理。高級(jí)操作系統(tǒng)作為分布式處理的關(guān)鍵。在分布式系統(tǒng)中不再使用完整的信息,各個(gè)組成部分提供自己的狀態(tài)信息,高級(jí)操作系統(tǒng)根據(jù)這些狀態(tài)信息進(jìn)行任務(wù)協(xié)調(diào)和資源再分配,各組成部分之間沒(méi)有層次關(guān)系自主。
布式文件系統(tǒng)的設(shè)計(jì)基于客戶機(jī)/服務(wù)器模式。一個(gè)典型的網(wǎng)絡(luò)可能包括多個(gè)供多用戶訪問(wèn)的服務(wù)器。對(duì)等特性允許一些系統(tǒng)扮演客戶機(jī)和服務(wù)器的雙重角色,是新推出的網(wǎng)絡(luò)化、數(shù)字化、高可靠性、高實(shí)時(shí)性、高靈活性、高擴(kuò)展性以及獨(dú)創(chuàng)圖形拼接同步技術(shù)(ESYNC)的分布式節(jié)點(diǎn)機(jī)圖像處理系統(tǒng),并在應(yīng)用領(lǐng)域獲得了顯著的進(jìn)步。