本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,具體涉及一種虛擬機(jī)負(fù)載均衡調(diào)度的方法、裝置和服務(wù)器設(shè)備。
背景技術(shù):
云計(jì)算數(shù)據(jù)中心主要基于虛擬化技術(shù)構(gòu)建,通過將計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源虛擬化,使用戶可以按需使用各種資源,具有管理自動(dòng)化、易于擴(kuò)展、資源利用率高等優(yōu)勢。
虛擬化是云計(jì)算的關(guān)鍵技術(shù),該技術(shù)通過對物理服務(wù)器(宿主機(jī))進(jìn)行虛擬化,實(shí)現(xiàn)單臺(tái)物理節(jié)點(diǎn)上可以部屬多個(gè)虛擬機(jī)。多臺(tái)虛擬化的物理服務(wù)器可以組成一個(gè)虛擬化集群,虛擬化集群將其中的物理資源抽象為計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等多種資源的資源池,通過按需申請的方式提供給用戶使用。
虛擬化集群中的資源調(diào)度關(guān)系到集群資源是否能有效使用,目前的調(diào)度方法主要分為初始調(diào)度和實(shí)時(shí)調(diào)度,調(diào)度的目標(biāo)主要分為集群負(fù)載均衡或提高資源利用率。例如,drs(distributedresourcescheduler,分布式資源調(diào)度)技術(shù),可基于節(jié)點(diǎn)的cpu(centralprocessingunit,中央處理器)資源或內(nèi)存資源進(jìn)行初始資源的均衡分配,并在集群運(yùn)行時(shí)將高負(fù)載節(jié)點(diǎn)上的虛擬機(jī)遷移到低負(fù)載節(jié)點(diǎn)以實(shí)現(xiàn)負(fù)載均衡。
虛擬機(jī)負(fù)載均衡的初始調(diào)度主要在現(xiàn)有資源使用環(huán)境不變的情況下,為新創(chuàng)建的虛擬機(jī)分配資源,并且盡量保證集群資源使用均衡,減少資源浪費(fèi)。高效的初始調(diào)度能夠減少虛擬機(jī)運(yùn)行時(shí)實(shí)時(shí)調(diào)度的開銷,實(shí)時(shí)調(diào)度則彌補(bǔ)初始調(diào)度的不足和應(yīng)對運(yùn)行時(shí)負(fù)載的較大變化。
虛擬機(jī)負(fù)載均衡初始調(diào)度方法由于無法調(diào)動(dòng)已分配資源的虛擬機(jī),并且無法預(yù)知后來虛擬機(jī)對資源數(shù)量的需求,因此無法使用虛擬機(jī)集群調(diào)度常用的裝箱策略和動(dòng)態(tài)規(guī)劃類方法。目前主要的初始調(diào)度方法主要考慮節(jié)點(diǎn)間單一資源的均衡(選擇cpu資源,或是內(nèi)存資源使用最少的節(jié)點(diǎn)來為創(chuàng)建虛擬機(jī)分配資源),會(huì)導(dǎo)致多個(gè)節(jié)點(diǎn)間多維資源整體上的不均衡和單個(gè)節(jié)點(diǎn)上多種資源間的不平衡。例如,基于內(nèi)存資源進(jìn)行負(fù)載均衡時(shí),很可能導(dǎo)致某些節(jié)點(diǎn)由于分配到多個(gè)大磁盤小內(nèi)存的虛擬機(jī)而耗盡磁盤資源,使得該節(jié)點(diǎn)剩余較多內(nèi)存資源,但無法再分配新虛擬機(jī),造成資源利用不均衡和浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為解決基于單一資源的初始調(diào)度負(fù)載均衡不利于集群整體負(fù)載均衡,造成資源浪費(fèi)的問題,提供了一種虛擬機(jī)負(fù)載均衡調(diào)度的方法、裝置和服務(wù)器設(shè)備,實(shí)現(xiàn)云環(huán)境中每個(gè)節(jié)點(diǎn)多種資源間均衡和集群整體負(fù)載均衡。
為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采取的技術(shù)方案如下:
一種虛擬機(jī)負(fù)載均衡調(diào)度的方法,創(chuàng)建每個(gè)虛擬機(jī)時(shí),所述方法包括:
獲取創(chuàng)建虛擬機(jī)的各項(xiàng)資源需求;
獲取用于創(chuàng)建虛擬機(jī)的所有可用物理節(jié)點(diǎn)及每個(gè)物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況;
基于創(chuàng)建虛擬機(jī)每項(xiàng)資源需求的權(quán)重以及所有可用物理節(jié)點(diǎn)的每項(xiàng)資源的利用率,確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
可選地,獲取創(chuàng)建虛擬機(jī)的各項(xiàng)資源需求之后還包括:
計(jì)算每項(xiàng)資源需求的向量因子。
可選地,獲取每個(gè)物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況之后還包括:
計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子。
可選地,確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)之前還包括:
根據(jù)每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子和所述每項(xiàng)資源的權(quán)重,計(jì)算每個(gè)物理節(jié)點(diǎn)的資源利用總額。
可選地,確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)包括;
確定資源利用總額最低的物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
可選地,計(jì)算每項(xiàng)資源需求的向量因子包括:
將獲得的所述虛擬機(jī)的各項(xiàng)資源需求進(jìn)行量綱統(tǒng)一,獲得每項(xiàng)資源需求的向量因子。
可選地,計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子包括:
將獲得的每個(gè)所述物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況進(jìn)行量綱統(tǒng)一,獲得每項(xiàng)資源的向量因子。
可選地,根據(jù)每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子和所述每項(xiàng)資源的權(quán)重,計(jì)算每個(gè)物理節(jié)點(diǎn)的資源利用總額包括:
針對每個(gè)物理節(jié)點(diǎn),將創(chuàng)建虛擬機(jī)的每項(xiàng)資源的向量因子與總物理資源的向量因子作商,獲得每項(xiàng)資源的權(quán)重;
根據(jù)所述物理節(jié)點(diǎn)每項(xiàng)資源的利用率加權(quán)求和的結(jié)果,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額。
可選地,根據(jù)所述物理節(jié)點(diǎn)每項(xiàng)資源的利用率加權(quán)求和的結(jié)果,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額包括:
計(jì)算每個(gè)所述物理節(jié)點(diǎn)的資源均衡因子,將所述加權(quán)求和的結(jié)果與所述資源均衡因子作積,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額;所述資源均衡因子為所述物理節(jié)點(diǎn)在分配當(dāng)前虛擬機(jī)之后,各項(xiàng)資源利用率預(yù)估值的均方差。
為解決上述技術(shù)問題,本發(fā)明還提供一種虛擬機(jī)負(fù)載均衡調(diào)度的裝置,包括:
虛擬機(jī)需求模塊,用于獲取創(chuàng)建虛擬機(jī)的各項(xiàng)資源需求;
節(jié)點(diǎn)使用模塊,用于獲取用于創(chuàng)建虛擬機(jī)的所有可用物理節(jié)點(diǎn)及每個(gè)物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況;
創(chuàng)建模塊,用于基于創(chuàng)建虛擬機(jī)每項(xiàng)資源需求的權(quán)重以及所有可用物理節(jié)點(diǎn)的每項(xiàng)資源的利用率,確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
可選地,所述虛擬機(jī)需求模塊,還用于:
計(jì)算每項(xiàng)資源需求的向量因子。
可選地,所述節(jié)點(diǎn)使用模塊,還用于:
計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子。
可選地,所述創(chuàng)建模塊還用于:
根據(jù)每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子和所述每項(xiàng)資源的權(quán)重,計(jì)算每個(gè)物理節(jié)點(diǎn)的資源利用總額。
可選地,所述創(chuàng)建模塊確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)是指;
確定資源利用總額最低的物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
可選地,所述虛擬機(jī)需求模塊計(jì)算每項(xiàng)資源需求的向量因子是指:
將獲得的所述虛擬機(jī)的各項(xiàng)資源需求進(jìn)行量綱統(tǒng)一,獲得每項(xiàng)資源需求的向量因子。
可選地,所述節(jié)點(diǎn)使用模塊計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子是指:
將獲得的每個(gè)所述物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況進(jìn)行量綱統(tǒng)一,獲得每項(xiàng)資源的向量因子。
可選地,所述創(chuàng)建模塊根據(jù)每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子和所述每項(xiàng)資源的權(quán)重,計(jì)算每個(gè)物理節(jié)點(diǎn)的資源利用總額是指:
針對每個(gè)物理節(jié)點(diǎn),將創(chuàng)建虛擬機(jī)的每項(xiàng)資源的向量因子與總物理資源的向量因子作商,獲得每項(xiàng)資源的權(quán)重;
根據(jù)所述物理節(jié)點(diǎn)每項(xiàng)資源的利用率加權(quán)求和的結(jié)果,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額。
可選地,所述創(chuàng)建模塊根據(jù)所述物理節(jié)點(diǎn)每項(xiàng)資源的利用率加權(quán)求和的結(jié)果,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額是指:
計(jì)算每個(gè)所述物理節(jié)點(diǎn)的資源均衡因子,將所述加權(quán)求和的結(jié)果與所述資源均衡因子作積,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額;所述資源均衡因子為所述物理節(jié)點(diǎn)在分配當(dāng)前虛擬機(jī)之后,各項(xiàng)資源利用率預(yù)估值的均方差。
本發(fā)明還提供一種虛擬機(jī)負(fù)載均衡調(diào)度的服務(wù)器設(shè)備,包括上述虛擬機(jī)負(fù)載均衡調(diào)度的裝置。
本發(fā)明和現(xiàn)有技術(shù)相比,具有如下有益效果:
本發(fā)明針對基于單一資源的初始調(diào)度負(fù)載均衡不利于集群整體負(fù)載均衡,造成資源浪費(fèi)的問題,通過基于虛擬機(jī)資源需求的向量加權(quán)的方法實(shí)現(xiàn)大規(guī)模云環(huán)境中每個(gè)節(jié)點(diǎn)多種資源間均衡和集群整體負(fù)載均衡。
附圖說明
圖1是本發(fā)明實(shí)施例的虛擬機(jī)負(fù)載均衡調(diào)度的方法的流程圖;
圖2是本發(fā)明實(shí)施例的虛擬機(jī)負(fù)載均衡調(diào)度的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的發(fā)明目的、技術(shù)方案和有益效果更加清楚明了,下面結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行說明,需要說明的是,在不沖突的情況下,本申請中的實(shí)施例和實(shí)施例中的特征可以相互任意組合。
如圖1所示,本發(fā)明實(shí)施例提供一種虛擬機(jī)負(fù)載均衡調(diào)度的方法,創(chuàng)建每個(gè)虛擬機(jī)時(shí),所述方法包括:
s101、獲取創(chuàng)建虛擬機(jī)的各項(xiàng)資源需求;
s102、獲取用于創(chuàng)建虛擬機(jī)的所有可用物理節(jié)點(diǎn)及每個(gè)物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況;
s103、基于創(chuàng)建虛擬機(jī)每項(xiàng)資源需求的權(quán)重以及所有可用物理節(jié)點(diǎn)的每項(xiàng)資源的利用率,確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
本發(fā)明實(shí)施例支持創(chuàng)建的一個(gè)或多個(gè)虛擬機(jī)的情況,在創(chuàng)建多個(gè)虛擬機(jī)時(shí),獲取需創(chuàng)建的多個(gè)虛擬機(jī)的列表,依次按上述步驟為列表中的虛擬機(jī)選擇物理節(jié)點(diǎn),為每個(gè)列表中的虛擬機(jī)選定物理節(jié)點(diǎn)后需更新物理資源使用狀況。
其中,步驟s101中虛擬機(jī)的資源需求包括以下的一項(xiàng)或者多項(xiàng):cpu資源需求ncpu,內(nèi)存資源需求nmem,磁盤資源需求ndisk,i/o資源需求nio、網(wǎng)絡(luò)帶寬資源需求nnet。
步驟s102中,每個(gè)節(jié)點(diǎn)資源使用狀況包括以下的一項(xiàng)或者多項(xiàng):節(jié)點(diǎn)的cpu資源總量和已使用量、內(nèi)存資源總量和已使用量、磁盤資源總量和已使用量、i/o資源總量和已使用量、網(wǎng)絡(luò)帶寬資源總量和已使用量。
本發(fā)明實(shí)施例在基于虛擬化技術(shù)的云計(jì)算環(huán)境中,基于創(chuàng)建虛擬機(jī)每項(xiàng)資源需求的權(quán)重以及所有可用物理節(jié)點(diǎn)的每項(xiàng)資源的利用率,使得節(jié)點(diǎn)之間的負(fù)載均衡(各節(jié)點(diǎn)之間資源使用均衡),節(jié)點(diǎn)內(nèi)負(fù)載均衡(節(jié)點(diǎn)cpu,內(nèi)存/磁盤空間,磁盤和網(wǎng)絡(luò)i/o等資源使用均衡)。
其中,步驟s101獲取創(chuàng)建虛擬機(jī)的各項(xiàng)資源需求之后還包括:
計(jì)算每項(xiàng)資源需求的向量因子。
其中,步驟s102獲取每個(gè)物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況之后還包括:
計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子。
其中,獲得的向量因子為了統(tǒng)一量綱便于計(jì)算比較。
其中,步驟s103確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)之前還包括:
根據(jù)每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子和所述每項(xiàng)資源的權(quán)重,計(jì)算每個(gè)物理節(jié)點(diǎn)的資源利用總額。
本發(fā)明實(shí)施例中利用加權(quán)多維向量的手段,實(shí)現(xiàn)負(fù)載均衡初始調(diào)度方法,彌補(bǔ)了現(xiàn)有方法對于每個(gè)節(jié)點(diǎn)多種資源間均衡和集群整體負(fù)載均衡的不足。
權(quán)重的設(shè)置原則:該類資源對整體利用率的影響更多,則權(quán)重更大,這樣可以確保對某類資源需求較多的虛擬機(jī)更傾向于分配到該類資源利用率較低的物理節(jié)點(diǎn)上。
步驟s103確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)包括;
確定資源利用總額最低的物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
其中,計(jì)算每項(xiàng)資源需求的向量因子包括:
將獲得的所述虛擬機(jī)的各項(xiàng)資源需求進(jìn)行量綱統(tǒng)一,獲得每項(xiàng)資源需求的向量因子。
其中,計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子包括:
將獲得的每個(gè)所述物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況進(jìn)行量綱統(tǒng)一,獲得每項(xiàng)資源的向量因子。
其中,根據(jù)每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子和所述每項(xiàng)資源的權(quán)重,計(jì)算每個(gè)物理節(jié)點(diǎn)的資源利用總額包括:
針對每個(gè)物理節(jié)點(diǎn),將創(chuàng)建虛擬機(jī)的每項(xiàng)資源的向量因子與總物理資源的向量因子作商,獲得每項(xiàng)資源的權(quán)重;
根據(jù)所述物理節(jié)點(diǎn)每項(xiàng)資源的利用率加權(quán)求和的結(jié)果,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額。
其中,根據(jù)所述物理節(jié)點(diǎn)每項(xiàng)資源的利用率加權(quán)求和的結(jié)果,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額包括:
計(jì)算每個(gè)所述物理節(jié)點(diǎn)的資源均衡因子,將所述加權(quán)求和的結(jié)果與所述資源均衡因子作積,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額;所述資源均衡因子為所述物理節(jié)點(diǎn)在分配當(dāng)前虛擬機(jī)之后,各項(xiàng)資源利用率預(yù)估值的均方差。
節(jié)點(diǎn)綜合資源利用率越低表明選擇該物理節(jié)點(diǎn)會(huì)使集群節(jié)點(diǎn)之間資源用率更均衡,資源均衡因子越小表明分配當(dāng)前虛擬機(jī)使該物理節(jié)點(diǎn)各項(xiàng)資源的使用更均衡。因此資源利用總額最低的物理節(jié)點(diǎn)即當(dāng)前進(jìn)行虛擬機(jī)負(fù)載均衡時(shí)最優(yōu)的選擇。
本發(fā)明實(shí)施例采用多維資源向量來計(jì)算節(jié)點(diǎn)綜合資源利用率,能全面考慮節(jié)點(diǎn)各項(xiàng)資源使用,提高集群整體上的負(fù)載均衡。綜合考慮資源供需加權(quán)的方法計(jì)算物理節(jié)點(diǎn)綜合資源利用率,能根據(jù)虛擬機(jī)不同的資源需求和物理機(jī)資源總量來分配資源,確保對某類資源需求較多的虛擬機(jī)會(huì)分配到該類資源空閑相對較多的物理節(jié)點(diǎn)上。同時(shí)考慮節(jié)點(diǎn)之間綜合資源利用率的均衡和節(jié)點(diǎn)內(nèi)多種資源使用的平衡。
本發(fā)明實(shí)施例的應(yīng)用場景包括但不限于虛擬化集群、服務(wù)器集群、任務(wù)調(diào)度系統(tǒng)中的資源初始分配和系統(tǒng)運(yùn)行過程中的資源重新分配。
如圖2所示,本發(fā)明實(shí)施例還提供一種虛擬機(jī)負(fù)載均衡調(diào)度的裝置,包括:
虛擬機(jī)需求模塊,用于獲取創(chuàng)建虛擬機(jī)的各項(xiàng)資源需求;
節(jié)點(diǎn)使用模塊,用于獲取用于創(chuàng)建虛擬機(jī)的所有可用物理節(jié)點(diǎn)及每個(gè)物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況;
創(chuàng)建模塊,用于基于創(chuàng)建虛擬機(jī)每項(xiàng)資源需求的權(quán)重以及所有可用物理節(jié)點(diǎn)的每項(xiàng)資源的利用率,確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
所述虛擬機(jī)需求模塊,還用于:
計(jì)算每項(xiàng)資源需求的向量因子。
所述節(jié)點(diǎn)使用模塊,還用于:
計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子。
所述創(chuàng)建模塊還用于:
根據(jù)每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子和所述每項(xiàng)資源的權(quán)重,計(jì)算每個(gè)物理節(jié)點(diǎn)的資源利用總額。
所述創(chuàng)建模塊確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)是指;
確定資源利用總額最低的物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
所述虛擬機(jī)需求模塊計(jì)算每項(xiàng)資源需求的向量因子是指:
將獲得的所述虛擬機(jī)的各項(xiàng)資源需求進(jìn)行量綱統(tǒng)一,獲得每項(xiàng)資源需求的向量因子。
所述節(jié)點(diǎn)使用模塊計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子是指:
將獲得的每個(gè)所述物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況進(jìn)行量綱統(tǒng)一,獲得每項(xiàng)資源的向量因子。
所述創(chuàng)建模塊根據(jù)每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子和所述每項(xiàng)資源的權(quán)重,計(jì)算每個(gè)物理節(jié)點(diǎn)的資源利用總額是指:
針對每個(gè)物理節(jié)點(diǎn),將創(chuàng)建虛擬機(jī)的每項(xiàng)資源的向量因子與總物理資源的向量因子作商,獲得每項(xiàng)資源的權(quán)重;
根據(jù)所述物理節(jié)點(diǎn)每項(xiàng)資源的利用率加權(quán)求和的結(jié)果,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額。
所述創(chuàng)建模塊根據(jù)所述物理節(jié)點(diǎn)每項(xiàng)資源的利用率加權(quán)求和的結(jié)果,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額是指:
計(jì)算每個(gè)所述物理節(jié)點(diǎn)的資源均衡因子,將所述加權(quán)求和的結(jié)果與所述資源均衡因子作積,獲得每個(gè)物理節(jié)點(diǎn)的資源利用總額;所述資源均衡因子為所述物理節(jié)點(diǎn)在分配當(dāng)前虛擬機(jī)之后,各項(xiàng)資源利用率預(yù)估值的均方差。
本發(fā)明實(shí)施例還提供一種虛擬機(jī)負(fù)載均衡調(diào)度的服務(wù)器設(shè)備,包括上述虛擬機(jī)負(fù)載均衡調(diào)度的裝置;所述虛擬機(jī)負(fù)載均衡調(diào)度的裝置包括:
虛擬機(jī)需求模塊,用于獲取創(chuàng)建虛擬機(jī)的各項(xiàng)資源需求;
節(jié)點(diǎn)使用模塊,用于獲取用于創(chuàng)建虛擬機(jī)的所有可用物理節(jié)點(diǎn)及每個(gè)物理節(jié)點(diǎn)的各項(xiàng)資源使用狀況;
創(chuàng)建模塊,用于基于創(chuàng)建虛擬機(jī)每項(xiàng)資源需求的權(quán)重以及所有可用物理節(jié)點(diǎn)的每項(xiàng)資源的利用率,確定滿足待創(chuàng)建的虛擬機(jī)的各項(xiàng)資源需求的一個(gè)物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
實(shí)施例一:
本實(shí)施例利用多維向量加權(quán)實(shí)現(xiàn)虛擬機(jī)負(fù)載均衡調(diào)度,在云環(huán)境下實(shí)現(xiàn)負(fù)載均衡。所述云環(huán)境包括物理節(jié)點(diǎn),以及虛擬機(jī),所述負(fù)載均衡調(diào)度方法包括如下步驟:
獲取需創(chuàng)建的一個(gè)或多個(gè)虛擬機(jī)的列表,依次按以下步驟為列表中的虛擬機(jī)選擇物理節(jié)點(diǎn),為每個(gè)列表中的虛擬機(jī)選定物理節(jié)點(diǎn)后需更新物理資源使用狀況:
(1)獲取創(chuàng)建虛擬機(jī)的各項(xiàng)資源需求,并計(jì)算虛擬機(jī)每項(xiàng)資源需求向量因子fvm;
(2)獲取用于創(chuàng)建虛擬機(jī)的所有可用物理節(jié)點(diǎn)及其各項(xiàng)資源使用狀況,并計(jì)算每個(gè)物理節(jié)點(diǎn)的每項(xiàng)資源的向量因子fstd;
(3)基于每項(xiàng)資源的權(quán)重以及每個(gè)物理節(jié)點(diǎn)的各項(xiàng)資源的利用率,計(jì)算每個(gè)節(jié)點(diǎn)的資源利用總額,并選出資源利用總額最低的物理節(jié)點(diǎn)運(yùn)行虛擬機(jī)。
進(jìn)一步的,所描述的步驟(1)包含如下步驟:
1.1、從創(chuàng)建虛擬機(jī)的請求中獲得該虛擬機(jī)對各項(xiàng)資源的需求值,該需求值由用戶創(chuàng)建虛擬機(jī)時(shí)指定,體現(xiàn)了創(chuàng)建該虛擬機(jī)需要占用的資源大小。如果該虛擬機(jī)對某資源沒有要求,則采用默認(rèn)值。如公式1所示:
nvm=(ncpu,nmem,ndisk,nio,nnet)公式1
虛擬機(jī)的資源需求值向量nvm,是由虛擬機(jī)各類資源需求值組成的向量值,其中資源需求值包括cpu資源需求ncpu,內(nèi)存資源需求nmem,磁盤資源需求ndisk,i/o資源需求nio和網(wǎng)絡(luò)帶寬資源需求nnet。
1.2、根據(jù)虛擬機(jī)的資源需求值向量nvm計(jì)算虛擬機(jī)資源需求向量因子fvm,向量因子fvm通過所述值向量nvm統(tǒng)一量綱便于計(jì)算比較。計(jì)算公式如公式2所示:
其中,fvm包括虛擬機(jī)的cpu向量因子
進(jìn)一步的,所描述的步驟(2)包含如下步驟:
2.1、獲取可用于創(chuàng)建虛擬機(jī)的所有可用物理節(jié)點(diǎn)列表(即每個(gè)物理節(jié)點(diǎn)的id號(hào)),及每個(gè)節(jié)點(diǎn)資源使用狀況,資源使用狀況包括節(jié)點(diǎn)的cpu資源總量和已使用量、內(nèi)存資源總量和已使用量、磁盤資源總量和已使用量、i/o資源總量和已使用量、網(wǎng)絡(luò)帶寬資源總量和已使用量。
2.2、根據(jù)所有物理節(jié)點(diǎn)資源總量計(jì)算物理資源的向量因子fstd,向量因子通過各項(xiàng)物理資源統(tǒng)一量綱便于計(jì)算比較。計(jì)算方法如公式3所示:
物理資源向量因子由各項(xiàng)資源因子除以cpu資源因子rcpu得到,包括cpu資源因子rcpu、內(nèi)存資源因子rmem、磁盤資源因子rdisk、i/o資源因子rio和網(wǎng)絡(luò)帶寬資源因子rnet。fstd包括cpu資源因子
進(jìn)一步的,所描述的步驟(3)包含如下步驟:
3.1、基于所獲得的各物理節(jié)點(diǎn)的資源使用情況,依次計(jì)算所有可用物理節(jié)點(diǎn)的資源利用率。各項(xiàng)資源利用率包括:cpu利用率ucpu、內(nèi)存利用率umem、磁盤利用率udisk、i/o利用率uio和網(wǎng)絡(luò)帶寬利用率unet。各項(xiàng)資源的利用率為對應(yīng)資源的的已使用量除以該資源的總量。
3.2、依次計(jì)算各物理節(jié)點(diǎn)的綜合資源利用率uweight。綜合資源利用率uweight的計(jì)算方法如公式4所示,為該物理節(jié)點(diǎn)各種資源的加權(quán)和:
其中,各資源對應(yīng)的權(quán)重可以預(yù)設(shè),也可以由當(dāng)前創(chuàng)建虛擬機(jī)的資源需求向量因子fvm與總物理資源向量因子fstd的比值得到。fvm與fstd的比值主要體現(xiàn)了物理資源數(shù)量與虛擬機(jī)資源需求對應(yīng)不同類型資源的供需關(guān)系,比值越大說明該虛擬機(jī)對相應(yīng)資源的需求較為突出,則計(jì)算物理節(jié)點(diǎn)的綜合資源利用率時(shí),該類資源利用率獲得的權(quán)重更大,對整體利用率的影響更多,這樣可以確保對某類資源需求較多的虛擬機(jī)更傾向于分配到該類資源利用率較低的物理節(jié)點(diǎn)上。物理節(jié)點(diǎn)的綜合資源利用率uweight主要用于指導(dǎo)集群節(jié)點(diǎn)之間的負(fù)載均衡,為達(dá)到負(fù)載均衡的目標(biāo),會(huì)為當(dāng)前虛擬機(jī)選擇集群中綜合資源利用率較低的物理節(jié)點(diǎn)作為宿主機(jī)。
3.3、依次計(jì)算各物理節(jié)點(diǎn)的資源均衡因子lall。lall的計(jì)算方法如公式5和公式6所示:
即資源均衡因子lall表示為,各物理節(jié)點(diǎn)在分配當(dāng)前虛擬機(jī)之后,各項(xiàng)資源利用率預(yù)估值的均方差。利用各項(xiàng)資源利用率預(yù)估值的均方差(lall,由公式5和公式6計(jì)算所的)體現(xiàn)各項(xiàng)資源利用率的離散程度和波動(dòng)程度,其中
3.4、依次計(jì)算各物理節(jié)點(diǎn)資源利用總額s,并選出s最小的節(jié)點(diǎn)作為當(dāng)前虛擬機(jī)的宿主機(jī)。s的計(jì)算方法如公式7所示:
s=lall×uweight公式7
即物理節(jié)點(diǎn)資源利用總額s為該節(jié)點(diǎn)綜合資源利用率uweight與其資源均衡因子lall的乘積。uweight越低表明選擇該物理節(jié)點(diǎn)會(huì)使集群節(jié)點(diǎn)之間資源用率更均衡,lall越小表明分配當(dāng)前虛擬機(jī)使該物理節(jié)點(diǎn)各項(xiàng)資源的使用更均衡。因此s最低的物理節(jié)點(diǎn)即當(dāng)前進(jìn)行虛擬機(jī)負(fù)載均衡時(shí)最優(yōu)的選擇。
雖然本發(fā)明所揭示的實(shí)施方式如上,但其內(nèi)容只是為了便于理解本發(fā)明的技術(shù)方案而采用的實(shí)施方式,并非用于限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭示的核心技術(shù)方案的前提下,可以在實(shí)施的形式和細(xì)節(jié)上做任何修改與變化,但本發(fā)明所限定的保護(hù)范圍,仍須以所附的權(quán)利要求書限定的范圍為準(zhǔn)。