如 iBMpSeries? 系統(tǒng);iBMxSeries? 系統(tǒng);iBMBladeCenter? 系統(tǒng);存儲設(shè)備;網(wǎng)絡和 網(wǎng)絡組件。軟件組件的例子包括:網(wǎng)絡應用服務器軟件,例如IBM^WebSphere?應用服 務器軟件;數(shù)據(jù)庫軟件,例如IBMDB2?數(shù)據(jù)庫軟件。(IBM,zSeries,pSeries,xSeries, BladeCenter,WebSphere以及DB2是國際商業(yè)機器公司在全世界各地的注冊商標)。
[0058] 虛擬層62提供一個抽象層,該層可以提供下列虛擬實體的例子:虛擬服務器、虛 擬存儲、虛擬網(wǎng)絡(包括虛擬私有網(wǎng)絡)、虛擬應用和操作系統(tǒng),以及虛擬客戶端。
[0059] 在一個示例中,管理層64可以提供下述功能:資源供應功能:提供用于在云計算 環(huán)境中執(zhí)行任務的計算資源和其他資源的動態(tài)獲??;計量和定價功能:在云計算環(huán)境內(nèi)對 資源的使用進行成本跟蹤,并為此提供帳單和發(fā)票。在一個例子中,該資源可以包括應用軟 件許可。安全功能:為云的消費者和任務提供身份認證,為數(shù)據(jù)和其他資源提供保護。用戶 門戶功能:為消費者和系統(tǒng)管理員提供對云計算環(huán)境的訪問。服務水平管理功能:提供云 計算資源的分配和管理,以滿足必需的服務水平。服務水平協(xié)議(SLA)計劃和履行功能:為 根據(jù)SLA預測的對云計算資源未來需求提供預先安排和供應。
[0060] 工作負載層66提供云計算環(huán)境可能實現(xiàn)的功能的示例。在該層中,可提供的工作 負載或功能的示例包括:地圖繪制與導航;軟件開發(fā)及生命周期管理;虛擬教室的教學提 供;數(shù)據(jù)分析處理;交易處理。
[0061] 在本發(fā)明的一個實施方式中,可以在虛擬層62處實現(xiàn)根據(jù)本發(fā)明的各個實施方 式的資源分配方案,以便在云計算環(huán)境中的虛擬系統(tǒng)內(nèi)的多個虛擬機之間自適應地進行資 源分配。
[0062] 圖4示意性示出了根據(jù)一個技術(shù)方案的資源分配方法的框圖。在此技術(shù)方案中, 虛擬系統(tǒng)410包括多個虛擬機,分別為VM-1412、VM-2414、...、以及VM-N416。假設(shè)虛擬系 統(tǒng)410中分別運行了多個應用,這些應用可以分別被部署在多個虛擬機VM-1412至VM-M16 上。具體地,應用可以包括:應用1,運行在VM-1412上并配置用于處理用戶對于購物網(wǎng)站 訪問;應用2,運行在VM-2414上并配置用于處理存儲商品相關(guān)數(shù)據(jù),等等。
[0063] 在此技術(shù)方案中,當應用1因無法處理過量的用戶訪問而變得過載時,可以向云 計算系統(tǒng)的資源池420請求(如箭頭A所示)請求額外的計算資源。盡管如圖4所示的技 術(shù)方案可以使得虛擬系統(tǒng)410獲得所需計算資源以處理不斷增加的用戶訪問,然而當資源 池420中沒有額外的計算資源時,該技術(shù)方案無法保證虛擬系統(tǒng)410的正常運行。另外, 還可能會存在如下情況,盡管虛擬機VM-1412因用戶訪問量過大而變得過載,然而虛擬機 VM-2414上仍然存在大量空閑的計算資源。按照圖4所示的技術(shù)方案,應用1并不能調(diào)用虛 擬機VM-2414上的空閑計算資源,S卩,一旦各個虛擬機的配置已經(jīng)確定,在虛擬系統(tǒng)410中 的各個虛擬機之間并不能進行資源再分配。
[0064] 針對如圖4所示技術(shù)方案的不足,期望能夠開發(fā)出一種可以在云計算環(huán)境中的虛 擬系統(tǒng)中的多個虛擬機之間自適應地進行資源分配的方法和裝置。具體地,圖5示意性示 出了根據(jù)本發(fā)明一個實施方式的、在云環(huán)境中進行資源分配的技術(shù)方案的架構(gòu)圖500。不 同于圖4所示的向資源池請求額外的計算資源,在圖5所示的實施方式中,通過在虛擬機 VM-1412、VM-2414、...、以及VM-N416之間進行資源再分配,以便保證虛擬系統(tǒng)410的正常 運行。
[0065] 具體地,在本發(fā)明的一個實施方式中,提供了檢測云環(huán)境內(nèi)的虛擬系統(tǒng)中的多個 虛擬機中的至少第一虛擬機的度量參數(shù);根據(jù)度量參數(shù)計算關(guān)鍵性能指標,關(guān)鍵性能指標 指示至少第一虛擬機的運行狀態(tài);以及響應于關(guān)鍵性能指標指示至少第一虛擬機過載,通 過云環(huán)境來基于關(guān)鍵性能指標在至少第一虛擬機與虛擬系統(tǒng)內(nèi)部的其他虛擬機之間進行 資源再分配。
[0066] 具體地,圖6示意性示出了根據(jù)本發(fā)明一個實施方式的、在云環(huán)境中進行資源分 配的方法的流程圖600。在步驟S602中,檢測云環(huán)境內(nèi)的虛擬系統(tǒng)中的多個虛擬機中的至 少第一虛擬機的度量參數(shù)(metricsparameter)。在此實施方式中,度量參數(shù)是指可以衡量 虛擬機的運行狀態(tài)的參數(shù)??梢圆杉瘉碜蕴摂M系統(tǒng)中的一個或者多個虛擬機的度量參數(shù)。 例如,可以實時地監(jiān)控每個虛擬機的度量參數(shù),或者還可以監(jiān)控運行狀態(tài)浮動較大的虛擬 機的度量參數(shù)。
[0067] 在步驟S604中,根據(jù)度量參數(shù)計算關(guān)鍵性能指標,關(guān)鍵性能指標指示至少第一虛 擬機的運行狀態(tài)。在此實施方式中,度量參數(shù)可以包括用于評估虛擬機的不同方面的多個 參數(shù),例如,可以通過對多個參數(shù)進行加權(quán)等具體方式,來計算關(guān)鍵性能指標。
[0068] 在步驟S606中,響應于關(guān)鍵性能指標指示至少第一虛擬機過載,通過云環(huán)境來基 于關(guān)鍵性能指標在至少第一虛擬機與虛擬系統(tǒng)內(nèi)部的其他虛擬機之間進行資源再分配。由 于關(guān)鍵性能指標可以指示至少第一虛擬機的運行狀態(tài),因而可以基于該關(guān)鍵性能指標判斷 第一虛擬機是否過載,繼而從虛擬系統(tǒng)內(nèi)的其他虛擬機選擇計算資源充足的虛擬機,并且 在第一虛擬機與該其他虛擬機之間進行資源再分配。
[0069] 本發(fā)明的實施方式中的各個虛擬機并非常規(guī)計算環(huán)境中的普通虛擬機,而是需要 受到云環(huán)境的控制中心的統(tǒng)一調(diào)度。因而,當關(guān)鍵性能指標指示至少所述第一虛擬機過載 時,云環(huán)境在虛擬系統(tǒng)內(nèi)部調(diào)整各個虛擬機之間的資源分配,而不是如同現(xiàn)有技術(shù)那樣由 云環(huán)境向該第一虛擬機分配額外的資源。應當注意,采用本發(fā)明的實施方式所述的技術(shù)方 案,除了可以在云環(huán)境的控制中心的層級提供虛擬機之間的資源分配以外,還可以在云環(huán) 境內(nèi)的各個虛擬系統(tǒng)的層級處實現(xiàn)虛擬系統(tǒng)內(nèi)的資源調(diào)度。
[0070] 應當注意,本發(fā)明的上下文中所述的虛擬系統(tǒng)不同于常規(guī)的集群。在集群環(huán)境中 的各個節(jié)點是同質(zhì)的(homogeneous),即各個節(jié)點的物理配置以及邏輯配置通常都是相同 的。然而,由于云環(huán)境的復雜性,云環(huán)境中提供計算資源的計算設(shè)備在物理上通常具有多樣 性,例如某些計算資源可能來自于個人計算機,而某些計算資源可能來自于服務器設(shè)備;另 一方面,各個計算設(shè)備上的軟件配置也不盡相同。例如,對于上文所述的在線機票預定網(wǎng) 站的虛擬系統(tǒng)而言,其中可能會涉及多種類型的計算設(shè)備,并且每個計算設(shè)備上可以運行 多種類型的應用,例如,用于訪問航空公司數(shù)據(jù)庫的應用、以及用于管理在線支付的應用等 等。由于云環(huán)境的復雜性,現(xiàn)有技術(shù)中關(guān)于集群的資源調(diào)度方法并不適合于在云環(huán)境中進 行資源分配。
[0071] 在本發(fā)明的一個實施方式中,可以計算虛擬系統(tǒng)中的每個虛擬機的關(guān)鍵性能指 標,并且根據(jù)該指標來選擇計算資源充足的其他虛擬機。
[0072] 在本發(fā)明的一個實施方式中,在再分配期間虛擬系統(tǒng)占有的資源總量保持不變。 根據(jù)本發(fā)明的原理,優(yōu)先考慮在虛擬系統(tǒng)內(nèi)部的多個虛擬機之間進行資源再分配,當資源 再分配不能滿足虛擬系統(tǒng)的運行要求時,再向云計算環(huán)境請求額外的計算資源。因而,在本 發(fā)明的資源再分配期間,虛擬系統(tǒng)占有的資源總量保持不變。
[0073] 本領(lǐng)域技術(shù)人員可以自行設(shè)計如何實現(xiàn)資源再分配,例如,可以將造成第一虛擬 機過載的應用遷移至具有更充足計算資源的其他虛擬機,或者還可以將具有更充足計算資 源的其他虛擬機中的空閑計算資源分配給該第一虛擬機,以緩和第一虛擬機的過載狀況。
[0074] 在本發(fā)明的一個實施方式中,度量參數(shù)包括以下中的任一項:應用度量參數(shù),指示 運行于多個虛擬機中的至少第一虛擬機之上的應用的性能參數(shù);以及硬件度量參數(shù),指示 多個虛擬機中的至少第一虛擬機的硬件的性能參數(shù)。
[0075] 在本發(fā)明的實施方式中,可以從多個方面來衡量虛擬機的性能狀態(tài),一方面,可以 基于運行于特定虛擬機上的應用的性能來衡量該特定虛擬機的性能狀態(tài)。例如,在上文參 見圖4所述的具體示例中,運行在VM-1412上的應用1配置用于處理用戶對于購物網(wǎng)站的 訪問,此時可以將應用1對于用戶訪問的響應時間作為一個度量參數(shù)。當響應時間較快(例 如,小于10毫秒時),可以認為VM-1412的運行狀態(tài)良好;而當響應時間變慢(例如,大于3 秒時),則可以認為VM-1412的運行狀態(tài)已經(jīng)惡化,并需要進行資源再分配。