基于虛擬化技術(shù)的云計算管理平臺大多具有如下功能:應(yīng)用定義、服務(wù)管理、集群管理以及物理機(jī)-虛擬機(jī)管理。應(yīng)用定義模塊的功能是為云計算管理平臺的最終使用者定義需要的機(jī)器類型,可以創(chuàng)建、修改、刪除每一種機(jī)器類型;一組機(jī)器的集合被成為實例,云管理平臺的用戶可以對實例進(jìn)行整體管理,也可以對實例中的機(jī)器進(jìn)行啟動、關(guān)閉以及刪除等單獨操作。服務(wù)管理模塊管理云計算管理平臺中的所有服務(wù),包括對賬戶、用戶以及租戶的管理、事件服務(wù)的管理、安全服務(wù)的管理等。集群管理模塊能夠在地理位置分散的機(jī)器,為全部關(guān)鍵應(yīng)用、服務(wù)等集中分配資源,從而提供了一個單一而又有效的管理環(huán)境,降低了管理總成本。云管理平臺可以同時管理物理機(jī)和虛擬機(jī),對物理機(jī)提供的是啟動、關(guān)閉等基本功能;對虛擬機(jī)提供的則是整個生命周期的管理,包括創(chuàng)建、運行、維護(hù)以及遷移等。
1 云計算管理平臺的資源模型
要對云計算平臺進(jìn)行管理首先需要描述其管理目標(biāo),這是管理操作的基礎(chǔ)。云計算平臺的資源類型多種多樣,已有OVF、BPEL等資源建模格式,但它們都無法對云管理平臺管理提供完整支持。該文接下來針對云管理平臺的各種資源類型進(jìn)行建模,同時說明了云計算管理平臺中各種資源在資源建模時需要關(guān)注的性能指標(biāo)。
云管理平臺的首要功能是云服務(wù),調(diào)用云服務(wù)的流程符合SOA組合服務(wù)的調(diào)用流程,所以對云服務(wù)建模時可以參照BPEL資源建模格式。首先對云服務(wù)進(jìn)行細(xì)分:直接提供服務(wù)的云服務(wù)是不可再分的原子云服務(wù),調(diào)用其他服務(wù)完成云服務(wù)功能的是組合云服務(wù)。組合服務(wù)的調(diào)用流程可能有多個,當(dāng)要計算組合服務(wù)資源的依賴關(guān)系時,要綜合考慮不同調(diào)用流程被調(diào)用的概率,加權(quán)計算所有的調(diào)用流程所造成的資源依賴關(guān)系。云管理平臺上衡量云服務(wù)優(yōu)劣的性能指標(biāo)主要包括響應(yīng)時間、最大連接數(shù)以及可用性,不論是原子云服務(wù)還是組合云服務(wù),衡量的性能指標(biāo)都是相同的。
虛擬化計算資源和存儲資源是相互獨立的,兩者通過虛擬化網(wǎng)絡(luò)資源連接起來。不論是虛擬化計算資源還是存儲資源,都會被配置到一個虛擬化網(wǎng)絡(luò)中,每個虛擬化網(wǎng)絡(luò)包含多個虛擬化計算資源和存儲資源。處于不同虛擬網(wǎng)絡(luò)中的虛擬化計算資源和存儲資源間是相互隔離的,同一虛擬網(wǎng)絡(luò)內(nèi)部的通信不占用虛擬網(wǎng)絡(luò)的資源,而虛擬網(wǎng)絡(luò)內(nèi)部與外部的通信會占用虛擬網(wǎng)絡(luò)帶寬,所以在考慮虛擬網(wǎng)絡(luò)資源的性能需求時,需要綜合考慮虛擬網(wǎng)絡(luò)內(nèi)部和外部兩方面的因素。不管是哪種類型的資源都包含使用的物理資源、性能指標(biāo)、所屬虛擬網(wǎng)絡(luò)等幾個方面的屬性。虛擬化資源的種類多種多樣,所以無法找到一種通用的性能指標(biāo),可以根據(jù)虛擬化資源的實際運行情況選取合適的指標(biāo):例如對存儲資源有每秒讀寫次數(shù),讀寫速率,可靠性(備份、恢復(fù)機(jī)制等)等指標(biāo)。
物理資源的類型劃分和虛擬資源相同,但物理資源因為其規(guī)模、屬性等特征是固定的,因而難以像虛擬資源那樣調(diào)整拓?fù)浣Y(jié)構(gòu);一般來說物理資源大多是以服務(wù)器附加網(wǎng)絡(luò)的方式提供資源。計算資源服務(wù)器主要提供CPU和內(nèi)存,RAID等存儲類資源可以擴(kuò)展其資源架構(gòu),但其計算資源難以擴(kuò)展。可以將物理資源分為服務(wù)器及網(wǎng)絡(luò)設(shè)備兩大類,服務(wù)器中的計算、存儲等虛擬化資源會占用其物理資源,而和計算、存儲等虛擬資源直接相連的虛擬網(wǎng)絡(luò)也會占用服務(wù)器上的網(wǎng)絡(luò)帶寬資源;對網(wǎng)絡(luò)設(shè)備來說,如果虛擬網(wǎng)絡(luò)連接的是鏈路兩端服務(wù)器上的虛擬節(jié)點,那么此連接也會消耗此網(wǎng)絡(luò)設(shè)備上的網(wǎng)絡(luò)帶寬資源。物理計算資源的性能指標(biāo)主要包括CPU個數(shù)、性能,內(nèi)存總量、內(nèi)存占用率等;物理存儲資源的能指標(biāo)主要包括存儲總量、讀寫速率等。
2 資源管理策略
在接收到服務(wù)請求后,云計算平臺通過管理子系統(tǒng)調(diào)配相應(yīng)的資源,并提供具有合適性能指標(biāo)的云服務(wù)。在這一過程中,云平臺內(nèi)資源管理的目標(biāo)主要包括如下幾個方面:
資源規(guī)模管理。云管理平臺中最基本的資源管理需求是對資源的規(guī)模管理,此處的資源規(guī)模管理主要是資源的伸縮,即資源的增減。對不同級別的資源分別進(jìn)行記錄,每一級別的資源都有對應(yīng)的性能指標(biāo),從而減少資源浪費。
虛擬資源與物理資源的綁定關(guān)系管理。云平臺中的虛擬資源與物理資源之間的綁定關(guān)系應(yīng)該是可變的,否則的話云平臺的資源規(guī)模伸縮能力無疑會受到一定限制。需要注意的是,虛擬資源的遷移可能產(chǎn)生性能上的損失,所以要借助合適的算法重新確定虛擬資源和物理資源之間的綁定關(guān)系。
資源性能。云平臺不僅要提供資源管理功能,而且還需要滿足一定的性能指標(biāo)。云管理平臺可以在不同物理節(jié)點間進(jìn)行虛擬資源的調(diào)度,從而在一定程度上提供虛擬資源服務(wù)的性能。
提高資源利用率。在實現(xiàn)主要功能的基礎(chǔ)上,提高虛擬資源的性能是資源管理的首要需求。如果一個節(jié)點的性能利用率降低,那么它的相對功耗就會相應(yīng)提高,而提高節(jié)點利用率就可以降低單位計算性能的電能消耗,所以盡量提高物理資源節(jié)點的利用率是降低資源管理平臺整體功耗的有效途徑。
云管理平臺在進(jìn)行資源管理時,主要有集中分配、分散部署、均衡負(fù)載以及就近部署四周資源管理策略。可以將所有的虛擬資源都部署在少數(shù)幾個物理資源上,這一資源管理方式稱為集中部署,集中部署一方面可以提高整體的物理資源利用率,另一方面還能夠降低云管理平臺內(nèi)的系統(tǒng)資源碎片;另外還可以實現(xiàn)動態(tài)地操作服務(wù)器的目的。與集中部署相反的是,分散部署把所有資源分散部署到盡可能多得資源節(jié)點上,其目的是防止因為物理節(jié)點的失效而導(dǎo)致的虛擬資源不可用的情況,從而達(dá)到云管理平臺的容災(zāi)性能。集中部署和分散部署在資源管理方式上是兩個極端,均衡負(fù)載的資源管理方式將虛擬資源部署到工作負(fù)載最輕的幾臺物理節(jié)點上,從而達(dá)到負(fù)載均衡的目的,以提高云管理平臺的服務(wù)性能。就近部署的方式考慮的是云管理平臺的傳輸負(fù)載,將虛擬資源部署到最近的物理節(jié)點,從而降低了云計算平臺的網(wǎng)絡(luò)傳輸負(fù)載,降低了虛擬資源間的通信延遲。不論是哪種資源管理策略,在進(jìn)行資源管理時都是為了提高云管理平臺的性能,這其間不同的管理策略涉及的因素也不同,有的考慮了資源的能耗,有的考慮了資源的負(fù)載。在選擇資源管理策略時,需要根據(jù)實際情況,綜合考慮各種因素,選擇最適合的資源管理策略。
3 管理策略的實現(xiàn)
云管理平臺要管理的操作可以分為三部分:云服務(wù)管理、虛擬資源管理及物理資源管理。管理云服務(wù)的內(nèi)容一般包含“初始化云服務(wù)的實例、綁定租戶應(yīng)用和云服務(wù)、解除租戶應(yīng)用和云服務(wù)間的綁定關(guān)系、刪除云服務(wù)實例等”。初始化云服務(wù)實例要求云管理平臺整合云服務(wù)需要的計算、存儲資源、運行環(huán)境等信息,并為云服務(wù)提供相關(guān)設(shè)置和配置,如設(shè)置環(huán)境變量等。例如,當(dāng)要初始化云服務(wù)到某虛擬化計算資源節(jié)點時,云管理平臺首先為租戶申請一個滿足條件的虛擬機(jī),在虛擬機(jī)上安裝Agent后啟動,然后將云服務(wù)應(yīng)用軟件傳入虛擬機(jī)操作系統(tǒng),最后在虛擬機(jī)內(nèi)安裝需要的軟件、設(shè)置相應(yīng)環(huán)境變量;如果采用預(yù)先定義好的虛擬機(jī)鏡像或ISO文件,還可以大大簡化云服務(wù)的初始化流程。綁定操作把租戶應(yīng)用信息和云管理平臺已經(jīng)初始化的云服務(wù)實例關(guān)聯(lián)起來,這一過程需要云服務(wù)實例提供自身的安全認(rèn)證密鑰,從而保證云服務(wù)實例只供被綁定的租戶使用。解除綁定的操作和綁定操作是相反的過程。
云管理平臺對物理資源的管理主要包括兩大方面,首先是監(jiān)控失效的物理節(jié)點和物理節(jié)點的資源使用情況;其次是管理物理節(jié)點的相關(guān)操作,比如啟動、關(guān)閉等,這些操作都可以通過調(diào)用物理節(jié)點宿主系統(tǒng)的管理接口實現(xiàn),另外還可以通過觸發(fā)物理節(jié)點系統(tǒng)內(nèi)的腳本實現(xiàn)。云就是平臺中對虛擬資源的管理主要是虛擬機(jī)資源的管理,考慮到虛擬機(jī)所處的不同狀態(tài),可以將對虛擬機(jī)的資源管理分為三種:創(chuàng)建虛擬機(jī)的資源管理、啟動虛擬機(jī)的資源管理及遷移虛擬機(jī)的資源管理。創(chuàng)建虛擬機(jī)時,實際上只是完成虛擬機(jī)文件的創(chuàng)建,虛擬機(jī)所需要的CPU、內(nèi)存等資源暫時還未分配;當(dāng)創(chuàng)建共享類型的虛擬機(jī)時,云管理平臺在分配資源時采用的是輪詢方式,輪詢從虛擬機(jī)服務(wù)器組中選擇一臺服務(wù)器來創(chuàng)建虛擬機(jī)。啟動虛擬機(jī)時的資源管理策略目的是將虛擬機(jī)啟動到合適的服務(wù)器上,以提高云計算平臺資源池中資源的利用率;舉例來說,如果正在做仿真實驗的大量機(jī)器負(fù)載都不是很大,則可以將這些機(jī)器啟動子一個服務(wù)器上,從而節(jié)約IT費用;當(dāng)這些機(jī)器的工作負(fù)載比較大時,完全可以再將它們盡可能多地部署到多臺服務(wù)器上,以實現(xiàn)負(fù)載均衡;這樣的資源調(diào)度策略可以滿足不同用戶的資源調(diào)度需求。