王貞國
摘要:在網(wǎng)絡(luò)技術(shù)的發(fā)展下,云技術(shù)已經(jīng)成為現(xiàn)階段的主要技術(shù),有越來越多的新技術(shù)開始圍繞云技術(shù)得以研發(fā)。傳統(tǒng)DAS、NAS等存儲系統(tǒng)難以滿足IaSS環(huán)境下虛擬機對存儲容量、性能、管理、可用性的綜合需求,存在異構(gòu)存儲設(shè)備管理困難、虛擬機附加存儲不能在線動態(tài)伸縮等問題。結(jié)合Ceph分布式存儲系統(tǒng),構(gòu)建云存儲的分布式彈性塊存儲系統(tǒng),設(shè)計實現(xiàn)了彈性塊存儲監(jiān)控管理平臺,能夠?qū)Ξ悩?gòu)存儲設(shè)備進(jìn)行統(tǒng)一管理,并實現(xiàn)虛擬存儲池的動態(tài)擴容、虛擬機附加存儲的彈性伸縮。
關(guān)鍵詞:云存儲;Ceph塊存儲;動態(tài)擴容;彈性伸縮
1.引言
傳統(tǒng)虛擬機的存儲可以分為4類:①DAS(Direct-Attached Storage)。虛擬機數(shù)據(jù)直接存儲在本地或SSD上,以塊設(shè)備形式提供給虛擬機使用,存在擴展性不佳、管理困難等問題;②BNAS(Network-Attached Storage)。安裝管理簡單,由單獨的存儲服務(wù)器提供服務(wù),不適合在IaaS場景下為虛擬機提供存儲服務(wù);③SAN(Storage Area Network)。造價成本高,部署和管理困難;④基于分布式文件系統(tǒng)(阿里云的“盤古”)。中間多一層文件系統(tǒng),降低了訪問速度。
Ceph是一個開源的、理論上可無限擴展的、具有高可靠性、高性能的分布式存儲解決方案。目前很多商業(yè)分布式存儲解決方案是在開源的Ceph基礎(chǔ)上發(fā)展來的,如Bigtera的VirtualStor系列產(chǎn)品,Hope Bay的ArkFlex云端大規(guī)模數(shù)據(jù)存儲平臺產(chǎn)品,SanDisk的InfiniFlash的產(chǎn)品IF500等產(chǎn)品都使用了Ceph。
本文結(jié)合Ceph分布式存儲系統(tǒng),提出并實現(xiàn)了基于云存儲的分布式彈性塊存儲系統(tǒng)(Distributed Elastic Block Storage System,DEBSS)。DEBSS自底向上包括物理設(shè)備層、虛擬化層、存儲管理層、應(yīng)用層。在存儲管理層部署了分布式彈性塊存儲監(jiān)控管理平臺,以實現(xiàn)對異構(gòu)存儲設(shè)備的統(tǒng)一管理、虛擬存儲池的動態(tài)擴容、虛擬機附加存儲的彈性伸縮,提高了虛擬機的存儲性能。
2.Ceph與其他分布式存儲方案的對比
分布式存儲除了Ceph還有Moosefs(MFS)、Glusterfs、HDFS、Lustre等很多種。本文綜合分析熊文等的論文和其他一些討論,發(fā)現(xiàn)Moosefs的優(yōu)點是實施簡單,缺點是存在單點故障和性能瓶頸;Ceph的優(yōu)點是擴展性好,可以很好的與OpenStack集成,發(fā)展很快,缺點是部分功能還不夠成熟,通過POSIX接口訪問CephFS時候,底層不穩(wěn)定性使得不適合應(yīng)用于生產(chǎn)環(huán)境;Glusterfs的優(yōu)點是擴展性好,缺點是沒有MDS,因此增加了客戶端的負(fù)載,占用相當(dāng)?shù)腃PU和內(nèi)存,同時遍歷文件目錄時,實現(xiàn)較為復(fù)雜和低效,需要搜索所有的存儲節(jié)點;HDFS的優(yōu)點是適合部署在大量通用、廉價硬件上,缺點是只適合特定應(yīng)用場景,即一次寫入,多次讀出,做數(shù)據(jù)分析類應(yīng)用;Lustre的優(yōu)點是成熟,缺點是復(fù)雜,同時MDS無法擴展,存在性能瓶頸。從適用場合方面分析:Moosefs適合企業(yè)小型應(yīng)用環(huán)境,存儲小文件;Ceph適合一般企業(yè)使用,如私有云平臺應(yīng)用,存儲小文件;Glusterfs適合一般企業(yè)中型應(yīng)用,存儲大文件,下文件讀寫效率很低;HDFS適合存儲超大數(shù)據(jù)集,做數(shù)據(jù)分析類應(yīng)用;Lustre是一個并行文件系統(tǒng),做高性能計算(HPC)類應(yīng)用,存儲大文件,適合大型科研、企業(yè)應(yīng)用,一般HPC具有計算密集型、海量數(shù)據(jù)處理等特點,在石油勘探、地震預(yù)測、氣象預(yù)報、航天航空、科學(xué)研究、機械制造、動漫渲染等領(lǐng)域都有應(yīng)用。
3.相關(guān)研究及成果
本文主要針對“分布式彈性塊存儲”進(jìn)行研究,其它分布式文件系統(tǒng)不進(jìn)入比較范圍。
亞馬遜的EBS(Elastic Block Store)專門為Amazon EC2虛擬機提供持久性的彈性塊存儲服務(wù),支持快照功能。EBS支持最大的1TB卷的大小,但是由于商業(yè)原因,幾乎找不到關(guān)于EBS的公開描述。
Sheepdog是由NTT的3名日本研究員開發(fā)的開源分布式塊存儲文件系統(tǒng),為虛擬機提供塊存儲服務(wù)。其采用完全對稱的結(jié)構(gòu),沒有類似元數(shù)據(jù)服務(wù)的中心節(jié)點,沒有單點故障,支持快照功能,易于管理。
Ceph是加州大學(xué)Santa Cruz分校的Sage Weil(DreamHost的聯(lián)合創(chuàng)始人)專為博士論文設(shè)計的新一代自由軟件分布式文件系統(tǒng),對外提供對象存儲、塊存儲、文件系統(tǒng)存儲3種功能。
Openstack云管理平臺的cinder項目為nova提供塊存儲能力,旨在解決異構(gòu)存儲資源的管理問題,將異構(gòu)的存儲資源以統(tǒng)一方式提交給上層,但是本身并不具備存儲能力,達(dá)到一種“軟件定義塊存儲”的效果。
在面向虛擬機的分布式塊存儲系統(tǒng)設(shè)計及實現(xiàn)中,設(shè)計出一種分布式塊存儲系統(tǒng)DBSS,采用兩個數(shù)據(jù)卷和一個日志卷的格式,提供高可用服務(wù)。
4 系統(tǒng)設(shè)計與實現(xiàn)
4.1 系統(tǒng)邏輯架構(gòu)設(shè)計
分布式彈性塊存儲系統(tǒng)按照云存儲的分層架構(gòu)進(jìn)行設(shè)計,自底向上分為4層:物理設(shè)備層、虛擬化層、存儲管理層、應(yīng)用層。
(1)物理設(shè)備層。包括各種異構(gòu)的存儲設(shè)備及其它一些基礎(chǔ)設(shè)施。通過虛擬化技術(shù),將異構(gòu)的存儲設(shè)備整合到彈性虛擬化存儲池中,為上層提供統(tǒng)一的存儲服務(wù)。
(2)虛擬化層。所有數(shù)據(jù)均衡地分布到不同的存儲節(jié)點上,沒有單節(jié)點故障、支持多副本技術(shù)和自動修復(fù)功能,提高了數(shù)據(jù)的可靠性。
(3)存儲管理層。存儲管理層主要包括監(jiān)控管理、接口管理以及集群管理。監(jiān)控管理主要包括異構(gòu)設(shè)備數(shù)量、分布式存儲集群健康狀態(tài)、虛擬化存儲池使用情況等;集群管理實現(xiàn)的是對存儲集群的管理,可以橫向加入存儲設(shè)備,實現(xiàn)虛擬存儲池的擴容。
(4)應(yīng)用層。用于控制管理和分配分布式彈性塊存儲系統(tǒng)的管理平臺,通過監(jiān)控虛擬機磁盤使用情況,動態(tài)分配和刪除虛擬機存儲資源,實現(xiàn)虛擬機存儲資源的彈性伸縮。
4.2 系統(tǒng)開發(fā)與實現(xiàn)
4.2.1 物理設(shè)備層Ceph分布式系統(tǒng)部署
本文基于Ceph搭建分布式彈性塊存儲系統(tǒng),實驗環(huán)境由5臺虛擬機組成(可以根據(jù)實際的任務(wù)需求彈性擴展存儲設(shè)備),主機名分別為:Ceph{1,2,3,4},操作系統(tǒng)是ubuntu14.04。其中Ceph1機用來安裝ceph-deploy,部署Ceph分布式存儲系統(tǒng);Ceph2用作msd(元數(shù)據(jù)服務(wù)器)和mon(監(jiān)控節(jié)點);Ceph{3,4}用作osd(存儲節(jié)點)。
部署過程如下:①在deploy節(jié)點創(chuàng)建集群目錄;②每個節(jié)點都安裝ntp服務(wù),設(shè)置deploy節(jié)點為ntp服務(wù)器;③配置每個節(jié)點,允許deploy節(jié)點可以無密碼登錄;④創(chuàng)建監(jiān)控集群;⑤在所有節(jié)點上安裝Ceph;⑥部署osd節(jié)點,查看Ceph集群狀態(tài);⑦添加mds。
4.2.2 存儲管理層部署Inkscope監(jiān)控平臺
Inkscope是一款輕量級的Ceph監(jiān)控管理平臺,用mongodb來進(jìn)行數(shù)據(jù)信息的存儲。Inkscope由inkscopeViz、inkscopeCtrl、inkscopeProbe組成。InkscopeViz為用戶提供可視化的監(jiān)控平臺;inkscopeCtrl負(fù)責(zé)監(jiān)控cephrestapi;inkscopeProbe負(fù)責(zé)收集集群節(jié)點信息,分為cephProbe和sysProbe。Ceph集群的狀態(tài)是健康的,彈性塊存儲池總?cè)萘渴?0G,已用容量4.7G,可用容量55.3G。
4.3 應(yīng)用層設(shè)計
對需要添加附加存儲的虛擬機安裝Ceph客戶端,然后將虛擬機添加到Ceph集群。在客戶端創(chuàng)建塊設(shè)備鏡像,將鏡像映射到塊設(shè)備,格式化塊設(shè)備,掛載到客戶端,以實現(xiàn)虛擬附加存儲的彈性伸縮。
4.4系統(tǒng)測試
針對搭建好的分布式彈性塊存儲系統(tǒng),可以從虛擬存儲池的動態(tài)擴容、虛擬機附件存儲彈性伸縮兩方面進(jìn)行測試。本文所有測試在均在Vmware Workstations創(chuàng)建的虛擬機上進(jìn)行。
5 結(jié)語
本文結(jié)合Ceph分布式系統(tǒng),設(shè)計并實現(xiàn)了分布式彈性塊存儲系統(tǒng)。通過實驗,實現(xiàn)了虛擬塊存儲資源池的動態(tài)擴容,并劃分塊存儲資源作為虛擬機的附加存儲,實現(xiàn)了虛擬機存儲資源的彈性伸縮。然而,本文提出的設(shè)計方法也存在一些不足,如未指定虛擬機需要添加附加存儲的指標(biāo),實驗只是通過手動添加。在后續(xù)工作中,將會在應(yīng)用層設(shè)計監(jiān)控平臺實現(xiàn)對虛擬機存儲資源的監(jiān)控,動態(tài)地添加或刪除塊存儲資源,真正實現(xiàn)虛擬機附加存儲的彈性伸縮。
參考文獻(xiàn)
[1]張瑞云.計算及云儲存生態(tài)系統(tǒng)研究[J].電子設(shè)計工程,2013,21(8).
[2]譚鵬許.云計算環(huán)境下安全分布式存儲架構(gòu)與容錯技術(shù)研究[D].解放軍信息工程大學(xué),2013.
[3]程靚坤.基于Ceph的云存儲系統(tǒng)的設(shè)計與實現(xiàn)[D].廣州:中山大學(xué),2014.