《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于GlusterFS的OpenStack平臺(tái)設(shè)計(jì)
基于GlusterFS的OpenStack平臺(tái)設(shè)計(jì)
來(lái)源:微型機(jī)與應(yīng)用2014年第1期
張曉景,鄭曉文,,李先毅
(大連理工大學(xué) 網(wǎng)絡(luò)與信息化中心,,遼寧 大連116024)
摘要: 將GlusterFS應(yīng)用于OpenStack中替代swift模塊,并針對(duì)讀寫(xiě)性能進(jìn)行測(cè)試,,實(shí)驗(yàn)證明在GlusterFS下虛擬機(jī)讀寫(xiě)性能指標(biāo)IOPS明顯提高。
Abstract:
Key words :

摘  要:GlusterFS應(yīng)用于OpenStack中替代swift模塊,,并針對(duì)讀寫(xiě)性能進(jìn)行測(cè)試,,實(shí)驗(yàn)證明在GlusterFS下虛擬機(jī)讀寫(xiě)性能指標(biāo)IOPS明顯提高。
關(guān)鍵詞: 云計(jì)算,;OpenStack,;虛擬化;GlusterFS

 云計(jì)算[1]是近年來(lái)商業(yè)和科研機(jī)構(gòu)關(guān)注的熱點(diǎn),,云數(shù)據(jù)中心通過(guò)虛擬化技術(shù)將計(jì)算資源,、存儲(chǔ)資源和網(wǎng)絡(luò)資源構(gòu)建成動(dòng)態(tài)的虛擬資源池,從而實(shí)現(xiàn)了有效整合資源,、提高資源利用率,、節(jié)約能源,降低了運(yùn)行成本,。
虛擬資源管理技術(shù)實(shí)現(xiàn)云計(jì)算資源自動(dòng)部署,、動(dòng)態(tài)擴(kuò)展、按需分配,。OpenStack作為目前最大的開(kāi)源云計(jì)算管理平臺(tái),,實(shí)現(xiàn)了對(duì)虛擬化平臺(tái)的管理,。目前OpenStack還不夠成熟,因此各方的關(guān)注點(diǎn)集中在功能的完善和性能的優(yōu)化提升上,。因此研究OpenStack的功能和性能將對(duì)虛擬資源的有效利用產(chǎn)生重要影響,,同時(shí)也對(duì)教育和科研具有深遠(yuǎn)的意義。
1 OpenStack[2]云計(jì)算虛擬化平臺(tái)
1.1 OpenStack簡(jiǎn)介

 當(dāng)前云環(huán)境中的資源都是通過(guò)虛擬化技術(shù)將底層的硬件資源進(jìn)行虛擬化,,形成一個(gè)龐大的虛擬資源池之后,,再通過(guò)動(dòng)態(tài)伸縮的部署方式以服務(wù)的形式提供給用戶(hù)。隨著使用云計(jì)算的用戶(hù)持續(xù)增加,,云數(shù)據(jù)中心的規(guī)模也不斷加大,,高效利用云中的虛擬化資源并快速提供給用戶(hù),減少用戶(hù)等待時(shí)間,,已經(jīng)成為目前云計(jì)算環(huán)境中虛擬機(jī)的重要研究問(wèn)題之一,。
 OpenStack允許客戶(hù)通過(guò)部署虛擬機(jī)來(lái)創(chuàng)建資源,在節(jié)點(diǎn)上通過(guò)使用KVM鏡像等對(duì)虛擬機(jī)進(jìn)行一系列配置,,客戶(hù)端用戶(hù)只需申請(qǐng)自己需要的虛擬資源即可,。OpenStack完成資源虛擬化后,提供對(duì)虛擬資源進(jìn)行管理的功能,,負(fù)責(zé)在云上部署各種應(yīng)用和文件,,同時(shí)還要提供對(duì)應(yīng)用和文件的檢索,創(chuàng)建和分配虛擬機(jī),。當(dāng)虛擬機(jī)用完之后要進(jìn)行撤銷(xiāo),,要提供用戶(hù)和管理員接口,用戶(hù)要能知道自己應(yīng)用的情況,,管理員也要能知道整個(gè)資源池的占用情況,,負(fù)責(zé)資源的分配、檢索和收回,。
1.2 Swift模塊的作用
 Swift[3]是OpenStack的存儲(chǔ)模塊,,主要負(fù)責(zé)大規(guī)模數(shù)據(jù)對(duì)象管理,包括冗余存儲(chǔ)管理,、備份數(shù)據(jù)管理,、數(shù)據(jù)容量預(yù)測(cè)等,存儲(chǔ)對(duì)象包括存檔數(shù)據(jù),、圖像或視頻等多種應(yīng)用的數(shù)據(jù),,存儲(chǔ)能力可以達(dá)到PB級(jí)別。
Swift具有很高的數(shù)據(jù)持久性,、持續(xù)的可擴(kuò)展性、無(wú)單點(diǎn)故障等優(yōu)點(diǎn),,Swift架構(gòu)的優(yōu)越性使其能夠?qū)ν馓峁┝己玫膶?duì)象存儲(chǔ)服務(wù)能力,,但在公有云的構(gòu)建上,,其功能存在不足之處。本文提出了采用GlusterFS替換Swift模塊,,旨在為OpenStack提供更加快速,、可靠、穩(wěn)定的服務(wù),。
1.3 OpenStack現(xiàn)狀及Swift的乏力表現(xiàn)
 OpenStack部署云環(huán)境的優(yōu)點(diǎn)是靈活,,因此OpenStack的虛擬化應(yīng)用越來(lái)越廣泛,同時(shí)廣泛地應(yīng)用也就意味著要求的多樣和嚴(yán)格,。部署在OpenStack上的應(yīng)用,,比如GIS應(yīng)用的對(duì)小文件(小于4 KB)的快速隨機(jī)讀寫(xiě)要求,Web應(yīng)用中對(duì)視頻的這種高度壓縮的大文件的存儲(chǔ),,以及網(wǎng)絡(luò)中對(duì)廉價(jià)大量存儲(chǔ)的要求,,都使得虛擬化平臺(tái)數(shù)據(jù)傳輸?shù)膯?wèn)題日益凸顯出來(lái)。Swift目前在應(yīng)對(duì)不同要求上表現(xiàn)不盡如人意,,其發(fā)展腳步也略慢于OpenStack,。OpenStack中數(shù)據(jù)的快速讀寫(xiě)問(wèn)題帶來(lái)的影響已經(jīng)超過(guò)計(jì)算問(wèn)題。
2 GlusterFS
2.1 GlusterFS[4]已經(jīng)為OpenStack做好準(zhǔn)備

 2013年5月9日GlusterFS3.4發(fā)行,,該版本主要是增強(qiáng)了云,、虛擬化和性能,支持KVM鏡像在Glusterfs上的部署和運(yùn)行,,從而支持OpenStack虛擬化平臺(tái)與Glusterfs的結(jié)合,。GlusterFS3.4為用戶(hù)和應(yīng)用開(kāi)發(fā)者帶來(lái)了高可靠性、數(shù)據(jù)機(jī)動(dòng)性等方面的特性,。GlusterFS的諸多特性,,都可以作為OpenStack的強(qiáng)大后盾。
GlusterFS完全由軟件實(shí)現(xiàn),,完全獨(dú)立于硬件和操作系統(tǒng),,GlusterFS大量部署在基于廉價(jià)硬件的各種操作系統(tǒng)上,構(gòu)成集中統(tǒng)一的虛擬存儲(chǔ)資源池,。
 GlusterFS存儲(chǔ)服務(wù)支持NFS,、CIFS、HTTP,、FTP以及Gluster原生協(xié)議,,完全與POSIX標(biāo)準(zhǔn)兼容。這與正在發(fā)展的OpenStack非常契合,,所以在OpenStack上的二次開(kāi)發(fā)更加靈活,,在拓展其虛擬化應(yīng)用時(shí),不用考慮其存儲(chǔ)服務(wù)的限制。
2.2 GlusterFS與OpenStack結(jié)合的優(yōu)勢(shì)及難點(diǎn)
 Glusterfs作為分布式文件系統(tǒng)始終致力于多要求下性能提升,。所以廉價(jià)大量冗余,,小文件高速隨機(jī)讀寫(xiě),視頻等大文件快速寫(xiě)入都作為不斷被攻克的問(wèn)題,。直至現(xiàn)在有了比較全面的性能優(yōu)勢(shì),,作為OpenStack后盾可以強(qiáng)化對(duì)各種應(yīng)用的支持。
在OpenStack[5]與Glusterfs結(jié)合中,,有很多結(jié)合方式,,本文主要通過(guò)修改Compute節(jié)點(diǎn)配置文件,根據(jù)虛擬機(jī)實(shí)例,、鏡像的存儲(chǔ)區(qū)域和虛擬機(jī)虛擬硬盤(pán),、存儲(chǔ)區(qū)的不同,對(duì)比完成四種虛擬機(jī)部署,。
這些部署設(shè)計(jì)各有優(yōu)劣,,針對(duì)不同的應(yīng)用要求,綜合考慮可靠性,、可用性,,以及數(shù)據(jù)的讀寫(xiě)速度、冗余等,??煽啃浴⒖捎眯钥梢酝ㄟ^(guò)Glusterfs完全保障,,但是在OpenStack虛擬化平臺(tái)下讀寫(xiě)的數(shù)據(jù)的讀寫(xiě)速度不明確,。于是通過(guò)實(shí)驗(yàn),利用FIO存儲(chǔ)壓力測(cè)試工具,,模擬GIS應(yīng)用和數(shù)據(jù)庫(kù)應(yīng)用對(duì)數(shù)據(jù)的讀寫(xiě)要求,,對(duì)不同部署設(shè)計(jì)進(jìn)行測(cè)試,并最終通過(guò)實(shí)驗(yàn)結(jié)果說(shuō)明部署場(chǎng)景對(duì)不同應(yīng)用的支持力度,。
3 實(shí)驗(yàn)測(cè)試
在OpenStack虛擬平臺(tái)下,,修改其計(jì)算節(jié)點(diǎn)的配置文件,從而使OpenStack計(jì)算節(jié)點(diǎn)啟動(dòng)虛擬機(jī)的鏡像和實(shí)例部署在GlusterFS[5]之上,,并分別測(cè)試虛擬機(jī)對(duì)虛擬機(jī)自身機(jī)虛擬硬盤(pán)和直接訪問(wèn)GlusterFS做對(duì)比,。
主要針對(duì)以下四種部署環(huán)境進(jìn)行研究:
 場(chǎng)景1:虛擬機(jī)實(shí)例和鏡像部署在OpenStack計(jì)算節(jié)點(diǎn),并且訪問(wèn)虛擬機(jī)自身存儲(chǔ)區(qū),。
 場(chǎng)景2:虛擬機(jī)實(shí)例和鏡像部署在GlusterFS上面,,并且訪問(wèn)虛擬機(jī)自身存儲(chǔ)區(qū)。
 場(chǎng)景3:虛擬機(jī)實(shí)例和鏡像部署在OpenStack計(jì)算節(jié)點(diǎn),,并訪問(wèn)掛載的GlusterFS作為其存儲(chǔ)區(qū),。
 場(chǎng)景4:虛擬機(jī)實(shí)例和鏡像部署在GlusterFS上面,,并且訪問(wèn)掛載GlusterFS作為其存儲(chǔ)區(qū)。
 以下在OpenStack虛擬機(jī)的4種部署場(chǎng)景中,,分別選取大小為4 kB和4 MB的文件,,對(duì)其隨機(jī)寫(xiě)性能進(jìn)行測(cè)試。實(shí)驗(yàn)架構(gòu)圖如圖1所示,。

3.2 實(shí)驗(yàn)結(jié)果
 實(shí)驗(yàn)結(jié)果分析如下:
 (1)場(chǎng)景1:這是OpenStack傳統(tǒng)的虛擬機(jī)部署方式,,并且訪問(wèn)虛擬機(jī)本身的虛擬硬盤(pán)空間,,用這種方式來(lái)做為基準(zhǔn)衡量其他方式的讀寫(xiě)性能。
?。?)場(chǎng)景2:這種部署方式是相對(duì)較好的,,因?yàn)閷?duì)虛擬機(jī)用戶(hù)透明,存儲(chǔ)的部署也對(duì)用戶(hù)透明,,同時(shí)在GlusterFS的保障下能保證虛擬機(jī)的高可用性,。但是其讀寫(xiě)性能比直接對(duì)GlusterFS差,比場(chǎng)景1要好,,這主要是受制于數(shù)據(jù)要通過(guò)虛擬機(jī)完成對(duì)虛擬硬盤(pán)的讀寫(xiě),,其后數(shù)據(jù)再寫(xiě)入到GlusterFS,整個(gè)數(shù)據(jù)流轉(zhuǎn)多了虛擬機(jī)這一中間層,。這表明虛擬機(jī)部署在GlusterFS沒(méi)有造成讀寫(xiě)上的延遲,。
 (3)場(chǎng)景3:讀寫(xiě)性能在場(chǎng)景2之上,,因?yàn)樵竭^(guò)了虛擬層,,數(shù)據(jù)直接流轉(zhuǎn)到GlusterFS,有很高的讀寫(xiě)性能,,但是不能保證虛擬機(jī)的高可用性,,因?yàn)殓R像和實(shí)例沒(méi)有部署在GlusterFS上面。
?。?)場(chǎng)景4:讀寫(xiě)性能也在場(chǎng)景2之上,,并且讀寫(xiě)性能跟場(chǎng)景3基本相當(dāng)。也是因?yàn)樵竭^(guò)了虛擬層,,而且也可以保證虛擬機(jī)的高可用性,。但是對(duì)于虛擬機(jī)用戶(hù)的要求高一點(diǎn),因?yàn)樾枰脩?hù)虛擬機(jī)在部署過(guò)程中掛載GlusterFS作為存儲(chǔ)區(qū),。這也表明虛擬機(jī)部署在GlusterFS沒(méi)有造成讀寫(xiě)上的延遲,。
實(shí)驗(yàn)結(jié)果表明,OpenStack將虛擬機(jī)部署在GlusterFS之上,,沒(méi)有帶來(lái)讀寫(xiě)上的延遲,,反而有了更加優(yōu)越的讀寫(xiě)性能,,同時(shí)憑借GlusterFS自身的優(yōu)勢(shì),能保障虛擬機(jī)資源的高可用性,。四種場(chǎng)景的寫(xiě)性能測(cè)試如圖2,、圖3所示。

 在云計(jì)算中,,虛擬化資源的管理是一項(xiàng)關(guān)鍵技術(shù),,它能夠有效整合資源、提高資源利用率,、節(jié)約能源,、降低運(yùn)行成本。而現(xiàn)在市場(chǎng)占有率和支持陣營(yíng)最大的云計(jì)算管理平臺(tái)OpenStack已經(jīng)體現(xiàn)出其開(kāi)源的優(yōu)勢(shì),,功能日趨完善,,性能日益提高。本文在OpenStack的基礎(chǔ)之上,,采用性能更加優(yōu)越的GlusterFS代替其Swift模塊,,使讀寫(xiě)性能、擴(kuò)展能力有了較高的提升,,并通過(guò)實(shí)驗(yàn)驗(yàn)證了策略的可行性和有效性,。提升了OpenStack對(duì)虛擬化的高效管理,同時(shí)也對(duì)教育和科研具有重要意義,。
參考文獻(xiàn)
[1] 鄧倩妮,,陳全.云計(jì)算及其關(guān)鍵技術(shù)[J].計(jì)算機(jī)應(yīng)用,2009,,29(9):2562-2567.
[2] OpenStack[EB/OL].[2013-07-22].http://www.OpenStack.org.
[3] 程輝.Swift:OpenStack對(duì)象存儲(chǔ)[J].程序員,,2012(7),112-115.
[4] GlusterFS[EB/OL].[2013-07-22].http://www.gluster.org.
[5] 吳聯(lián)盟,,王洪波,,程時(shí)端.OpenStack虛擬機(jī)啟動(dòng)機(jī)制研究[J].中國(guó)科技論文在線,2012(11):263-265.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。