云計(jì)算是一次新的IT革命。目前,普遍認(rèn)為云計(jì)算服務(wù)可以分基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a service,IaaS)、平臺(tái)即服務(wù)和軟件即服務(wù)3類。IaaS面向企業(yè)用戶,提供包括服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)和管理工具在內(nèi)的虛擬數(shù)據(jù)中心,可以幫助企業(yè)削減IT建設(shè)成本和運(yùn)維成本。在數(shù)據(jù)中心的物理基礎(chǔ)設(shè)施上,IaaS通過虛擬化技術(shù)整合出了虛擬資源池。對(duì)提供基礎(chǔ)設(shè)施提供商來說,云計(jì)算平臺(tái)主要是由各種機(jī)器組成的數(shù)據(jù)中心、一組部署管理的軟件以及通過部署生成的虛擬機(jī)組成。與現(xiàn)有的企業(yè)數(shù)據(jù)中心相比,云計(jì)算平臺(tái)具有很多優(yōu)勢(shì),如靈活的IT基礎(chǔ)架構(gòu)、資源的按需分配和資源的快速供給等,這些特點(diǎn)使得云計(jì)算特別適合于互聯(lián)網(wǎng)環(huán)境下為用戶提供短期的、靈活的服務(wù)。
隨著云計(jì)算應(yīng)用技術(shù)的發(fā)展,數(shù)據(jù)中心面臨著新的挑戰(zhàn)和發(fā)展機(jī)遇。傳統(tǒng)的數(shù)據(jù)中心,無論是企業(yè)私有數(shù)據(jù)中心,還是以提供租賃服務(wù)為主的運(yùn)營(yíng)商互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet data center,IDC),都面臨飛速增長(zhǎng)的空間擁擠、能耗巨大和管理復(fù)雜等問題。在云計(jì)算環(huán)境下,采用以虛擬化為核心技術(shù)的新一代虛擬數(shù)據(jù)中心在高密度的硬件資源環(huán)境下,占用更少的機(jī)架、電源和空調(diào)等物理資源,可以更快速、靈活、有效地部署更多的應(yīng)用,促進(jìn)數(shù)據(jù)中心“綠化”建設(shè)。更為潛在的作用是,云計(jì)算數(shù)據(jù)中心機(jī)房可以顯著降低人員及管理成本,在經(jīng)過低成本的改造過程后機(jī)房運(yùn)維可以實(shí)現(xiàn)無人值守、實(shí)時(shí)監(jiān)控、自動(dòng)系統(tǒng)安裝和硬件故障報(bào)警等綜合性的云服務(wù)系統(tǒng)。
中小企業(yè)是推動(dòng)中國(guó)云計(jì)算發(fā)展的主要驅(qū)動(dòng)因素之一。對(duì)正處于成長(zhǎng)期的中小企業(yè)而言,投資建設(shè)IT基礎(chǔ)架構(gòu)的投資回報(bào)率較低,并且很難與業(yè)務(wù)的快速成長(zhǎng)匹配。云計(jì)算具有部署靈活、隨需隨用、按需定制和性價(jià)比高等特點(diǎn),能為這些中小企業(yè)提供合適的解決方案。
隨著互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的快速發(fā)展,互聯(lián)網(wǎng)應(yīng)用已經(jīng)滲透到社會(huì)生活的各個(gè)方面。互聯(lián)網(wǎng)應(yīng)用具有高吞吐率、高并行性和較強(qiáng)的交互性等特點(diǎn),在服務(wù)上具有非確定性,表現(xiàn)為“盡力而為”,較少涉及到復(fù)雜的運(yùn)算?;ヂ?lián)網(wǎng)應(yīng)用的特征為開發(fā)云操作系統(tǒng)提供了最基本的依據(jù)。互聯(lián)網(wǎng)應(yīng)用的迅猛發(fā)展對(duì)云操作系統(tǒng)提出了新的挑戰(zhàn)和需求。目前,面向大型互聯(lián)網(wǎng)的云計(jì)算的關(guān)鍵技術(shù)主要還是掌握在外國(guó)大型公司的手中。探究大型互聯(lián)網(wǎng)環(huán)境中大規(guī)模計(jì)算資源、網(wǎng)絡(luò)資源、存儲(chǔ)資源和軟件資源等的靈活調(diào)度及按需部署仍然是一個(gè)較為前沿的研究課題。
云計(jì)算對(duì)運(yùn)營(yíng)商是發(fā)展契機(jī),一方面它能夠優(yōu)化IT資源、降低企業(yè)內(nèi)部的運(yùn)營(yíng)成本,另一方面也是運(yùn)營(yíng)IT業(yè)務(wù)的切入點(diǎn)。為解決目前實(shí)際運(yùn)維中出現(xiàn)的管理成本高、第三方提供的云平臺(tái)的許可費(fèi)過高且不滿足動(dòng)態(tài)多變的互聯(lián)網(wǎng)應(yīng)用需求等問題,必須設(shè)計(jì)和開發(fā)云操作系統(tǒng)INACloud。 INACloud要盡可能兼容既有資源,并能與現(xiàn)有業(yè)務(wù)平臺(tái)對(duì)接,其主要目標(biāo)服務(wù)群體是中小企業(yè),并要求具有方便的定制能力,表現(xiàn)為以下兩方面:
(1)自動(dòng)化資源部署?!霸啤钡暮诵墓δ苁亲詣?dòng)為用戶提供IT服務(wù),用戶、管理員和其他人員能通過界面對(duì)云計(jì)算平臺(tái)進(jìn)行管理和監(jiān)控。完全自動(dòng)化的部署流程不僅符合安全要求,而且能自動(dòng)滿足用戶的需求,通過提高現(xiàn)有資源的利用率和復(fù)用率節(jié)省成本。
?。?)端到端服務(wù)請(qǐng)求管理。該流程管理可以提供對(duì)服務(wù)請(qǐng)求的全周期管理,包括訂單處理、系統(tǒng)開通和服務(wù)計(jì)費(fèi)等。
1.開源云計(jì)算操作系統(tǒng)選型
“全新”設(shè)計(jì)一個(gè)云操作系統(tǒng),從成本效益來看是不可取的。既要滿足自己的需要,又要避免陷入成本陷阱,因此,更可行的途徑是選擇一個(gè)合適的開源云操作系統(tǒng)作為基礎(chǔ),進(jìn)行本土化定制和二次開發(fā)。
除Amazon,Google提供的云計(jì)算操作系統(tǒng)外,云計(jì)算操作系統(tǒng)還包括Eucalyptus,OpenNebula,OpenStack,OpenQRM,XenServer,CloudStack,ConVirt等。每種云計(jì)算操作系統(tǒng)都具有一定的特點(diǎn),其中大部分云計(jì)算操作系統(tǒng)采用開源模式,但社區(qū)規(guī)模較小,活躍程度也不高。除了Eucalyptus系統(tǒng)積極地鼓勵(lì)社區(qū)用戶參與項(xiàng)目的開發(fā)與測(cè)試之外,其他云計(jì)算操作系統(tǒng)選擇開放源代碼只是一種營(yíng)銷策略,并且價(jià)格大多較貴。另外,部分操作系統(tǒng)每年需要更新一次服務(wù)器許可證,僅管理和維護(hù)許可證就是個(gè)復(fù)雜問題。
國(guó)內(nèi)開發(fā)云計(jì)算操作系統(tǒng)較晚,目前仍處于起步階段,所以大多直接引入國(guó)外的云操作系統(tǒng)或通過引進(jìn)國(guó)外商業(yè)產(chǎn)品的技術(shù)核心及平臺(tái)進(jìn)行架構(gòu)。浪潮、中興、阿里巴巴和華為等公司相繼推出了各自的云計(jì)算系統(tǒng)或云計(jì)算平臺(tái),如浪潮的“云海OS、中興的“CoCloud云操作系統(tǒng)”和阿里巴巴的“阿里云OS”等。這些云操作系統(tǒng)還處于探索階段,尚未廣泛使用,并且系統(tǒng)的性能、價(jià)格和安全性等還有待市場(chǎng)檢驗(yàn)??紤]到知識(shí)產(chǎn)權(quán)、建設(shè)成本和管理成本等因素,研究并自主開發(fā)開放的、兼容的、滿足實(shí)際運(yùn)營(yíng)需求的云操作系統(tǒng)十分必要。
結(jié)合目前業(yè)界最先進(jìn)的虛擬化技術(shù)、開源IaaS平臺(tái)管理技術(shù),利用自身云計(jì)算運(yùn)營(yíng)的經(jīng)驗(yàn),進(jìn)行研發(fā)、改造生成滿足運(yùn)營(yíng)需求、技術(shù)領(lǐng)先的云計(jì)算管理平臺(tái)。經(jīng)過初步篩選,本工作重點(diǎn)考察OpenStack和CloudStack開源云計(jì)算平臺(tái),并分別搭建測(cè)試環(huán)境。通過一系列的技術(shù)、業(yè)務(wù)開展等方面的比對(duì),整理的重要指標(biāo)見表1。
表1 OpenStack和CloudStack的對(duì)比
C1oudStack平臺(tái)的前身是Cloud.com的平臺(tái),作為全球最成功的公共云平臺(tái)之一,已經(jīng)幫助至少85個(gè)大規(guī)模生產(chǎn)性云平臺(tái)實(shí)現(xiàn)了10億美元以上的運(yùn)營(yíng)收入。它支持VMWARE ESX,Xen,KVM,Hyper-V和Bare Metal裸金屬服務(wù)器,并提供了大量的云計(jì)算管理工具,如VM自助式供應(yīng)、動(dòng)態(tài)工作負(fù)載管理和多租戶管理等。
出于后續(xù)運(yùn)營(yíng)及技術(shù)等方面的考慮,本工作決定采用以CloudStack為主,參考OpenStack的方式進(jìn)行后續(xù)云計(jì)算操作系統(tǒng)的研發(fā)。
2.INACloud的架構(gòu)設(shè)計(jì)
云計(jì)算平臺(tái)采用樹狀分層結(jié)構(gòu)(見圖1),其層次結(jié)構(gòu)定義如下:
圖1 資源組織結(jié)構(gòu)
?。?) Zone。一個(gè)Zone包含多個(gè)pod和二級(jí)存儲(chǔ),是最大的組織單元,傳統(tǒng)上對(duì)應(yīng)一個(gè)數(shù)據(jù)中心(在數(shù)據(jù)中心可以有多個(gè)zone),優(yōu)點(diǎn)是提供物理上的獨(dú)立性和冗余性。
?。?) Pod。一個(gè)硬件陣列,包含一個(gè)2層交換機(jī)、若干個(gè)集群。Pod類似于機(jī)架,同一Pod中的主機(jī)在同一子網(wǎng)中。Pod對(duì)于最終用戶是不可見的。
(3) Cluster。一個(gè)CIuster包括若干個(gè)主機(jī)和主存儲(chǔ)。集群提供一種組織節(jié)點(diǎn)的方式,可以是XenServerserver池、一組KVM server或者是事先在vCenter中事先配置好的VMvare集群。一個(gè)集群中的計(jì)算節(jié)點(diǎn)有同樣的硬件、hypervisor和子網(wǎng),能夠訪問共享的主存儲(chǔ)。虛擬機(jī)能夠在不中斷的情況下于一個(gè)集群內(nèi)遷移。
?。?) Host。單個(gè)的計(jì)算節(jié)點(diǎn),以虛擬機(jī)的形式提供真正的云服務(wù)。
?。?)主存儲(chǔ)。與一個(gè)集群相連,負(fù)責(zé)保存虛擬機(jī)運(yùn)行時(shí)所需的磁盤卷。
?。?)二級(jí)存儲(chǔ)。與一個(gè)Zone相連,存儲(chǔ)模板、ISO鏡像和磁盤快照等。
2.1 組件結(jié)構(gòu)
CloudStack采用“框架+插件”的系統(tǒng)構(gòu)架,通過不同的插件來提供對(duì)不同虛擬化技術(shù)的支持,同時(shí),這種系統(tǒng)構(gòu)架也為定制CloudStack提供了可能性。如圖2所示,INACloud在CloudStack上增加了調(diào)度服務(wù)、計(jì)費(fèi)服務(wù)和監(jiān)控服務(wù)等。
圖2 INACloud的組件結(jié)構(gòu)
2.2 網(wǎng)絡(luò)結(jié)構(gòu)
CloudStack的網(wǎng)絡(luò)設(shè)計(jì)是一個(gè)亮點(diǎn),也是其被商業(yè)廣泛應(yīng)用的一個(gè)主要原因,INACloud則直接借用了這種設(shè)計(jì)模式。
根據(jù)不同的數(shù)據(jù)流量類型設(shè)計(jì)公共、管理、客戶和存儲(chǔ)網(wǎng)絡(luò),簡(jiǎn)稱PMGS。
公共(P):用于虛擬機(jī)訪問外網(wǎng),所有的HypervIsor都需要共享Public Vlan以保證虛擬機(jī)對(duì)外網(wǎng)的訪問。
管理(M):用于云內(nèi)部通信,包括管理服務(wù)器節(jié)點(diǎn)與Hypervisor集群、系統(tǒng)虛擬機(jī)或其他組件之間的通信等。
客戶(G):用于最終用戶運(yùn)行虛擬機(jī)實(shí)例時(shí)的通信和虛擬機(jī)實(shí)例之間的通信。
存儲(chǔ)(S):用于主存儲(chǔ)與Hypervisor、二級(jí)存儲(chǔ)之間的通信。
網(wǎng)絡(luò)模式根據(jù)安全性不同分為基本網(wǎng)絡(luò)和高級(jí)網(wǎng)絡(luò),其中M,G,S網(wǎng)絡(luò)對(duì)基本網(wǎng)絡(luò)和高級(jí)網(wǎng)絡(luò)通用,而P網(wǎng)絡(luò)只針對(duì)高級(jí)網(wǎng)絡(luò)。兩種網(wǎng)絡(luò)模式的主要區(qū)別在于對(duì)G網(wǎng)絡(luò)采用的隔離方式,前者采用SecurITy Group方式,而后者采用VlAN方式。
另外,系統(tǒng)虛擬機(jī)的虛擬路由器在高級(jí)網(wǎng)絡(luò)模式中十分重要,它為租戶私有網(wǎng)絡(luò)與公共網(wǎng)絡(luò)之間的接口,并為租戶的私有網(wǎng)絡(luò)提供各種網(wǎng)絡(luò)服務(wù),包括NAT,靜態(tài)NAT,DHCP,DNS,Load Balancing,Port Forwording,F(xiàn)irewalls,SITe-to-SITe VPN等。
2.3 與現(xiàn)有業(yè)務(wù)系統(tǒng)對(duì)接
為便于與現(xiàn)有業(yè)務(wù)系統(tǒng)的對(duì)接,所有云操作系統(tǒng)的API都可以通過HTTP GET/POST帶上命令及其參數(shù)的方式進(jìn)行訪問;同時(shí),云操作系統(tǒng)的對(duì)外功能層提供基于SOAP消息格式的Web服務(wù)和基于JSON消息格式的RESTfuI服務(wù)訪問方式(見圖3)。
圖3 云操作系統(tǒng)與電信系統(tǒng)的對(duì)接
3.可定制的云平臺(tái)管理功能
3.1資源調(diào)度
INACloud包括常用的3種負(fù)載均衡算法。
?。?) Roundrobin,即簡(jiǎn)單輪詢調(diào)度,調(diào)度器通過“輪詢”算法將外部用戶請(qǐng)求按順序分配到集群中的每個(gè)物理服務(wù)器上。該算法平等地對(duì)待每一臺(tái)Real Server,而不受服務(wù)器上實(shí)際的負(fù)載狀況和連接狀態(tài)影響。
?。?) Leastconn,即最少連接調(diào)度,調(diào)度器將網(wǎng)絡(luò)請(qǐng)求調(diào)度到已建立的鏈接數(shù)最少的服務(wù)器上。如果集群系統(tǒng)的真實(shí)服務(wù)器具有相近的系統(tǒng)性能,采用“最小連接”調(diào)度算法可以較好地均衡負(fù)載。
?。?) Source,即“源地址”調(diào)度,調(diào)度器根據(jù)請(qǐng)求源IP進(jìn)行散列(hashing)來調(diào)度。
INACloud還包括:基于經(jīng)濟(jì)成本函數(shù)的調(diào)度算法,即最少費(fèi)用原則;Lastsame算法,即盡量與上一次的調(diào)度結(jié)果一致;最快響應(yīng)算法,即試圖與用戶歷史中最快響應(yīng)的虛擬機(jī)調(diào)度分配一致。
這些調(diào)度算法以服務(wù)的形式提供給用戶,并可通過用戶門戶來選用。調(diào)度服務(wù)采用目前流行的Web服務(wù)器Tomcat和JSP技術(shù),實(shí)現(xiàn)讀取XML數(shù)據(jù)顯示在瀏覽器頁面中,并融入INACloud管理平臺(tái)。
自定義調(diào)度算法通過云操作系統(tǒng)的2個(gè)接口進(jìn)行定制。
?。?)主機(jī)資源調(diào)度接口
public List<Host> allocateTo (VirtuaIMachine-Profile <?extends VirtualMachine> vmProfile,DeploymentPlan plan,Type type,ExcIudeIist avoid,int returnUpTo);
?。?)存儲(chǔ)資源池調(diào)度接口
public list<Storage PooI> allocate ToPool (DiskProflie dskCh,Virtual Machine Profile? extendsVirtualMachine> vm,DeploymentPlan plan,Ex-cludeList avoid,int returnUpTo)。
3.2 資源監(jiān)控
由于云計(jì)算具有自動(dòng)化、彈性可擴(kuò)展的特點(diǎn),因此,云計(jì)算環(huán)境中的資源監(jiān)控顯得格外重要。
監(jiān)控系統(tǒng)分為采集、信息處理與存儲(chǔ)、展現(xiàn)以及警告4個(gè)主要功能,其中采集的內(nèi)容包括主機(jī)的CPU狀態(tài)、內(nèi)存使用情況、INACloud平臺(tái)運(yùn)行狀況(包括事件和警告)和網(wǎng)絡(luò)流量等信息(見圖4)。監(jiān)控管理器(MServer)根據(jù)不同的采集頻度,采用輪詢的方式定期訪問收集器(Collectors),Collectors負(fù)責(zé)采集數(shù)據(jù)。MServer接收到數(shù)據(jù)后按照設(shè)定的策略,定期將歷史信息存入HBase中。這些數(shù)據(jù)可為負(fù)載均衡或者動(dòng)態(tài)遷移等模塊提供信息。監(jiān)控客戶(MCLient)根據(jù)用戶要求從MServer獲取相關(guān)數(shù)據(jù)后,繪制易于用戶閱讀的圖表格式呈現(xiàn)給用戶。MServer對(duì)于收集到的信息進(jìn)行分析,若發(fā)現(xiàn)主機(jī)或云平臺(tái)的異常,會(huì)借用開源監(jiān)控系統(tǒng)Nigos提供報(bào)警功能,使用戶可以快速地定位錯(cuò)誤,并對(duì)錯(cuò)誤進(jìn)行修復(fù)。
圖4 INACloud的資源監(jiān)控
3.3 計(jì)費(fèi)管理
C1oudStack沒有實(shí)現(xiàn)計(jì)費(fèi)系統(tǒng),但是有相應(yīng)的模塊對(duì)資源使用情況進(jìn)行記錄,提供某賬戶的資源累計(jì)使用情況。INACloud利用這些數(shù)據(jù)進(jìn)行計(jì)費(fèi),并將定制的計(jì)費(fèi)策略集成到云計(jì)算操作系統(tǒng)中。
通過對(duì)照Amazon的云計(jì)算資源的計(jì)費(fèi)模式和云計(jì)算業(yè)務(wù)的運(yùn)營(yíng)經(jīng)驗(yàn),開發(fā)了INACloud的計(jì)費(fèi)模塊,并通過對(duì)用戶實(shí)際使用的云計(jì)算資源進(jìn)行細(xì)穎粒的統(tǒng)計(jì)計(jì)費(fèi),計(jì)算出用戶某段時(shí)期內(nèi)虛擬機(jī)、存儲(chǔ)和網(wǎng)絡(luò)的費(fèi)用(見圖5)。
圖5 INACloud的計(jì)費(fèi)界面
4.結(jié)束語
INACloud旨在打造動(dòng)態(tài)、開放的云服務(wù)平臺(tái),向下整合多廠商的云計(jì)算基礎(chǔ)產(chǎn)品和解決方案,向上聯(lián)合更多的云服務(wù)提供商,以開源軟件CloudStack為基礎(chǔ),進(jìn)行了功能定制和二次開發(fā)以滿足實(shí)際運(yùn)維的需要。
為適應(yīng)中小企業(yè)用戶的量多、短期和動(dòng)態(tài)性強(qiáng)的特點(diǎn),INACloud提供了多樣化資源調(diào)度算法、單點(diǎn)登錄和多種計(jì)費(fèi)收費(fèi)策略等功能。
鑒于互連網(wǎng)應(yīng)用的交互性要求,采用4種網(wǎng)絡(luò)類型、2類網(wǎng)絡(luò)模式的網(wǎng)絡(luò)結(jié)構(gòu),以便更好地進(jìn)行數(shù)據(jù)分流和帶寬分配。
試運(yùn)行結(jié)果表明,INACloud的架構(gòu)與設(shè)計(jì)在與原有系統(tǒng)的銜接、成本控制和解決許可證費(fèi)用等方面均取得了良好的效果。
來源:CIO時(shí)代網(wǎng)
版權(quán)及免責(zé)聲明:凡本網(wǎng)所屬版權(quán)作品,轉(zhuǎn)載時(shí)須獲得授權(quán)并注明來源“中國(guó)產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)”,違者本網(wǎng)將保留追究其相關(guān)法律責(zé)任的權(quán)力。凡轉(zhuǎn)載文章,不代表本網(wǎng)觀點(diǎn)和立場(chǎng)。版權(quán)事宜請(qǐng)聯(lián)系:010-65363056。
延伸閱讀
版權(quán)所有:中國(guó)產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)京ICP備11041399號(hào)-2京公網(wǎng)安備11010502003583