曹嶸暉,李秦偉,呂曉丹(.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽(yáng) 55005;.貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽(yáng) 55005)
OpenStack云環(huán)境下多節(jié)點(diǎn)塊存儲(chǔ)研究
曹嶸暉1,李秦偉2,呂曉丹2
(1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽(yáng) 550025;2.貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州貴陽(yáng)550025)
基于OpenStack本身的塊存儲(chǔ)設(shè)計(jì),在云計(jì)算平臺(tái)中實(shí)現(xiàn)了多節(jié)點(diǎn)塊存儲(chǔ)的 iSCSI SAN配置,為虛擬機(jī)提供了跨網(wǎng)段、跨節(jié)點(diǎn)的獨(dú)立塊存儲(chǔ)服務(wù),并在不同節(jié)點(diǎn)間、虛擬機(jī)上分別對(duì)其進(jìn)行測(cè)試,對(duì)學(xué)習(xí)和實(shí)際構(gòu)建云平臺(tái)中跨網(wǎng)段多節(jié)點(diǎn)的塊存儲(chǔ)服務(wù)有參考價(jià)值。
OpenStack;多節(jié)點(diǎn)塊存儲(chǔ);iSCSI SAN
隨著云計(jì)算的不斷發(fā)展,各種云計(jì)算管理平臺(tái)應(yīng)運(yùn)而生,如 Eucalyptus、OpenStack。而在各種各樣的云計(jì)算管理平臺(tái)中只有 OpenStack是完全開(kāi)源的,而開(kāi)源的云計(jì)算管理平臺(tái)則一致被業(yè)界和學(xué)術(shù)界認(rèn)為是未來(lái)云計(jì)算發(fā)展的方向[1]。
OpenStack是由 Rackspace和 NASA共同開(kāi)發(fā)的云計(jì)算平臺(tái),幫助服務(wù)商和企業(yè)內(nèi)部實(shí)現(xiàn)類(lèi)似于AmazonEC2和 S3的云基礎(chǔ)架構(gòu)服務(wù)(Infrastructureasa Service,IaaS)。前者是 NASA開(kāi)發(fā)的虛擬服務(wù)器部署和業(yè)務(wù)計(jì)算模塊;后者是 Rackspace開(kāi)發(fā)的分布式云存儲(chǔ)模塊,兩者可以一起用,也可以分開(kāi)單獨(dú)用。OpenStack是一個(gè)開(kāi)源項(xiàng)目,除了有 Rackspace和 NASA的大力支持外,后面還有包括 Dell、Citrix、Cisco、Canonical這些重量級(jí)公司的貢獻(xiàn)和支持,其發(fā)展非常之迅速[2]。
OpenStack創(chuàng)建出來(lái)的實(shí)例是沒(méi)有永久存儲(chǔ)的,關(guān)閉實(shí)例后數(shù)據(jù)都會(huì)丟失,所以需要存儲(chǔ)卷來(lái)保存每個(gè)instance的數(shù)據(jù)。這項(xiàng)工作由 nova-volume實(shí)現(xiàn),提供類(lèi)似亞馬遜EBS的塊存儲(chǔ)服務(wù)。
其中,nova-volume專(zhuān)門(mén)管理卷的創(chuàng)建、刪除、掛載等,這些卷基于 lvm管理,使用 iSCSI提供服務(wù),并通過(guò)libvirt與虛擬機(jī)交互。存儲(chǔ)池在 libvirt中分配的 id標(biāo)志著它成為 libvirt可管理的對(duì)象,生成卷組 vg(volume group,OpenStack中必須nova-volumes)就有了可劃分存儲(chǔ)卷的存儲(chǔ)池,狀態(tài)為活躍(active)狀態(tài)才可以執(zhí)行劃分存儲(chǔ)卷的操作,其流程如圖1所示。
在單機(jī)塊存儲(chǔ)中,一個(gè)塊設(shè)備指一個(gè)磁盤(pán)分區(qū)。以Linux操作系統(tǒng)為例,在設(shè)備目錄/dev/下會(huì)看到掛載的塊存儲(chǔ)設(shè)備。再通過(guò) fdisk分區(qū)工具將磁盤(pán)分區(qū)。
但是,在當(dāng)前海量數(shù)據(jù)存儲(chǔ)和超高任務(wù)訪問(wèn)量的需求下,單機(jī)的塊存儲(chǔ)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足大數(shù)據(jù)量的要求。通過(guò)光纖通道存儲(chǔ)(SAN)將不同種類(lèi)、性能和大小的存儲(chǔ)設(shè)備集合在一起統(tǒng)一向外提供服務(wù),能夠滿足性能和價(jià)格方面的需求[3]。
圖1 nova-volume工作流程
而OpenStack云平臺(tái)中只提供類(lèi)似于EBS塊存儲(chǔ)的API框架,當(dāng)前的實(shí)現(xiàn)方式是Ceph。它并沒(méi)有實(shí)現(xiàn)對(duì)多個(gè)節(jié)點(diǎn)塊設(shè)備的管理和實(shí)際服務(wù)的提供。
OpenStack目前作為商業(yè)應(yīng)用云計(jì)算平臺(tái)并不多見(jiàn),而將多節(jié)點(diǎn)的物理存儲(chǔ)資源在 OpenStack上進(jìn)行統(tǒng)一管理是商業(yè)應(yīng)用必需的[4]。
為此本文引入光纖通道存儲(chǔ)局域網(wǎng)技術(shù)(Fibre Channel Storage Area Network,F(xiàn)C SAN)。這是一種用可靠的小型計(jì)算機(jī)系統(tǒng)接口(Small Computer System Interface,SCSI)協(xié)議將存儲(chǔ)設(shè)備與相關(guān)的服務(wù)器連接起來(lái)的高速子網(wǎng)。
iSCSI把 SCSI命令封裝在 TCP包中,通過(guò) TCP/IP協(xié)議連接Initiator(發(fā)起端)與 Target(目標(biāo)端),利用 TCP連接傳送控制信息、SCSI命令、參數(shù)和數(shù)據(jù)[5]。
本文中實(shí)驗(yàn)環(huán)境為1臺(tái)控制節(jié)點(diǎn),3臺(tái)計(jì)算節(jié)點(diǎn),1臺(tái)存儲(chǔ)服務(wù)器,由于控制節(jié)點(diǎn)本身帶塊存儲(chǔ)服務(wù),所以將存儲(chǔ)服務(wù)器并入 OpenStack云平臺(tái)中以提供多節(jié)點(diǎn)塊存儲(chǔ)服務(wù)。表1為各個(gè)節(jié)點(diǎn)基本配置參數(shù)。
表1 各個(gè)節(jié)點(diǎn)基本配置參數(shù)
3.1準(zhǔn)備存儲(chǔ)服務(wù)器
由于搭建 OpenStack云平臺(tái)開(kāi)始前須先用 Ubuntu-12.04.2-server-amd64.iso做為底層操作系統(tǒng),因此存儲(chǔ)服務(wù)器在安裝操作系統(tǒng)對(duì)硬盤(pán)進(jìn)行分區(qū)時(shí),分出15 TB的空間掛載在 nova-volume上,為提供塊存儲(chǔ)服務(wù)作資源準(zhǔn)備。
3.2iSCSI的配置
3.2.1開(kāi)啟 iSCSI target服務(wù)
在 Ubuntu環(huán)境下安裝 iSCSI target相關(guān)的軟件 tgt、iscsitarget、iscsitarget-source、iscsitarget-dkms。修改 iSCSI target的配置文件:將ISCSITARGET_ENABLE的值改成true。
創(chuàng)建 target,id=1,iqn=iqn.33.cinder,iqn是 target在局域網(wǎng)內(nèi)的唯一描述符。給指定的target增加一個(gè) lun,通過(guò) tid來(lái)制定 target,這里將/dev/sdb添加到 tid=1的target中,并使其能被initiator訪問(wèn)。
3.2.2iSCSI initiator端的配置
安裝open-scsi并發(fā)現(xiàn) iscsi target。
其顯示信息為:192.168.3.3:3260 iqn.33.cinder。通過(guò)下面指令使用target:
sudoiscsiadm-mnode—targetnameiqn.33.cinder-p 192.168.3.3--login
執(zhí)行上述操作后,使用df╞h查看控制節(jié)點(diǎn)磁盤(pán)信息就可以看到在本地主機(jī)上多出一個(gè)/dev/sdb。
3.3存儲(chǔ)卷軸的管理與操作
分區(qū)格式化后,可以看到多出來(lái)的/dev/sdb1。對(duì)其進(jìn)行物理卷和卷組的創(chuàng)建,卷組名稱(chēng)為:nova-volume。通過(guò) vgdisplay可以看到卷組信息,如圖2所示。
圖2 nova-volume卷組信息
在 openStack的 Horizion操作平臺(tái)上點(diǎn)擊“create volume”即可對(duì)存儲(chǔ)服務(wù)器上提供的 15 TB存儲(chǔ)資源進(jìn)行管理與操作。
針對(duì)搭建好的 OpenStack云平臺(tái)的存儲(chǔ)性能研究可以分為節(jié)點(diǎn)測(cè)試和虛擬機(jī)測(cè)試兩個(gè)方面。節(jié)點(diǎn)測(cè)試是對(duì)物理層面上的存儲(chǔ)資源性能的評(píng)測(cè)指標(biāo),虛擬機(jī)測(cè)試則是確定云平臺(tái)提供服務(wù)以及云存儲(chǔ)性能研究的層次。
4.1節(jié)點(diǎn)測(cè)試
本文提供存儲(chǔ)服務(wù)采用的存儲(chǔ)服務(wù)器為Dell的R510。此存儲(chǔ)服務(wù)器具有最多 12個(gè)硬盤(pán),可提供超大內(nèi)部存儲(chǔ)容量,本實(shí)驗(yàn)為9個(gè)做raid5的2 TB硬盤(pán),提供的可用存儲(chǔ)容量為 16 TB。
在存儲(chǔ)節(jié)點(diǎn)上對(duì)其提供存儲(chǔ)服務(wù)的存儲(chǔ)區(qū)/dev/sdb1進(jìn)行讀寫(xiě)測(cè)試,測(cè)試結(jié)果如圖3所示。
圖3 存儲(chǔ)節(jié)點(diǎn)上對(duì)存儲(chǔ)資源讀寫(xiě)測(cè)試
可以看到直接插在服務(wù)器上的硬盤(pán)2 s讀取了17 214 MB的緩存,約合 8 615.97 MB/s。在 3.02 s讀取了828 MB磁盤(pán)(物理讀),讀取速度約合274 MB/s。
回到控制節(jié)點(diǎn),通過(guò) iSCSI的Initator端指令找到其提供存儲(chǔ)服務(wù)的存儲(chǔ)資源,并使用它。由于其存儲(chǔ)資源大于 2 TB,因此采取 GPT分區(qū)的方式。分區(qū)完成后使用mkfs.ext3格式化。對(duì)其進(jìn)行物理卷和卷組的創(chuàng)建。并對(duì)其進(jìn)行相同的硬盤(pán)測(cè)試,測(cè)試結(jié)果如圖4所示。
圖4 控制節(jié)點(diǎn)上讀寫(xiě)測(cè)試
這時(shí)看到在使用其存儲(chǔ)服務(wù)的控制節(jié)點(diǎn)上對(duì)其提供的存儲(chǔ)資源的讀取測(cè)試中,其2 s讀取了12 268 MB的緩存,約合6 140.78 MB/s。在3.34 s中讀取了334 MB磁盤(pán)(物理讀),讀取速度約合110.72 MB/s。
對(duì)比其本地資源的讀取,其速度有明顯下降。由于其存儲(chǔ)節(jié)點(diǎn)與控制節(jié)點(diǎn)間是交換機(jī)連接的,并且處于不同的網(wǎng)段,因此網(wǎng)絡(luò)是存儲(chǔ)節(jié)點(diǎn)性能的一個(gè)制約因素,其速度下降值在可以接受的范圍之內(nèi),不影響控制節(jié)點(diǎn)對(duì)其存儲(chǔ)資源的正常使用。
在控制節(jié)點(diǎn)創(chuàng)建用以提供給虛擬機(jī)使用的物理卷軸,大小為1 TB,具體信息如圖5所示。
圖5 物理卷軸信息
將其掛載在虛擬機(jī)上,隨后對(duì)其進(jìn)行測(cè)試。
4.2虛擬機(jī)測(cè)試
在 OpenStack云平臺(tái)上創(chuàng)建 4核、8 GB內(nèi)存、100 GB硬盤(pán)的虛擬機(jī)。其鏡像為windows2008server。虛擬機(jī)啟動(dòng)后再將之前創(chuàng)建的 1 TB的物理卷掛載在虛擬機(jī)上,對(duì)其格式化分區(qū)后如圖6所示。
使用 HD Tune Pro工具。分別選取 512 KB、16 MB、64 MB、512 MB大小的文件對(duì)其掛載的 1 TB硬盤(pán)進(jìn)行讀寫(xiě)測(cè)試,測(cè)試結(jié)果如圖7所示。
從4組測(cè)試結(jié)果可以看到,不同大小文件對(duì)其掛載的1 TB的硬盤(pán)均在 512 GB~8 192 GB的區(qū)間達(dá)到峰值。說(shuō)明其不同大小的文件讀取對(duì)其提供的存儲(chǔ)服務(wù)在讀寫(xiě)區(qū)間沒(méi)有區(qū)別。同時(shí)其讀取速度4次取平均值為讀取109.6 MB/s、寫(xiě)入105.7 MB/s,結(jié)果如圖8所示。
圖6 windows2008server磁盤(pán)管理
圖7 各個(gè)大小文件的硬盤(pán)讀寫(xiě)測(cè)試
圖8 硬盤(pán)讀寫(xiě)平均值
對(duì)比其在控制節(jié)點(diǎn)上對(duì)存儲(chǔ)資源的測(cè)試,其讀取速度沒(méi)有變化,不受云平臺(tái)本身的影響。同時(shí)對(duì)不同大小的文件的讀寫(xiě)也沒(méi)有明顯的區(qū)別,足以說(shuō)明此種方案的可信性。
本文在分析 OpenStack云平臺(tái)其自身塊存儲(chǔ)服務(wù)基礎(chǔ)上給出了 Linux下通過(guò) iSCSI協(xié)議實(shí)現(xiàn)多節(jié)點(diǎn)存儲(chǔ)的實(shí)現(xiàn)方案,在此實(shí)現(xiàn)的基礎(chǔ)上研究了節(jié)點(diǎn)與虛擬機(jī)兩方面對(duì)多節(jié)點(diǎn)塊存儲(chǔ)管理與應(yīng)用,并給出了相應(yīng)的實(shí)驗(yàn)測(cè)試。通過(guò)測(cè)試結(jié)果發(fā)現(xiàn),在物理層上不同節(jié)點(diǎn)間的存儲(chǔ)資源的使用是受其網(wǎng)絡(luò)性能的影響,而在 OpenStack本身的云平臺(tái)內(nèi),其物理層的網(wǎng)絡(luò)設(shè)置對(duì)塊存儲(chǔ)服務(wù)的影響幾乎微乎其微。如果節(jié)點(diǎn)間網(wǎng)絡(luò)配置不當(dāng),就會(huì)嚴(yán)重影響存儲(chǔ)服務(wù)的性能;反之,就能充分發(fā)揮其基于 iSCSI協(xié)議塊存儲(chǔ)的優(yōu)越性。
[1]汪楠.基于OpenStack云平臺(tái)的計(jì)算資源動(dòng)態(tài)調(diào)度及管理[D].大連:大連理工大學(xué),2013.
[2]OpenStack[EB/OL].[2014-09-16].http://openstack.org/.
[3]張江陵,馮丹.海量信息存儲(chǔ)[M].北京:科學(xué)出版社,2003.
[4]Marc Farley.SAN存儲(chǔ)區(qū)域網(wǎng)絡(luò)[M].孫功星,蔣文保,范勇,譯.北京:機(jī)械工業(yè)出版社,2001.
[5]iSCSI Draft[EB/OL].(2003-01-xx)[2014-09-16].http://www. ietf.org/int-ernet-drafts/draft-ietf-ips-iscsi-20.txt,2003-01.
The research of multi-node block storage in OpenStack Cloud environment
Cao Ronghui1,Li Qinwei2,Lv Xiaodan2
(1.College of Big Date and Information Engineering,Guizhou University,Guiyang 550025,China;2.College of Computer Science and Technology,Guizhou University,Guiyang 550025,China)
Based on the design of block storage in OpenStack,this paper achieves the configuration of iSCSI SAN that multinode block storage in Cloud computing platform.It provides the independent block storage service that cross-network segment and cross-node for virtual machine.Test is completed in different node and virtual machine respectively,on the learing and practical construction of the multi-node block storage service that corss-network in Cloud platform has some reference value.
OpenStack;multi-node block storage;iSCSI SAN
TP27
A
1674-7720(2015)02-0022-03
(2014-09-26)
曹嶸暉(1988-),男,碩士研究生,主要研究方向:云計(jì)算。
李秦偉(1961-),男,教授,碩士生導(dǎo)師,主要研究方向:網(wǎng)絡(luò)安全,信息安全,現(xiàn)代密碼學(xué)。
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2015年2期