王勝俊++李秦偉++劉志聰
(貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025)
摘要:OpenStack平臺(tái)上的Swift組件是為用戶提供永久的,大量的,可靠的云存儲(chǔ)服務(wù)的。文章介紹了Juno版本OpenStack平臺(tái),并對該平臺(tái)上的Swift組件了研究,然后在物理服務(wù)器上安裝部署了Swift組件,最后對Openstack平臺(tái)上的Swift組件進(jìn)行的測試。
關(guān)鍵詞:云存儲(chǔ);OpenStack;Swift;上傳測試
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)07-0077-02
今天,在計(jì)算機(jī),手機(jī)和平板電腦上互聯(lián)網(wǎng)技術(shù)已經(jīng)十分普及,而其中云計(jì)算又是其中十分熱門的。云計(jì)算從狹義上講是IT基礎(chǔ)設(shè)施的交付和使用模式,也就是通過網(wǎng)絡(luò)可以得到按需、易擴(kuò)展的資源;廣義云計(jì)算就是服務(wù)的交付和使用模式,也就是通過互聯(lián)網(wǎng)獲得按需、易擴(kuò)展的服務(wù)?!霸啤钡馁Y源在用戶看來是超大規(guī)模、虛擬化、高可靠性、可伸縮、按需服務(wù)的,用戶可以根據(jù)自己的需要隨時(shí)獲取,隨時(shí)擴(kuò)展,并且按照使用情況付費(fèi)。
OpenStack平臺(tái)上Swift組件提供了彈性可伸縮、高可用的分布式對象存儲(chǔ)服務(wù), Swift 組件部署在普通的標(biāo)準(zhǔn)硬件存儲(chǔ)基礎(chǔ)設(shè)施之上,無需采用RAID,引入了一致性散列技術(shù)和數(shù)據(jù)冗余性,達(dá)到了高可用性和可伸縮性,適合存儲(chǔ)大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)。同時(shí),Swift組件為了提高系統(tǒng)的安全性和穩(wěn)定性采用三層數(shù)據(jù)模型,也就是賬戶,容器和對象。
1 Swift組件
Swift采用層次數(shù)據(jù)模型,共設(shè)三層邏輯結(jié)構(gòu):賬戶(Account)、容器(Container)、對象(Object),每層節(jié)點(diǎn)數(shù)均沒有限制,可以任意擴(kuò)展。這里的賬戶是用來實(shí)現(xiàn)頂層的隔離機(jī)制,可以被多個(gè)個(gè)人賬戶所共同使用;容器代表封裝一組對象,類似文件夾或目錄;葉子節(jié)點(diǎn)代表對象,由元數(shù)據(jù)和內(nèi)容兩部分組成,如圖1所示:
圖1是Swift組件的內(nèi)部數(shù)據(jù)存儲(chǔ)的模型,下面給出Swift組件的結(jié)構(gòu)圖。
Swift組件主要由存儲(chǔ)節(jié)點(diǎn)和代理節(jié)點(diǎn)組成。
代理節(jié)點(diǎn)(Proxy Node):代理節(jié)點(diǎn)主要是提供Swift API組件的服務(wù)器進(jìn)程,我們要做的各個(gè)操作都是直接提交給代理節(jié)點(diǎn)的,由它來負(fù)責(zé)具體的操作。
存儲(chǔ)節(jié)點(diǎn)(Storage Node):提供存儲(chǔ)服務(wù),里面分成著賬戶,容器和對象三個(gè)級別。
2 Swift組件的安裝部署和測試
本次Swift組件測試是在三臺(tái)服務(wù)器搭建的簡易云計(jì)算平臺(tái)上進(jìn)行的,這個(gè)云計(jì)算平臺(tái)上有一個(gè)代理節(jié)點(diǎn)兼作為代理節(jié)點(diǎn),兩個(gè)對象存儲(chǔ)節(jié)點(diǎn),其中對象存儲(chǔ)節(jié)點(diǎn)的硬盤容量為147GB。在進(jìn)行Swift組件安裝前,先要在三臺(tái)服務(wù)器上安裝Ubuntu14.04系統(tǒng)。
2.1 OpenStack Swift代理節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)安裝部署
在上述準(zhǔn)備工作完成后,在代理節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)上都要安裝NTP服務(wù),用于節(jié)點(diǎn)之間的時(shí)間同步,其他的具體步驟如下:
3 Swift組件的上傳數(shù)據(jù)測試
經(jīng)過了Swift組件的研究和安裝部署之后,對于Swift組件已經(jīng)有了一個(gè)很好的了解,并且已經(jīng)可以使用Swift組件進(jìn)行試驗(yàn)測試了。
3.1 測試方案
測試在2 zone 2副本和3 zone 2 副本的兩種存儲(chǔ)方式下存儲(chǔ)節(jié)點(diǎn)的性能,采用iostat來監(jiān)控Swift上傳文件時(shí)存儲(chǔ)節(jié)點(diǎn)的磁盤I/O性能。
主要進(jìn)行以下三項(xiàng)測試:1)單用戶上傳1G文件;2)單用戶上傳2G文件;()5用戶并發(fā)上傳2G文件,測試結(jié)果主要采集存儲(chǔ)節(jié)點(diǎn)硬盤的tps。
3.2 2 zone 2副本和3 zone 2 副本測試
3.2.1 單用戶上傳1G文件
經(jīng)測試上傳1G文件(1073741824bytes)使用時(shí)間為193秒,上傳速度約5.3Mb/s, 因?yàn)镾wift使用了2副本,所以實(shí)際傳輸速度約為:10.6Mb/s。
上傳過程中tps的統(tǒng)計(jì)信息:
3.2.2 單用戶上傳2G文件
經(jīng)測試上傳2G文件(2097152000bytes)使用時(shí)間為378秒,上傳速度約5.3Mb/s,因?yàn)镾wift使用了2副本,所以實(shí)際傳輸速度約為:10.6Mb/s。
上傳過程中tps的統(tǒng)計(jì)信息:
3.2.3 5用戶并發(fā)上傳2G文件
經(jīng)測試5用戶并發(fā)上傳2G文件,共10485760000bytes使用時(shí)間為1871秒,上傳速度約5.34Mb/s,因?yàn)镾wift使用了2副本,所以實(shí)際傳輸速度約為:10.7Mb/s
3 zone 2測試方法和上述相同,在此不再敘述。
4 總結(jié)
文章主要對openstack平臺(tái)和平臺(tái)上的Swift組件進(jìn)行了相應(yīng)的介紹和研究。在此基礎(chǔ)上,在物理服務(wù)器上進(jìn)行了Swift組件的安裝和部署。最后對Swift存儲(chǔ)進(jìn)行了用戶上傳的測試,測試數(shù)據(jù)上傳和文件大小 ,并發(fā)用戶數(shù)的關(guān)系。
通過測試結(jié)果看出,在相同的存儲(chǔ)環(huán)境下,傳輸相同大小的文件,并發(fā)量越大Swift傳輸性能越高。除去存儲(chǔ)節(jié)點(diǎn)磁盤本身的性能對Swift傳輸速度有影響這個(gè)因素之外,Swift的傳輸速度主要與zone、副本數(shù)、zone下的存儲(chǔ)設(shè)備有關(guān)。
參考文獻(xiàn):
[1] 王象剛. 基于云計(jì)算的軟件測試[J]. 軟件, 2013, 34(12): 246.
[2] 姜毅, 王偉軍, 曹麗等. 基于開源軟件的私有云計(jì)算平臺(tái)構(gòu)建[J]. 電信科學(xué), 2013(1): 68-75.
[3] 邱漢彬.基于云存儲(chǔ)的空間批租業(yè)務(wù)技術(shù)架構(gòu)研究及原型驗(yàn)證[D].廣州:華南理工大學(xué),2012.
[4] 王勝川.基于云計(jì)算的存儲(chǔ)技術(shù)研究[J]. 石油工業(yè)計(jì)算機(jī)應(yīng)用,2011(2):53-55.
[5] 張?jiān)朴?云計(jì)算安全關(guān)鍵技術(shù)分析[J]. 電信科學(xué),2010(9):64-69.
[6] 張其梅.計(jì)算機(jī)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的選擇[J]. 信息通信,2012(1):57.
[7] 陳伯龍. 云計(jì)算與Openstack——虛擬機(jī)Nova篇[M].北京:電子工業(yè)出版社,2013.
[8] 任永杰. KVM虛擬化技術(shù)實(shí)戰(zhàn)與原理解析[M].北京:機(jī)械工業(yè)出版社,2013.