專(zhuān)利名稱(chēng):虛擬機(jī)調(diào)度決策的系統(tǒng)、平臺(tái)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信和計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種虛擬機(jī)調(diào)度的系統(tǒng)、平臺(tái)及方法。
背景技術(shù):
隨著電信網(wǎng)絡(luò)的全I(xiàn)P和寬帶化,電信技術(shù)和IT/互聯(lián)網(wǎng)技術(shù)出現(xiàn)互相融合滲透的發(fā)展趨勢(shì),云計(jì)算近期越來(lái)越得到電信產(chǎn)業(yè)的關(guān)注。電信運(yùn)營(yíng)商都開(kāi)始著手基于云計(jì)算平臺(tái)進(jìn)行多業(yè)務(wù)的運(yùn)營(yíng)。云計(jì)算平臺(tái)的基礎(chǔ)是虛擬化平臺(tái),而虛擬化平臺(tái)的關(guān)鍵技術(shù)之一就是虛擬機(jī)調(diào)度決策技術(shù),它是實(shí)現(xiàn)虛擬機(jī)集群高可用性、負(fù)載均衡、節(jié)能管理等的支撐技術(shù)。目前,虛擬化平臺(tái)產(chǎn)品如VMware ESXi等都提供了虛擬機(jī)集群高可用性、負(fù)載均衡等虛擬機(jī)調(diào)度決策功能。但是,用戶(hù)對(duì)于虛擬機(jī)調(diào)度策略的需求是多種多樣的,而現(xiàn)有的虛擬化平臺(tái)提供的虛擬機(jī)調(diào)度策略是固定的,不支持策略模板以及策略模板的定制,無(wú)法根據(jù)用戶(hù)需求定制虛擬機(jī)的調(diào)度策略,不能滿(mǎn)足用戶(hù)對(duì)于虛擬機(jī)調(diào)度的高級(jí)需求。發(fā)明人發(fā)現(xiàn)上述的相關(guān)技術(shù)中虛擬機(jī)調(diào)度決策方式存在如下缺陷不支持策略模板以及策略模板的定制,不能滿(mǎn)足用戶(hù)對(duì)于虛擬機(jī)調(diào)度策略的多樣性需求。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種虛擬機(jī)調(diào)度的系統(tǒng)、平臺(tái)及方法,以至少解決上述的不支持策略模板以及策略模板定制的問(wèn)題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種虛擬機(jī)調(diào)度決策系統(tǒng),包括模板管理模塊, 用于選擇根據(jù)用戶(hù)需求定制的策略模板;策略管理模塊,用于通過(guò)設(shè)置策略模板中的參數(shù), 創(chuàng)建并激活策略;調(diào)度決策計(jì)算模塊,用于利用處于激活狀態(tài)的策略,對(duì)當(dāng)前資源信息和集群運(yùn)行數(shù)據(jù)進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。優(yōu)選地,本技術(shù)方案中,策略管理模塊,還用于對(duì)策略進(jìn)行修改、掛起、刪除,或優(yōu)先級(jí)調(diào)整。優(yōu)選地,本技術(shù)方案中,虛擬機(jī)調(diào)度決策系統(tǒng)還包括集群監(jiān)控?cái)?shù)據(jù)接口模塊,用于獲取集群運(yùn)行數(shù)據(jù),并將集群運(yùn)行數(shù)據(jù)轉(zhuǎn)化為規(guī)則弓I擎的輸入數(shù)據(jù);資源管理接口模塊, 用于獲取當(dāng)前資源信息,并將當(dāng)前資源信息轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù);調(diào)度決策計(jì)算模塊,用于利用處于激活狀態(tài)的策略,采用規(guī)則引擎對(duì)集群運(yùn)行數(shù)據(jù)和當(dāng)前資源信息進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。根據(jù)本發(fā)明的另一方面,提供了一種包括上述虛擬機(jī)調(diào)度決策系統(tǒng)的平臺(tái),除虛擬機(jī)調(diào)度決策系統(tǒng),還包括集群監(jiān)控系統(tǒng),用于監(jiān)控集群的運(yùn)行數(shù)據(jù),并將集群運(yùn)行數(shù)據(jù)發(fā)送至虛擬機(jī)調(diào)度決策系統(tǒng);資源管理系統(tǒng),用于管理當(dāng)前的資源信息,并將當(dāng)前資源信息發(fā)送至虛擬機(jī)調(diào)度決策系統(tǒng);調(diào)度控制系統(tǒng),用于接收虛擬機(jī)調(diào)度決策系統(tǒng)的最優(yōu)決策,執(zhí)行最優(yōu)決策。
根據(jù)本發(fā)明的另一方面,提供了一種虛擬機(jī)調(diào)度決策方法,包括選擇根據(jù)用戶(hù)需求定制的策略模板;通過(guò)設(shè)置策略模板中的參數(shù),創(chuàng)建并激活策略;利用處于激活狀態(tài)的策略,對(duì)當(dāng)前資源信息和集群運(yùn)行數(shù)據(jù)進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。優(yōu)選地,本技術(shù)方案中,創(chuàng)建并激活策略之后還包括對(duì)策略進(jìn)行修改、掛起、刪除,或優(yōu)先級(jí)調(diào)整。本發(fā)明中,虛擬機(jī)調(diào)度策略使用腳本的策略模板進(jìn)行開(kāi)發(fā)和部署,開(kāi)發(fā)速度快且部署靈活,可以提供豐富的備選策略以滿(mǎn)足不同層次用戶(hù)的需要。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1為本發(fā)明裝置實(shí)施例一虛擬機(jī)調(diào) 度決策系統(tǒng)的示意圖;圖2為本發(fā)明平臺(tái)實(shí)施例一虛擬機(jī)調(diào)度決策平臺(tái)的示意圖;圖3為本發(fā)明方法實(shí)施例一虛擬機(jī)調(diào)度決策方法的流程圖;圖4為本發(fā)明方法實(shí)施例二虛擬機(jī)調(diào)度決策方法的流程圖;圖5為本發(fā)明方法實(shí)施例三虛擬機(jī)調(diào)度決策方法的流程圖;圖6為本發(fā)明方法實(shí)施例四虛擬機(jī)VM6創(chuàng)建前的示意圖;圖7為本發(fā)明方法實(shí)施例四虛擬機(jī)VM6創(chuàng)建后的示意圖;圖8為集群初始資源分布的示意圖;圖9為采用負(fù)載均衡策略調(diào)度后集群資源分布示意圖;圖10為采用節(jié)能策略調(diào)度后集群資源分布的示意圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。鑒于傳統(tǒng)技術(shù)實(shí)現(xiàn)的虛擬機(jī)調(diào)度決策系統(tǒng)的不足,本發(fā)明提出一種新的可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng),虛擬機(jī)調(diào)度策略使用腳本開(kāi)發(fā)和部署,開(kāi)發(fā)速度快且部署靈活, 可以提供豐富的備選策略以滿(mǎn)足不同層次用戶(hù)的需要;本發(fā)明支持策略模板定制,能夠根據(jù)用戶(hù)需求快速定制策略模板,以滿(mǎn)足用戶(hù)對(duì)于虛擬機(jī)調(diào)度的高級(jí)需求;同時(shí),本發(fā)明能夠高效、準(zhǔn)確地進(jìn)行虛擬機(jī)調(diào)度決策計(jì)算和分析,能夠提高虛擬機(jī)調(diào)度的決策效率,降低虛擬化平臺(tái)的虛擬機(jī)調(diào)度開(kāi)銷(xiāo)。裝置實(shí)施例一圖1為本發(fā)明裝置實(shí)施例一虛擬機(jī)調(diào)度決策系統(tǒng)的示意圖。本實(shí)施例包括模板管理模塊,用于選擇根據(jù)用戶(hù)需求定制的策略模板;策略管理模塊,用于通過(guò)設(shè)置策略模板中的參數(shù),創(chuàng)建并激活策略;調(diào)度決策計(jì)算模塊,用于利用處于激活狀態(tài)的策略,對(duì)當(dāng)前資源信息和集群運(yùn)行數(shù)據(jù)進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。本實(shí)施例中,策略模板就是腳本,可以理解為一個(gè)腳本對(duì)應(yīng)一個(gè)策略模板。策略模板可以被開(kāi)發(fā)人員或者高級(jí)別用戶(hù)(該用戶(hù)需要能夠看懂并編輯策略模板腳本)定制。策略模板是與用戶(hù)需求相關(guān)的,與具體虛擬化平臺(tái)的資源以及性能狀態(tài)沒(méi)有關(guān)系。
本實(shí)施例中,虛擬機(jī)調(diào)度策略使用腳本開(kāi)發(fā)和部署,開(kāi)發(fā)速度快且部署靈活,可以提供豐富的備選策略以滿(mǎn)足不同層次用戶(hù)的需要;本發(fā)明支持策略模板定制,能夠根據(jù)用戶(hù)需求快速定制策略模板,以滿(mǎn)足用戶(hù)對(duì)于虛擬機(jī)調(diào)度的高級(jí)需求。裝置實(shí)施例二 本實(shí) 施例將在實(shí)施例一的基礎(chǔ)上,對(duì)虛擬機(jī)調(diào)度決策系統(tǒng)的各部分進(jìn)行詳細(xì)說(shuō)明。如圖1所示,本實(shí)施例虛擬機(jī)調(diào)度決策系統(tǒng)包括以下部分策略模板庫(kù)存放策略模板的庫(kù),負(fù)責(zé)保存策略模板。策略模板是采用腳本文件開(kāi)發(fā)的,是策略的邏輯框架,用戶(hù)在創(chuàng)建策略時(shí),首先需要選擇策略的模板,之后再設(shè)置策略的相關(guān)參數(shù)。模板管理模塊負(fù)責(zé)策略模板的管理,通過(guò)本模塊,操作人員可以新增或者刪除策略模板。策略管理模塊負(fù)責(zé)策略的管理,包括創(chuàng)建策略、刪除策略、修改策略、激活策略、 掛起策略等。策略是策略模板的運(yùn)行實(shí)例,其包括激活和掛起兩種狀態(tài)。當(dāng)策略處于激活狀態(tài)時(shí),該策略將參與調(diào)度決策運(yùn)算;當(dāng)策略處于掛起狀態(tài)時(shí),其將不參與調(diào)度決策??筛鶕?jù)策略還包括優(yōu)先級(jí)屬性,在調(diào)度決策時(shí),優(yōu)先級(jí)高的策略將先參與決策計(jì)算。集群監(jiān)控?cái)?shù)據(jù)接口模塊為一數(shù)據(jù)接口,負(fù)責(zé)從集群監(jiān)控系統(tǒng)取得集群的性能和狀態(tài)數(shù)據(jù),并將這些數(shù)據(jù)轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù)。資源管理接口模塊為一數(shù)據(jù)接口,負(fù)責(zé)從資源管理接口模塊獲取虛擬華平臺(tái)當(dāng)前的資源信息,并將其轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù)。調(diào)度決策計(jì)算模塊本模塊是可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)的核心模塊。其負(fù)責(zé)將從集群監(jiān)控?cái)?shù)據(jù)接口模塊和資源管理接口模塊輸入的數(shù)據(jù)和當(dāng)前激活的策略進(jìn)行運(yùn)算和決策。其包括兩大部分調(diào)度策略子模塊和規(guī)則引擎子模塊。調(diào)度策略子模塊保存的是集群的調(diào)度策略,每一個(gè)集群都對(duì)應(yīng)一個(gè)調(diào)度策略子模塊,每個(gè)調(diào)度策略子模塊又分為激活策略區(qū)和失效策略區(qū),當(dāng)前處于激活狀態(tài)的策略保存在激活策略區(qū)中參與決策運(yùn)算,掛起狀態(tài)的策略則保存在失效策略區(qū)中。規(guī)則引擎子模塊負(fù)責(zé)對(duì)數(shù)據(jù)和策略進(jìn)行決策計(jì)算。本實(shí)施例中,虛擬機(jī)調(diào)度決策系統(tǒng)還可以包括調(diào)度控制接口模塊,其是可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)與調(diào)度控制系統(tǒng)之間的接口模塊,負(fù)責(zé)將可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)所計(jì)算出的調(diào)度決策發(fā)送給調(diào)度控制系統(tǒng)進(jìn)行調(diào)度。本實(shí)施例對(duì)虛擬機(jī)調(diào)度決策的系統(tǒng)進(jìn)一步說(shuō)明。除具有實(shí)施例一的全部特征和有益效果之外,本實(shí)施例中策略管理模塊可以對(duì)策略進(jìn)行掛起、修改、刪除等操作,從而更加增強(qiáng)的滿(mǎn)足用戶(hù)需求的靈活性。同時(shí)本發(fā)明利用規(guī)則引擎進(jìn)行計(jì)算,能夠高效、準(zhǔn)確地進(jìn)行虛擬機(jī)調(diào)度決策計(jì)算和分析,能夠提高虛擬機(jī)調(diào)度的決策效率,降低虛擬化平臺(tái)的虛擬機(jī)調(diào)度開(kāi)銷(xiāo)。平臺(tái)實(shí)施例一圖2為本發(fā)明平臺(tái)實(shí)施例一虛擬機(jī)調(diào)度決策平臺(tái)的示意圖。如圖2所示,可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)是虛擬化平臺(tái)的一個(gè)子系統(tǒng),虛擬化平臺(tái)包括若干子系統(tǒng),其中和可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)相關(guān)性較強(qiáng)的系統(tǒng)包括資源管理系統(tǒng),集群監(jiān)控系統(tǒng),調(diào)度控制系統(tǒng)。其對(duì)應(yīng)的功能分別是
調(diào)度控制系統(tǒng)其主要負(fù)責(zé)虛擬化平臺(tái)的資源調(diào)度控制,如控制虛擬機(jī)的創(chuàng)建、刪除、運(yùn)行、遷移,主機(jī)的待機(jī)、喚醒等。調(diào)度控制系統(tǒng)的調(diào)度操作可能會(huì)引起虛擬化平臺(tái)資源信息發(fā)生變化,調(diào)度控制系統(tǒng)需要將這些變化通知資源管理系統(tǒng)。資 源管理系統(tǒng)其主要負(fù)責(zé)管理虛擬化平臺(tái)所管理的資源信息,如虛擬化平臺(tái)管理了哪些集群,每個(gè)集群包括哪些主機(jī)以及主機(jī)的資源配置,每個(gè)主機(jī)上運(yùn)行了哪些虛擬機(jī)及這些虛擬機(jī)的資源分配情況。資源管理系統(tǒng)還為用戶(hù)提供了資源管理操作入口。當(dāng)用戶(hù)通過(guò)資源管理系統(tǒng)進(jìn)行如創(chuàng)建、刪除虛擬機(jī)等操作后,資源管理系統(tǒng)會(huì)將對(duì)應(yīng)操作及相應(yīng)資源數(shù)據(jù)發(fā)送給可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)進(jìn)行決策,并最終將決策信息發(fā)送給調(diào)度控制系統(tǒng)執(zhí)行相應(yīng)操作或者返回用戶(hù)提示。集群監(jiān)控系統(tǒng)其主要負(fù)責(zé)監(jiān)控虛擬化平臺(tái)所管理的集群的運(yùn)行狀態(tài)和性能,并將監(jiān)控到的信息數(shù)據(jù)發(fā)送給可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)進(jìn)行決策運(yùn)算,判斷是否需要進(jìn)行對(duì)集群資源進(jìn)行重新分配或調(diào)度,如果不需要?jiǎng)t不作任何操作,如果需要?jiǎng)t要將決策信息發(fā)送給調(diào)度控制系統(tǒng)執(zhí)行相應(yīng)操作或者返回用戶(hù)提示??啥ㄖ撇呗缘奶摂M機(jī)調(diào)度決策系統(tǒng)其主要負(fù)責(zé)策略的管理和進(jìn)行決策運(yùn)算。策略管理包括創(chuàng)建策略、刪除策略、激活策略、掛起策略以及策略模板的創(chuàng)建和刪除等。決策運(yùn)算是可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)的核心功能,其利用規(guī)則引擎對(duì)原始數(shù)據(jù)和預(yù)定策略進(jìn)行窮舉運(yùn)算,計(jì)算出最優(yōu)決策提供給用戶(hù)或直接發(fā)送給調(diào)度控制系統(tǒng)進(jìn)行執(zhí)行。本實(shí)施例中,虛擬機(jī)調(diào)度決策系統(tǒng),可以為裝置實(shí)施例一或裝置實(shí)施例二的虛擬機(jī)調(diào)度決策系統(tǒng),并相應(yīng)具有實(shí)施例一或?qū)嵤├挠幸嫘Ч?,此處不再重述。方法?shí)施例一圖3為本發(fā)明方法實(shí)施例一虛擬機(jī)調(diào)度決策方法的流程圖。如圖3所示,本實(shí)施例包括S102 獲取當(dāng)前資源信息和集群運(yùn)行數(shù)據(jù);S104 選擇根據(jù)用戶(hù)需求定制的策略模板;S106 通過(guò)設(shè)置策略模板中的參數(shù),創(chuàng)建并激活策略;S108:利用處于激活狀態(tài)的策略,對(duì)當(dāng)前資源信息和集群運(yùn)行數(shù)據(jù)進(jìn)行窮舉運(yùn)算, 獲取最優(yōu)決策。本實(shí)施例中,創(chuàng)建并激活策略之后還包括對(duì)策略進(jìn)行修改、掛起、刪除,或優(yōu)先級(jí)調(diào)整。而在后續(xù)的流程中,利用對(duì)應(yīng)的修改、掛起、刪除,或優(yōu)先級(jí)調(diào)整后的激活策略來(lái)獲取最優(yōu)化決策。本實(shí)施例中,集群運(yùn)行數(shù)據(jù)包括集群的運(yùn)行狀態(tài)和性能數(shù)據(jù)。獲取集群運(yùn)行數(shù)據(jù)之后還包括將集群運(yùn)行數(shù)據(jù)轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù);獲取當(dāng)前資源信息之后還包括將虛擬平臺(tái)當(dāng)前資源信息轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù);獲取最優(yōu)決策具體包括,利用處于激活狀態(tài)的策略,采用規(guī)則引擎對(duì)集群運(yùn)行數(shù)據(jù)和當(dāng)前資源信息進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。本實(shí)施例依靠實(shí)施例或?qū)嵤├南嚓P(guān)裝置實(shí)現(xiàn),并具有上述實(shí)施例的全部有益效果,此處不再重述。方法實(shí)施例二 本實(shí)施例將以在集群中創(chuàng)建虛擬機(jī)為例,具體說(shuō)明虛擬機(jī)調(diào)度決策方法。
在集群中申請(qǐng)創(chuàng)建虛擬機(jī)時(shí),需要集群中有足夠的資源滿(mǎn)足該虛擬機(jī)創(chuàng)建的要求。如果當(dāng)前集群資源分配不合理,可能導(dǎo)致集群中即使有足夠的資源也無(wú)法創(chuàng)建虛擬機(jī)。 可以通過(guò)可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)進(jìn)行決策計(jì)算,在遵守當(dāng)前資源管理的策略的前提下,對(duì)集群的虛擬機(jī)進(jìn)行調(diào)度以使集群的資源進(jìn)行重新合理分配,以滿(mǎn)足創(chuàng)建該虛擬機(jī)的條件。圖4為本發(fā)明方法實(shí)施例二虛擬機(jī)調(diào)度決策方法的流程圖。如圖4所示,通過(guò)可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)創(chuàng)建虛擬機(jī)的流程如下步驟S201,用戶(hù)通過(guò)資源管理系統(tǒng)申請(qǐng)?jiān)谥付荷蟿?chuàng)建虛擬機(jī),資源管理系統(tǒng)將請(qǐng)求發(fā)送到可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng);步驟S202,虛擬機(jī)調(diào)度決策系統(tǒng)通過(guò)資源管理接口模塊從資源管理系統(tǒng)獲取集群資源數(shù)據(jù);步驟S203,使用對(duì)應(yīng)的集群調(diào)度策略區(qū)中處于激活狀態(tài)的策略對(duì)獲取資源數(shù)據(jù)進(jìn)行決策運(yùn)算;步驟S204,根據(jù)決策運(yùn)算結(jié)果,判斷集群中是否有足夠的資源來(lái)創(chuàng)建虛擬機(jī),以及如何創(chuàng)建虛擬機(jī);步驟S205,如果有足夠資源可以創(chuàng)建虛擬機(jī),則調(diào)用虛擬機(jī)調(diào)度接口模塊,按照計(jì)算結(jié)果創(chuàng) 建虛擬機(jī);步驟S206,沒(méi)有足夠資源可以創(chuàng)建虛擬機(jī),則提示用戶(hù)虛擬機(jī)無(wú)法創(chuàng)建并說(shuō)明原因。本實(shí)施例為方法實(shí)施例一的具體應(yīng)用,具有該實(shí)施例的全部有益效果,此處不再重述。方法實(shí)施例三本實(shí)施例將以在集群中進(jìn)行虛擬機(jī)調(diào)度為例,具體說(shuō)明虛擬機(jī)調(diào)度決策方法。集群運(yùn)行時(shí),為了保持集群運(yùn)行狀態(tài)健康高效,需要保持集群中各主機(jī)的負(fù)載均衡;另外用戶(hù)往往還希望集群以更加節(jié)能的方式運(yùn)行,當(dāng)集群負(fù)載較輕時(shí),能夠自動(dòng)關(guān)閉或者休眠一些主機(jī)。這些都需要通過(guò)對(duì)集群中的虛擬機(jī)進(jìn)行自動(dòng)調(diào)度來(lái)完成。圖5為本發(fā)明方法實(shí)施例三虛擬機(jī)調(diào)度決策方法的流程圖。如圖5所示,通過(guò)可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)進(jìn)行虛擬機(jī)調(diào)度決策的流程如下步驟S301,首先,集群監(jiān)控系統(tǒng)對(duì)集群進(jìn)行監(jiān)控,周期性的獲取集群運(yùn)行相關(guān)狀態(tài)、性能數(shù)據(jù);步驟S302,集群監(jiān)控?cái)?shù)據(jù)接口模塊從集群監(jiān)控系統(tǒng)取得集群運(yùn)行相關(guān)數(shù)據(jù);步驟S303,將獲取的集群運(yùn)行相關(guān)數(shù)據(jù)進(jìn)行預(yù)處理后輸入規(guī)則引擎;步驟S304,通過(guò)資源管理接口模塊從資源管理系統(tǒng)中獲取集群資源數(shù)據(jù);步驟S305,將獲取到的資源數(shù)據(jù)進(jìn)行預(yù)處理后輸入規(guī)則引擎進(jìn)行決策運(yùn)算;步驟S306,按照預(yù)定的策略,計(jì)算虛擬機(jī)是否需要重新調(diào)度及如何調(diào)度;步驟S307,如果需要對(duì)虛擬機(jī)進(jìn)行重新調(diào)度,調(diào)用虛擬機(jī)調(diào)度接口模塊,按照計(jì)算結(jié)果調(diào)度虛擬機(jī);步驟S308,本周期結(jié)束,等待一段時(shí)間,然后再開(kāi)始下一個(gè)周期的集群監(jiān)控及虛擬機(jī)調(diào)度決策。方法實(shí)施例四
本實(shí)施例及以下各實(shí)施例將在上述實(shí)施例的基礎(chǔ)上,進(jìn)一步對(duì)虛擬機(jī)調(diào)度決策方法進(jìn)行詳細(xì)說(shuō)明,具有上述實(shí)施例的全部有益效果,此處不再重述。圖6為本發(fā)明方法實(shí)施例四虛擬機(jī)VM6創(chuàng)建前的示意圖。如圖6所示,集群中有兩臺(tái)主機(jī),分別是Host A與Host B, Host A的內(nèi)存容量為8G,其上運(yùn)行著VMl和VM2兩臺(tái)虛擬機(jī),VMl的內(nèi)存占用為2G,VM2的內(nèi)存占用為3G,Host A當(dāng)前剩余的空閑內(nèi)存為3G。Host B的內(nèi)存容量為8G,其上運(yùn)行著VM3、VM4和VM5三臺(tái)虛擬機(jī),VM3的內(nèi)存占用為1G,VM4的內(nèi)存占用為1G,VM5的內(nèi)存占用為3G,Host B當(dāng)前剩余的空閑內(nèi)存為3G?,F(xiàn)欲在集群中創(chuàng)建內(nèi)存占用量為4G的虛擬機(jī)VM6。在傳統(tǒng)技術(shù)實(shí)現(xiàn)的 虛擬機(jī)調(diào)度決策的虛擬化平臺(tái)中,由于VM6的內(nèi)存占用量超過(guò)了 Host A和Host B任意一臺(tái)的剩余空閑內(nèi)存,VM6將無(wú)法在集群中進(jìn)行創(chuàng)建。因?yàn)镠ost A和Host B兩臺(tái)主機(jī)總共剩余空閑內(nèi)存為6G,大于VM6所需要的4G, 所以可以考慮通過(guò)調(diào)度Host A和Host B中的虛擬機(jī),為VM6騰挪出足夠的資源。在可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)中,可以進(jìn)行如下考慮1.檢查集群總共剩余空閑內(nèi)存是否能夠滿(mǎn)足虛擬機(jī)創(chuàng)建需求,如果不能滿(mǎn)足需求,則拒絕創(chuàng)建。這樣能夠提高運(yùn)算效率,一旦本條件不滿(mǎn)足則直接拒絕創(chuàng)建。2.允許集群主機(jī)當(dāng)中的虛擬機(jī)相互遷移,計(jì)算是否存在遷移方案,能夠在集群中的任意一臺(tái)主機(jī)上騰挪出申請(qǐng)創(chuàng)建的虛擬機(jī)所需要的資源。如果沒(méi)有,則拒絕創(chuàng)建。另外, 如果需要進(jìn)行許多次虛擬機(jī)遷移操作才能將所需的資源騰挪出來(lái),可能會(huì)導(dǎo)致得不償失的結(jié)果。所以需要考慮限制虛擬機(jī)遷移的總次數(shù),如果超過(guò)限制,則拒絕創(chuàng)建虛擬機(jī)。3.如果有多種遷移方案能夠滿(mǎn)足上述條件,則應(yīng)選擇遷移次數(shù)最少,且遷移后集群主機(jī)負(fù)載相對(duì)最均衡的方案。上述考慮通過(guò)腳本反映成為策略模板。然后對(duì)上述策略模板(或者考慮)中的參數(shù)進(jìn)行具體設(shè)置,就轉(zhuǎn)化為具體策略。具體如下1.檢查集群總共剩余空閑內(nèi)存是否能夠滿(mǎn)足虛擬機(jī)創(chuàng)建需求,如果不能滿(mǎn)足需求,則拒絕創(chuàng)建。2.允許集群主機(jī)當(dāng)中的虛擬機(jī)相互遷移,設(shè)置虛擬機(jī)遷移上限次數(shù)為3次。優(yōu)先選擇遷移次數(shù)最少的方案。3.優(yōu)先選擇遷移和虛擬機(jī)創(chuàng)建后負(fù)載最均衡的方案。根據(jù)以上策略進(jìn)行計(jì)算決策。圖7為本發(fā)明方法實(shí)施例四虛擬機(jī)VM6創(chuàng)建后的示意圖。如圖7所示,具體包括1)將Host A中VMl虛擬機(jī)遷移至Host B中運(yùn)行;2)在Host A上創(chuàng)建VM6虛擬機(jī)。方法實(shí)施例五本實(shí)施例為集群負(fù)載均衡的實(shí)施例。圖8為集群初始資源分布的示意圖。如圖8 所示,集群原始資源分布情況如下集群中有四臺(tái)主機(jī),分別是Host A、Host B、Host C與Host D,Host A的內(nèi)存容量為8G,其上運(yùn)行著VMl和VM2兩臺(tái)虛擬機(jī),VMl的內(nèi)存占用為4G,VM2的內(nèi)存占用為4G, Host A當(dāng)前無(wú)剩余的空閑內(nèi)存。Host B的內(nèi)存容量為8G,其上運(yùn)行著VM3、VM4和VM5三臺(tái)虛擬機(jī),VM3的內(nèi)存占用為3G,VM4的內(nèi)存占用為1G,VM5的內(nèi)存占用為4G,Host B當(dāng)前無(wú)剩余的空閑內(nèi)存。Host C的內(nèi)存容量為8G,其上運(yùn)行著VM6和VM7兩臺(tái)虛擬機(jī),VM6的內(nèi)存占用為2G,VM7的內(nèi)存占用為lG,Host C當(dāng)前剩余的空閑內(nèi)存為5G。Host D的內(nèi)存容量為8G,其上運(yùn)行著VM8和VM9兩臺(tái)虛擬機(jī),VM8的內(nèi)存占用為2G,VM9的內(nèi)存占用為1G, Host D當(dāng)前剩余的空閑內(nèi)存為5G。從圖8中可以看出,本集群的資源分布是非常不均衡的,Host A和Host B無(wú)空閑內(nèi)存,接近滿(mǎn)負(fù)荷工作,而Host C與Host D的負(fù)載很輕。為了保證集群運(yùn)行狀態(tài)健康高效, 需要將Host A和Host B上的負(fù)載 分?jǐn)偟紿ost C和Host D上。在可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)中,可以進(jìn)行如下考慮1)需要考慮滿(mǎn)足何種條件時(shí),集群需要使用負(fù)載均衡策略對(duì)虛擬機(jī)進(jìn)行重新調(diào)度;2)集群主機(jī)當(dāng)中的虛擬機(jī)相互遷移,計(jì)算虛擬機(jī)遷移方案,使用該方案后能夠使集群中的所有主機(jī)負(fù)載達(dá)到盡可能的均衡;3)如果需要進(jìn)行許多次虛擬機(jī)遷移操作才能達(dá)到負(fù)載均衡的效果,也可能會(huì)造成遷移開(kāi)銷(xiāo)過(guò)大,產(chǎn)生得不償失的結(jié)果。所以需要考慮限制虛擬機(jī)遷移的總次數(shù)。在虛擬機(jī)發(fā)生有限的遷移次數(shù)前提下,盡可能達(dá)到負(fù)載均衡的效果。上述考慮通過(guò)腳本反映成為策略模板。然后對(duì)上述策略模板(或者考慮)中的參數(shù)進(jìn)行具體設(shè)置,就轉(zhuǎn)化為具體策略。具體如下1.設(shè)定集群內(nèi)主機(jī)資源分布不平衡度的閾值條件,當(dāng)超過(guò)閾值時(shí)需要使用負(fù)載均衡策略對(duì)虛擬機(jī)調(diào)度進(jìn)行決策。2.設(shè)定負(fù)載均衡策略中允許遷移的虛擬機(jī)的最大次數(shù)為3次。3.選擇負(fù)載最均衡的方案。根據(jù)以上策略進(jìn)行計(jì)算決策,圖9為采用負(fù)載均衡策略調(diào)度后集群資源分布示意圖。如圖9所示1)將Host B中VM3虛擬機(jī)遷移至Host C中運(yùn)行;2)將Host A中VMl虛擬機(jī)遷移至Host D中運(yùn)行;3)將Host C中VM7虛擬機(jī)遷移至Host A中運(yùn)行。方法實(shí)施例六本實(shí)施例為集群節(jié)能管理的實(shí)施例。集群原始資源分布情況如圖8所示,從圖中可以看出集群的資源分布不均,Host C和Host D的負(fù)載很輕,可以考慮將負(fù)載很輕的主機(jī)上運(yùn)行的虛擬機(jī)進(jìn)行集中,將某些主機(jī)上的虛擬機(jī)全部轉(zhuǎn)移到其他主機(jī)上,并將這些主機(jī)關(guān)閉,能夠達(dá)到節(jié)能的效果。在可定制策略的虛擬機(jī)調(diào)度決策系統(tǒng)中,可以進(jìn)行如下考慮1.需要考慮滿(mǎn)足何種條件時(shí),集群需要使用節(jié)能策略對(duì)虛擬機(jī)進(jìn)行重新調(diào)度。2.允許集群主機(jī)當(dāng)中的虛擬機(jī)相互遷移,計(jì)算虛擬機(jī)遷移方案,使用該方案后能夠使集群中的負(fù)載集中到盡可能少的主機(jī)上,將其余的空閑主機(jī)關(guān)閉。3.需要考慮限制虛擬機(jī)遷移的總次數(shù)。在虛擬機(jī)發(fā)生有限的遷移次數(shù)前提下,盡可能達(dá)到負(fù)載集中的效果。上述考慮通過(guò)腳本反映成為策略模板。然后對(duì)上述策略模板(或者考慮)中的參數(shù)進(jìn)行具體設(shè)置,就轉(zhuǎn)化為具體策略,內(nèi)容具體如下1.設(shè)定集群內(nèi)主機(jī)資源負(fù)載的閾值條件,超過(guò)閾值時(shí)需要使用節(jié)能策略對(duì)虛擬機(jī)調(diào)度進(jìn)行決策。2.設(shè)定節(jié)能策略中允許遷移的虛擬機(jī)的最大次數(shù)為3次。3.選擇需要運(yùn)行的主機(jī)最少的方案。4.優(yōu)先選擇遷移后負(fù)載最均衡的方案。
根據(jù)以上策略進(jìn)行計(jì)算決策,圖10為采用節(jié)能策略調(diào)度后集群資源分布的示意圖。如圖10所示,具體包括1)將Host D中VM8虛擬機(jī)遷移至Host C中運(yùn)行;2)將Host B中VM4虛擬機(jī)遷移至Host C中運(yùn)行。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、 等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種虛擬機(jī)調(diào)度決策系統(tǒng),其特征在于,包括模板管理模塊,用于選擇根據(jù)用戶(hù)需求定制的策略模板; 策略管理模塊,用于通過(guò)設(shè)置所述策略模板中的參數(shù),創(chuàng)建并激活策略; 調(diào)度決策計(jì)算模塊,用于利用處于激活狀態(tài)的策略,對(duì)當(dāng)前資源信息和集群運(yùn)行數(shù)據(jù)進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述策略管理模塊,還用于對(duì)所述策略進(jìn)行修改、掛起、刪除,或優(yōu)先級(jí)調(diào)整。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,還包括集群監(jiān)控?cái)?shù)據(jù)接口模塊,用于獲取所述集群運(yùn)行數(shù)據(jù),并將所述集群運(yùn)行數(shù)據(jù)轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù);資源管理接口模塊,用于獲取所述當(dāng)前資源信息,并將所述當(dāng)前資源信息轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù);所述調(diào)度決策計(jì)算模塊,用于利用處于激活狀態(tài)的策略,采用規(guī)則引擎對(duì)所述集群運(yùn)行數(shù)據(jù)和當(dāng)前資源信息進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于所述調(diào)度決策計(jì)算模塊進(jìn)一步包括 調(diào)度策略子模塊,用于保存集群的調(diào)度策略,包括激活策略區(qū)和失效策略區(qū),所述激活策略區(qū)用于保存激活策略,所述失效策略區(qū)用于保存失效策略;規(guī)則引擎子模塊,用于對(duì)集群運(yùn)行數(shù)據(jù)、當(dāng)前資源信息,利用規(guī)則引擎和所述激活策略,獲取最優(yōu)決策。
5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的系統(tǒng),其特征在于所述策略模板為根據(jù)用戶(hù)需求定制的程序腳本,并具有一個(gè)或多個(gè)需用戶(hù)設(shè)置的參數(shù)。
6.一種包括權(quán)利要求1-5中任一項(xiàng)虛擬機(jī)調(diào)度決策系統(tǒng)的虛擬化平臺(tái),其特征在于, 還包括集群監(jiān)控系統(tǒng),用于監(jiān)控集群的運(yùn)行數(shù)據(jù),并將所述集群運(yùn)行數(shù)據(jù)發(fā)送至所述虛擬機(jī)調(diào)度決策系統(tǒng);資源管理系統(tǒng),用于管理當(dāng)前的資源信息,并將所述當(dāng)前資源信息發(fā)送至所述虛擬機(jī)調(diào)度決策系統(tǒng);調(diào)度控制系統(tǒng),用于接收所述虛擬機(jī)調(diào)度決策系統(tǒng)的最優(yōu)決策,并執(zhí)行所述最優(yōu)決策。
7.—種虛擬機(jī)調(diào)度決策方法,其特征在于,包括 選擇根據(jù)用戶(hù)需求定制的策略模板;通過(guò)設(shè)置所述策略模板中的參數(shù),創(chuàng)建并激活策略;利用處于激活狀態(tài)的策略,對(duì)當(dāng)前資源信息和集群運(yùn)行數(shù)據(jù)進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括 對(duì)所述策略進(jìn)行修改、掛起、刪除,或優(yōu)先級(jí)調(diào)整。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于所述進(jìn)行窮舉運(yùn)算之前還包括獲取所述集群運(yùn)行數(shù)據(jù),并將所述集群運(yùn)行數(shù)據(jù)轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù);所述進(jìn)行窮舉運(yùn)算之前還包括獲取所述當(dāng)前資源信息,并將所述當(dāng)前資源信息轉(zhuǎn)化為規(guī)則引擎的輸入數(shù)據(jù);所述獲取最優(yōu)決策具體包括,利用處于激活狀態(tài)的策略,采用規(guī)則引擎對(duì)所述集群運(yùn)行 數(shù)據(jù)和當(dāng)前資源信息進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。
全文摘要
本發(fā)明公開(kāi)了一種虛擬機(jī)調(diào)度決策的系統(tǒng)、平臺(tái)及方法。上述虛擬機(jī)調(diào)度決策系統(tǒng),包括模板管理模塊,用于選擇根據(jù)用戶(hù)需求定制的策略模板;策略管理模塊,用于通過(guò)設(shè)置策略模板中的參數(shù),創(chuàng)建并激活策略;調(diào)度決策計(jì)算模塊,用于利用處于激活狀態(tài)的策略,對(duì)當(dāng)前資源信息和集群運(yùn)行數(shù)據(jù)進(jìn)行窮舉運(yùn)算,獲取最優(yōu)決策。本發(fā)明中,虛擬機(jī)調(diào)度策略使用腳本的策略模板進(jìn)行開(kāi)發(fā)和部署,開(kāi)發(fā)速度快且部署靈活,可以提供豐富的備選策略以滿(mǎn)足不同層次用戶(hù)的需要,進(jìn)而提高了虛擬機(jī)的系統(tǒng)性能。
文檔編號(hào)G06F9/50GK102262567SQ201010193788
公開(kāi)日2011年11月30日 申請(qǐng)日期2010年5月24日 優(yōu)先權(quán)日2010年5月24日
發(fā)明者周剛 申請(qǐng)人:中興通訊股份有限公司