孟寅子
摘 要移動云計算可以看作是,將作為一種商業(yè)計算模型的云計算應(yīng)用于移動環(huán)境中所形成概念。本文主要闡述在移動云計算模式下應(yīng)用開發(fā)所需用到的關(guān)鍵技術(shù),主要對移動云計算體系結(jié)構(gòu)、IaaS平臺彈性擴展機制及開源的IaaS平臺OpenNebula做有針對性的研究,闡明移動云計算模式作為一種計算密集型應(yīng)用開發(fā)解決方案的意義。
【關(guān)鍵詞】移動云計算 IaaS 彈性擴展 OpenNebula
移動設(shè)備由于其便攜性、體積小等特點,雖然在各個方面都在向智能化演進,但短時間內(nèi)其處理能力還是難以和計算機相比。因此可以借助基于云計算模式服務(wù)器存儲和處理應(yīng)用,從而弱化對移動終端設(shè)備的處理需求,在后臺,云計算的存儲量和計算能力也解決了手機存儲量有限和丟失信息的問題。
1 移動云計算體系結(jié)構(gòu)
移動云計算可以分為四層,接收層,基本管理層,虛擬層和物理層。
1.1 接收層
也叫接受控制層,包括客戶端的服務(wù)界面,服務(wù)注冊和合理服務(wù)接收。
1.2 基本管理層
在云計算技術(shù)中,管理層位于服務(wù)和服務(wù)器集群之間,在移動云計算系統(tǒng)架構(gòu)中提供管理、服務(wù)和管理系統(tǒng)。
1.3 虛擬層
虛擬層即虛擬項例如計算池,存儲池和網(wǎng)絡(luò)池,虛擬功能可由軟件功能實現(xiàn),包括虛擬環(huán)境,虛擬系統(tǒng),虛擬平臺等等。
1.4 物理層
物理層主要描述了支持移動云服務(wù)的硬件設(shè)備和技術(shù),它可以是便宜的計算機也可以是非智能手機。
2 IaaS云計算彈性擴展機制
在(基礎(chǔ)設(shè)施作為服務(wù))IaaS中,虛擬機作為資源提供給用戶,用戶通過虛擬機獲得所需要的計算能力。在彈性云計算平臺中會提供一些模板,用于虛擬機的創(chuàng)建,這些模板一般按照CPU的計算能力、內(nèi)存大小來劃分。創(chuàng)建虛擬機所需的系統(tǒng)軟件通常來自于IaaS環(huán)境所提供的鏡像文件,除虛擬機所需OS外,還可將用戶的應(yīng)用程序、配置等一起打包成為加密機器鏡像。
在一個虛擬機創(chuàng)建完成之后,它可被上傳到被IaaS提供商所托管的資源環(huán)境中去,并利用IaaS提供商的原始存儲(例如資源調(diào)度、負(fù)載均衡、服務(wù)監(jiān)控等機制)對這臺虛擬機進行相關(guān)配置。用戶在IaaS環(huán)境中,就像在使用裸機和磁盤一樣,即可以將Windows作為操作系統(tǒng)運行其上,也可將Linux作為操作系統(tǒng)運行其上,允許用戶動態(tài)申請或釋放節(jié)點是IaaS區(qū)別于傳統(tǒng)分布式服務(wù)器集群最大的優(yōu)勢。
3 OpenNebula:IaaS彈性云平臺
OpenNebula是Amazon云計算EC2的一種開源實現(xiàn),是IaaS平臺的典型代表。下面主要介紹虛擬化、網(wǎng)絡(luò)、主機與集群、存儲這四個子系統(tǒng)。
3.1 虛擬化子系統(tǒng)
虛擬化子系統(tǒng)負(fù)責(zé)與主機上的虛擬機監(jiān)控程序進行通信,其負(fù)責(zé)在一個虛擬機生命周期中對其進行的各種操作。其通過相應(yīng)的驅(qū)動器與主機中的虛擬機監(jiān)控程序進行通信,在創(chuàng)建一個虛擬機時,應(yīng)該指定其hypervisor的類型,驅(qū)動器可以看作是一個接口,虛擬化子系統(tǒng)通過這個接口與使用響應(yīng)虛擬化技術(shù)的hypervisor進行通信。在OpenNebula管理的主機底層操作系統(tǒng)必須基于Linux,但可以安裝不同的Linux發(fā)行版本,不同的主機可以采用不用的虛擬化技術(shù)。
3.2 網(wǎng)絡(luò)子系統(tǒng)
OpenNebula提供了一個容易使用的可定制化的網(wǎng)絡(luò)子系統(tǒng),以便更好的整合現(xiàn)存數(shù)據(jù)中心特定的網(wǎng)絡(luò)要求。OpenNebula需要一個網(wǎng)絡(luò),以便前端節(jié)點通過網(wǎng)絡(luò)訪問各個主機,從而管理和監(jiān)控各主機的虛擬機監(jiān)控程序,以及傳送鏡像文件。為了使位于不同主機中的,虛擬機之間可以進行網(wǎng)絡(luò)通信,默認(rèn)配置是將虛擬機的網(wǎng)絡(luò)接口連接到其物理主機的網(wǎng)橋上。當(dāng)運行一個虛擬機后,OpenNebula將這個虛擬的網(wǎng)絡(luò)接口連接到一個網(wǎng)橋,或者連接到一個自定義的虛擬網(wǎng)絡(luò)中。這樣虛擬機就可以訪問不同網(wǎng)絡(luò),公網(wǎng)或者是私網(wǎng)。
3.3 存儲子系統(tǒng)
Datastore(數(shù)據(jù)倉庫)是一個存儲介質(zhì),用于存儲虛擬機所需用到的磁盤鏡像,一個數(shù)據(jù)倉庫將會通過SAN/NAS servers進行備份,完整安裝好的OpenNebula通常會有多種類型的Datastore,OpenNebula里的磁盤鏡像可以有四種類型,每種類型都可以有多個Datastore對其進行存儲。存儲系統(tǒng)允許用戶在數(shù)據(jù)倉庫中存儲磁盤鏡像,這些磁盤鏡像可以用于定義虛擬機的操作系統(tǒng),或者用于與其他用戶數(shù)據(jù)共享。
3.4 主機和集群系統(tǒng)
主機是一臺可以運行虛擬機實例服務(wù)器,并且與OpenNebula的前端服務(wù)器相連接,OpenNebula可以部署在異構(gòu)配置的主機上,例如可以用基于版本的不同虛擬機監(jiān)控器和基于不同版本的Linux主機搭建同一個OpenNebula平臺。集群是共享數(shù)據(jù)倉庫和虛擬網(wǎng)絡(luò)的主機的集合,集群通常能夠提供負(fù)載均衡、高可靠性、高性能計算。
4 結(jié)束語
以智能手機為代表的移動設(shè)備在性能上的表現(xiàn)與過去相比已經(jīng)顯著提高,各種基于移動設(shè)備的面向計算密集型復(fù)雜應(yīng)用也隨之而來,基于移動云平臺的服務(wù)器可以利用彈性云計算技術(shù)有效解決服務(wù)器端維護和管理比較繁瑣,且擴展困難,資源利用率較低等問題。同時云計算將這些自我維護和管理的虛擬計算資源集中起來,通過專門軟件實現(xiàn)自動管理,用戶可動態(tài)申請部分資源,有利于提高效率、降低成本。
參考文獻
[1]鄧茹月,覃川,謝顯中.移動云計算的應(yīng)用現(xiàn)狀及存在問題分析[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2012,24(6):716-723.
[2]P.Marshall,K.Keahey,and T.Freeman.
"Elastic Site:Using Clouds to Elastically Extend Site Resources"[C].IEEE/ACM International Symposium on Cluster,Cloud and Grid Computing(CCGrid 2010),May 2010.
[3]D Milojii,IM Llorente,RS Montero.
OpenNebula:A Cloud Management Tool [C].Internet Computing IEEE,2011,15(2):11-14.
作者單位
山東省農(nóng)村信用社聯(lián)合社 山東省濟南市 250000