1、引言
1.1 研究背景
在信息化、大數(shù)據(jù)飛速發(fā)展的大背景下,人們對數(shù)據(jù)的運(yùn)算、存儲處理越來越頻繁,同時(shí)對數(shù)據(jù)處理的效率、數(shù)據(jù)安全有了更高的要求。數(shù)據(jù)中心作為數(shù)據(jù)運(yùn)算和存儲的主要基地在解決如何有效的應(yīng)對用戶對數(shù)據(jù)業(yè)務(wù)飛速的增長,提供高效的個(gè)性化服務(wù)的同時(shí),如何有效控制數(shù)據(jù)中心的能耗一直也是我們研究的領(lǐng)域。隨著虛擬化技術(shù)研究的深入和應(yīng)用的推廣,為數(shù)據(jù)中心解決資源利用效率、數(shù)據(jù)處理能力、平衡和實(shí)時(shí)提供個(gè)性化資源服務(wù)以及降低集群能耗領(lǐng)域給予了很好的理論支持和研究方向。
1.2 主要面臨的問題
作為一個(gè)新技術(shù)在傳統(tǒng)信息中心的應(yīng)用研究必然面對一些技術(shù)上和理論上的難點(diǎn),主要有以下幾點(diǎn):
(1)數(shù)據(jù)中心現(xiàn)有的設(shè)備型號、處理能力不統(tǒng)一。這是云計(jì)算技術(shù)發(fā)展必然面對的一個(gè)問題,時(shí)代的發(fā)展,信息化的加速,使得設(shè)備的更新?lián)Q代速度已超出了“摩爾定律”的預(yù)期,新的設(shè)備投入使用的同時(shí)舊有的設(shè)備還廣泛的在提供服務(wù)。
(2)目前虛擬化部署方案有很多,OpenStack技術(shù)作為一個(gè)開源虛擬化技術(shù)項(xiàng)目從2011年開始在全世界得到了很好的發(fā)展和廣泛的贊譽(yù),但是同所有的開源項(xiàng)目一樣,在享受開源所提供所有優(yōu)越性的同時(shí)就必需去面對技術(shù)開發(fā)魚龍混雜的環(huán)境和版本更新過快以及不穩(wěn)定的問題。
(3)虛擬化技術(shù)做為一個(gè)前沿科技領(lǐng)域的技術(shù)其核心技術(shù)主要掌握在歐美大型互聯(lián)網(wǎng)企業(yè)手中,例如:Amazon、Google和AT&T等。在我國生產(chǎn)實(shí)踐中尤其是大型數(shù)據(jù)中心中很少應(yīng)用,我們找不到一個(gè)現(xiàn)實(shí)可行的學(xué)習(xí)和參照模板。同時(shí)學(xué)習(xí)資料有限,并且大多數(shù)為外文文獻(xiàn)。在技術(shù)資料支持上面臨少和難的困局。
2、OpenStack技術(shù)系統(tǒng)框架
OpenStack是由Rackspace和美國國家航空航天局(NASA)共同開發(fā)的云計(jì)算平臺,幫助服務(wù)商和企業(yè)內(nèi)部實(shí)現(xiàn)類似于Amazon EC2和S3的云基礎(chǔ)架構(gòu)服務(wù)(Infrastructure as a service,IaaS)自2010年10月開始,OpenStack至今已經(jīng)發(fā)布了Austin、Bexar、Cactus、Diablo以及Essex這5個(gè)版本。由于OpenStack采用Apache2.0許可證發(fā)布源代碼,因此在短短兩年多時(shí)間內(nèi)就吸引了IBM、Cisco、HP等175個(gè)企業(yè)及組織的加入。
OpenStack采用模塊化設(shè)計(jì),它的3個(gè)主要模塊Nova(計(jì)算服務(wù))、Swift(存儲服務(wù))和Glance(鏡像服務(wù)),既可以組合在一起聯(lián)合工作,提供完整的云基礎(chǔ)架構(gòu)服務(wù);又可以獨(dú)立工作,分別提供虛擬化、云存儲和鏡像服務(wù)。
甘肅省計(jì)算中心經(jīng)過多年的發(fā)展,在數(shù)據(jù)處理和高性能計(jì)算方面積累了豐富的經(jīng)驗(yàn),同時(shí)我們正積極著手于虛擬化和云領(lǐng)域的研究。我們將未來統(tǒng)一規(guī)劃的云計(jì)算重點(diǎn)實(shí)驗(yàn)室架構(gòu)設(shè)計(jì)如下:
本次OpenStack在集群一箱刀片上的部署主體結(jié)構(gòu)設(shè)計(jì)如下:
3、OpenStack的部署及能耗測試
3.1 基本的部署過程
本文采用OpenStack源代碼安裝的方法進(jìn)行實(shí)驗(yàn),使用的系統(tǒng)為12.04版Ubuntu,OpenStack版本為Essex,部署過程共分為5個(gè)部分,分別為Keystone的部署、Swift的部署、Glance的部署、Nova的部署和Horizon的部署。部署的平臺是甘肅省計(jì)算中心高性能集群一箱十個(gè)刀片。刀片箱硬件基本配置如下:
OpenStack在高性能計(jì)算集群一箱刀片上部署采用分布式、結(jié)構(gòu)化的安裝方案,其基本部署過程如下:
(1)Keystone的安裝,Keystone的部署流程如圖所示:
(2)Glance的部署。Glance的部署主要有以下幾個(gè)步驟:
(3)Nava的部署。Nova為OpenStack IaaS服務(wù)項(xiàng)目工程,可提供包括虛擬機(jī)實(shí)例、網(wǎng)絡(luò)、云硬盤(Volume)等的管理,是OpenStack三個(gè)核心工程中最為復(fù)雜的一個(gè),目前擴(kuò)展包括Quantum和Melange等孵化項(xiàng)目。部署主要有以下幾個(gè)步驟:
(4)Horizon的部署。Horizon為OpenStack的Web服務(wù)工程,采用Django結(jié)構(gòu)開發(fā)。本文采用源碼方式安裝,即采用git clone方式獲取官方的Horizon源碼,由于其自身具備Web服務(wù),無需通過Apache啟動(dòng)。Horizon的配置文件為源碼下的local_settings.py,主要修改包括設(shè)置參數(shù)OPENSTACK_HOST指向 Keystone的IP地址,本次實(shí)驗(yàn)IP地址設(shè)置為192.168.0.40。
OpenStack在高性能集群上配置完成后,通過web登錄Horizon,地址即192.168.0.40,便可得到如下展示的客戶端虛擬機(jī)視圖:
3.2 定制開發(fā)環(huán)境鏡像
當(dāng)OpenStack具備了控制節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)以及鏡像服務(wù)后,管理員就可以為云平臺定制所需的鏡像,使得云平臺可以向用戶提供虛擬化實(shí)例。定制鏡像流程如圖所示:
在此次實(shí)驗(yàn)中,創(chuàng)建虛擬磁盤及安裝虛擬機(jī)的操作與Linux下運(yùn)行VM一致,均采用KVM虛擬機(jī)實(shí)現(xiàn),直接以正常方式啟動(dòng)KVM完成鏡像的制作。在制作鏡像的過程中,為鏡像定制了軟件和服務(wù),即根據(jù)實(shí)驗(yàn)室的開發(fā)需要,在虛擬機(jī)上安裝相應(yīng)的開發(fā)環(huán)境或開啟相關(guān)服務(wù)。這樣制作的鏡像在被實(shí)例化后,我們在之后的工作中直接使用了完善的軟件平臺服務(wù),避免了逐一安裝軟件的繁瑣工作,提高了工作效率。例如制作Linux鏡像時(shí),可以安裝并開啟VNC、遠(yuǎn)程桌面協(xié)議(RDP)等服務(wù),這樣用戶就可以通過遠(yuǎn)程可視化登錄使用Linux實(shí)例。
3.3 高性能計(jì)算集群部署虛擬化技術(shù)前后能耗分析
在高性能集群上部署OpenStack虛擬化技術(shù)之后,將原來分離的硬件個(gè)體形成一個(gè)虛擬的資源池,可以實(shí)現(xiàn)資源的瞬間遷移和容災(zāi)備份。我們以一個(gè)最直接的電能消耗來看看部署虛擬化后集群的節(jié)能方面突出的表現(xiàn)。
從我們長期的檢測記錄結(jié)果,中心的刀片資源,包括計(jì)算和存儲資源,由于用戶的使用習(xí)慣,其消耗使用情況有如下特點(diǎn):
在高性能計(jì)算集群部署虛擬化技術(shù)之前,由于分布式網(wǎng)格計(jì)算的要求,所有的十臺刀片白天和夜間全部開啟,并且同時(shí)在做并行運(yùn)算,其一晝夜的功耗:
理論值為:3×2×24=144 KW
考慮到即使作業(yè)滿負(fù)荷其功耗也未到達(dá)電源模塊的最高功率,其峰值為總模塊功率的75%,所以實(shí)際值為:
144KW×0.75=108 KW
在高性能集群上部署OpenStack虛擬化技術(shù)之后,在虛擬架構(gòu)上我們以SUSE Linux EntERPrise Server 10為操作平臺為用戶服務(wù)。利用虛擬化技術(shù)的架構(gòu)特性,已經(jīng)在機(jī)群上形成了資源池突破了組件的物理狀態(tài)限制,可以采用資源的遷移技術(shù),在夜間將資源集中到部分機(jī)器上,而將閑置的機(jī)器關(guān)閉,白天高峰期又將所有的刀片開啟保證用戶計(jì)算和存儲的正常運(yùn)行。運(yùn)行情況如下:
部署虛擬環(huán)境后集群一晝夜總功率消耗為:白天消耗電量+夜間消耗電量
正常情況下消耗電量理論值為:
3×2×12+3×2×12×70%=122.4 KW
實(shí)際值為:
122.4×75%=91.8 KW
從以上分析我們可以很直觀的發(fā)現(xiàn),在高性能計(jì)算集群上部署虛擬化后一臺刀片箱,一晝夜就可以節(jié)約用電:
108-91.8=16.2 KW
占原來總功耗的:
16.2÷108=15%
所以僅從節(jié)約用電這一點(diǎn)出發(fā),采用虛擬化技術(shù)后高性能集群在節(jié)能方面有突出的表現(xiàn)。
虛擬化技術(shù)在資源的容災(zāi)備份,資源共享領(lǐng)域更有其卓越的表現(xiàn),我們將在今后的研究實(shí)驗(yàn)中,做詳實(shí)的記錄,進(jìn)一步的分析和研究在更廣的范圍利用OpenStack技術(shù)進(jìn)行虛擬部署,早日為甘肅省計(jì)算中心用戶提供虛擬化云服務(wù)。
4、研究實(shí)驗(yàn)分析
研究虛擬化技術(shù)OpenStack在高性能集群上的部署和應(yīng)用過程中遇到的主要問題和建議:
(1)通過實(shí)驗(yàn)證明,在Ubuntu上部署OpenStack,采用無MAAS版Server以及通過源碼安裝,虛擬機(jī)會更加穩(wěn)定。
(2)在文中能耗測試這一塊,一箱刀片上資源已經(jīng)可以實(shí)現(xiàn)智能遷移,但是閑置機(jī)器還未實(shí)現(xiàn)自動(dòng)控制,這是之后我們研究的一個(gè)方向。
(3)研究過程中發(fā)現(xiàn)整個(gè)OpenStack的數(shù)據(jù)環(huán)境對數(shù)據(jù)庫依賴嚴(yán)重,在部署過程中經(jīng)常會在這一塊出現(xiàn)問題,所以技術(shù)人員一定要對Mysql和Apache服務(wù)器配置基本操作熟練掌握。
(4)OpenStack在高性能集群上的部署可以有兩種基本方案即多節(jié)點(diǎn)部署和all-in-one部署方案,研究證明采用all-in-one方案虛擬機(jī)啟動(dòng)后不穩(wěn)定,易出問題,在設(shè)備條件允許的情況下使用多節(jié)點(diǎn)虛擬機(jī)部署方案,可以提升系統(tǒng)的穩(wěn)定性。
(5)采用多節(jié)點(diǎn)部署方案,部署完成后通過novamanage service list命令發(fā)現(xiàn),計(jì)算節(jié)點(diǎn)的各個(gè)服務(wù)不穩(wěn)定。通過研究發(fā)現(xiàn)這是由于計(jì)算節(jié)點(diǎn)和控制節(jié)點(diǎn)的時(shí)間不同步造成的,通過NTP同步計(jì)算節(jié)點(diǎn)與控制節(jié)點(diǎn)的時(shí)間即可解決問題。
5、總結(jié)
在云計(jì)算和大數(shù)據(jù)飛速發(fā)展的今天,傳統(tǒng)的計(jì)算中心和數(shù)據(jù)中心面臨極大的挑戰(zhàn),同時(shí)也是機(jī)遇并存期,在高性能集群上實(shí)現(xiàn)虛擬化技術(shù),能很好的解決資源受地域和物理組態(tài)限制的問題,為用戶能夠提供動(dòng)態(tài)個(gè)性化服務(wù)。通過充分利用虛擬化技術(shù)的優(yōu)勢,可以合理的調(diào)控集群的使用率。根據(jù)集群的運(yùn)算特征動(dòng)態(tài)調(diào)整集群的使用,在作業(yè)量低時(shí)運(yùn)用虛擬化技術(shù)遷移作業(yè)使其集中在部分刀片上工作,能很好的降低集群能耗,同時(shí)有助機(jī)房的溫度濕度控制。在今后的學(xué)習(xí)和研究中我們將對此在高性能計(jì)算集群上作進(jìn)一步的研究。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:虛擬化技術(shù)OpenStack在高性能計(jì)算集群上的應(yīng)用
本文網(wǎng)址:http://www.oesoe.com/html/support/11121512476.html