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