本發(fā)明涉及云服務(wù)技術(shù)領(lǐng)域,特別是涉及一種云資源調(diào)度方法及裝置。
背景技術(shù):
目前,隨著計算機(jī)技術(shù)的蓬勃發(fā)展和互聯(lián)網(wǎng)技術(shù)的飛速進(jìn)步,新一代大規(guī)?;ヂ?lián)網(wǎng)應(yīng)用迅猛發(fā)展使得用戶通過網(wǎng)絡(luò)共享計算機(jī)資源成為了可能,云計算這一新的計算和商業(yè)模式應(yīng)運(yùn)而生。它創(chuàng)新的計算模式使用戶通過互聯(lián)網(wǎng)隨時獲得近乎無限的計算能力和豐富多樣的信息服務(wù),它創(chuàng)新的商業(yè)模式使用戶對計算資源和服務(wù)隨時可得、易于擴(kuò)展、按需計費(fèi)。云計算技術(shù)的不斷成熟,使得數(shù)據(jù)中心變得越來越重要和復(fù)雜。云數(shù)據(jù)中心已經(jīng)成為了一個高性能計算機(jī)的集中地,涉及成千上萬規(guī)模的物理服務(wù)器和網(wǎng)絡(luò)設(shè)備,資源量大,異構(gòu)性強(qiáng),對資源動態(tài)彈性管理、服務(wù)質(zhì)量、按需服務(wù)等各方面的需求更加突出。但是云數(shù)據(jù)中心目前面臨著高成本、低效率、高能耗等問題。由于用戶需求的多樣、動態(tài)變化以及服務(wù)器的資源異構(gòu)性會導(dǎo)致數(shù)據(jù)中心出現(xiàn)負(fù)載不均衡的情況,致使一部分物理機(jī)的負(fù)載過重,效率降低,而另一些則負(fù)載較輕處于空閑狀態(tài)。以上這些問題直接影響云數(shù)據(jù)中心資源的高效利用,造成云資源大量的浪費(fèi)和損失,因此如何平衡物理機(jī)之間的負(fù)載以提高云數(shù)據(jù)中心資源利用率是亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種云資源調(diào)度方法及裝置,以實(shí)現(xiàn)提高資源利用率。
為解決上述技術(shù)問題,本發(fā)明提供一種云資源調(diào)度方法,該方法包括:
利用虛擬化技術(shù)將云數(shù)據(jù)中心的基礎(chǔ)物理資源構(gòu)建成動態(tài)資源池;
對于云數(shù)據(jù)中心的每個物理機(jī),依據(jù)CPU需求及內(nèi)存需求在物理機(jī)上部署至少一個虛擬機(jī);
依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移。
優(yōu)選的,依據(jù)CPU需求及內(nèi)存需求在物理機(jī)上部署至少一個虛擬機(jī)之后,還包括:
將用戶的資源請求封裝在虛擬機(jī)中。
優(yōu)選的,在將用戶的資源請求封裝在虛擬機(jī)中之后,還包括:
將虛擬機(jī)之間的數(shù)據(jù)進(jìn)行隔離。
優(yōu)選的,依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移,包括:
若物理機(jī)上有多個虛擬機(jī)且物理機(jī)的資源利用率大于第一預(yù)設(shè)閾值,則將物理機(jī)上內(nèi)存最小的虛擬機(jī)遷移到另一個具有資源碎片的物理機(jī)上;
若物理機(jī)上有一個虛擬機(jī)且物理機(jī)的資源利用率小于第二預(yù)設(shè)閾值,將物理機(jī)上的虛擬機(jī)遷移到另一個具有資源碎片的物理機(jī)上;第二預(yù)設(shè)閾值小于第一預(yù)設(shè)閾值。
本發(fā)明還提供一種云資源調(diào)度裝置,用于實(shí)現(xiàn)所述云資源調(diào)度方法,該裝置包括:
構(gòu)建模塊,用于利用虛擬化技術(shù)將云數(shù)據(jù)中心的基礎(chǔ)物理資源構(gòu)建成動態(tài)資源池;
部署模塊,用于對于云數(shù)據(jù)中心的每個物理機(jī),依據(jù)CPU需求及內(nèi)存需求在物理機(jī)上部署至少一個虛擬機(jī);
遷移模塊,用于依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移。
優(yōu)選的,所述部署模塊還包括:
封裝單元,用于將用戶的資源請求封裝在虛擬機(jī)中。
優(yōu)選的,所述部署模塊還包括:
隔離單元,用于將虛擬機(jī)之間的數(shù)據(jù)進(jìn)行隔離。
優(yōu)選的,所述遷移模塊包括:
第一遷移單元,用于若物理機(jī)上有多個虛擬機(jī)且物理機(jī)的資源利用率大于第一預(yù)設(shè)閾值,則將物理機(jī)上內(nèi)存最小的虛擬機(jī)遷移到另一個具有資源碎片的物理機(jī)上;
第二遷移單元,用于若物理機(jī)上有一個虛擬機(jī)且物理機(jī)的資源利用率小于第二預(yù)設(shè)閾值,將物理機(jī)上的虛擬機(jī)遷移到另一個具有資源碎片的物理機(jī)上;第二預(yù)設(shè)閾值小于第一預(yù)設(shè)閾值。
本發(fā)明所提供的一種云資源調(diào)度方法及裝置,利用虛擬化技術(shù)將云數(shù)據(jù)中心的基礎(chǔ)物理資源構(gòu)建成動態(tài)資源池;對于云數(shù)據(jù)中心的每個物理機(jī),依據(jù)CPU需求及內(nèi)存需求在物理機(jī)上部署至少一個虛擬機(jī);依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移??梢?,由于構(gòu)建動態(tài)資源池,則資源能夠遷移即能夠?qū)μ摂M機(jī)進(jìn)行遷移,且依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移,如此利用虛擬機(jī)遷移使物理機(jī)內(nèi)部資源得到整合,提高了整個云數(shù)據(jù)中心的整體資源利用率,減少了資源的浪費(fèi)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明所提供的一種云資源調(diào)度方法的流程圖;
圖2為云數(shù)據(jù)中心體系結(jié)構(gòu)圖;
圖3為云數(shù)據(jù)中心資源模型圖;
圖4為虛擬機(jī)部署場景示意圖;
圖5為負(fù)載調(diào)整之前內(nèi)存利用率情況示意圖;
圖6為負(fù)載調(diào)整之后內(nèi)存利用率情況示意圖;
圖7為本發(fā)明所提供的一種云資源調(diào)度裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種云資源調(diào)度方法及裝置,以實(shí)現(xiàn)提高資源利用率。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參考圖1,圖1為本發(fā)明所提供的一種云資源調(diào)度方法的流程圖,該方法包括:
S11:利用虛擬化技術(shù)將云數(shù)據(jù)中心的基礎(chǔ)物理資源構(gòu)建成動態(tài)資源池;
S12:對于云數(shù)據(jù)中心的每個物理機(jī),依據(jù)CPU需求及內(nèi)存需求在物理機(jī)上部署至少一個虛擬機(jī);
S13:依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移。
可見,該方法中,由于構(gòu)建動態(tài)資源池,則資源能夠遷移即能夠?qū)μ摂M機(jī)進(jìn)行遷移,且依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移,如此利用虛擬機(jī)遷移使物理機(jī)內(nèi)部資源得到整合,提高了整個云數(shù)據(jù)中心的整體資源利用率,減少了資源的浪費(fèi)。
基于上述方法,進(jìn)一步的,步驟S12中,依據(jù)CPU需求及內(nèi)存需求在物理機(jī)上部署至少一個虛擬機(jī)之后,還包括:將用戶的資源請求封裝在虛擬機(jī)中。
其中,在將用戶的資源請求封裝在虛擬機(jī)中之后,還包括:將虛擬機(jī)之間的數(shù)據(jù)進(jìn)行隔離。
進(jìn)一步的,步驟S13的過程具體包括:若物理機(jī)上有多個虛擬機(jī)且物理機(jī)的資源利用率大于第一預(yù)設(shè)閾值,則將物理機(jī)上內(nèi)存最小的虛擬機(jī)遷移到另一個具有資源碎片的物理機(jī)上;若物理機(jī)上有一個虛擬機(jī)且物理機(jī)的資源利用率小于第二預(yù)設(shè)閾值,將物理機(jī)上的虛擬機(jī)遷移到另一個具有資源碎片的物理機(jī)上;第二預(yù)設(shè)閾值小于第一預(yù)設(shè)閾值。
該方法是在云環(huán)境下通過合理的資源調(diào)度來平衡物理機(jī)之間的負(fù)載以提高云數(shù)據(jù)中心資源利用率和整體性能,改善當(dāng)前云數(shù)據(jù)中心資源浪費(fèi)的現(xiàn)象,減少云基礎(chǔ)設(shè)施的成本投入。
云環(huán)境下的數(shù)據(jù)中心是一個包含了大量物理服務(wù)器、虛擬機(jī)、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備的場所,是實(shí)現(xiàn)云計算應(yīng)用的服務(wù)平臺。如圖2所示,云數(shù)據(jù)中心利用虛擬化技術(shù)對基礎(chǔ)物理資源進(jìn)行抽象形成動態(tài)資源池,用戶的資源請求被封裝在一個或多個虛擬機(jī)中提供給用戶,并且虛擬機(jī)對于用戶來講,幾乎與物理機(jī)沒有任何區(qū)別,用戶可以在虛擬機(jī)上靈活的安裝任何軟件。同時,虛擬機(jī)之間的數(shù)據(jù)時隔離的,確保用戶的數(shù)據(jù)安全。虛擬機(jī)運(yùn)行在數(shù)據(jù)中心物理機(jī)或由眾多的物理機(jī)通過網(wǎng)絡(luò)組成的物理機(jī)集群之上。云數(shù)據(jù)中心允許用戶通過網(wǎng)絡(luò)動態(tài)地申請或釋放資源,按需計費(fèi)。
參考圖3,云數(shù)據(jù)中心資源包括提供給用戶使用的軟件和硬件資源(包括計算、存儲、網(wǎng)絡(luò)等),中間件以及應(yīng)用服務(wù)等。云服務(wù)提供商可以動態(tài)配置同一數(shù)據(jù)中心或多個數(shù)據(jù)中心的設(shè)施來滿足用戶需求。如圖3所示,云數(shù)據(jù)中心基礎(chǔ)設(shè)施資源主要包括:物理機(jī)、物理機(jī)集群、虛擬機(jī)、虛擬機(jī)集群、數(shù)據(jù)中心以及網(wǎng)絡(luò)和存儲資源。其中,物理機(jī)是構(gòu)成云數(shù)據(jù)中心的物理計算設(shè)備,每個物理機(jī)可以通過虛擬化技術(shù)提供多個虛擬機(jī);物理機(jī)集群是由多個物理機(jī)和必要的網(wǎng)絡(luò)及存儲設(shè)備構(gòu)成的物理機(jī)集合;虛擬機(jī)是在物理機(jī)的基礎(chǔ)之上通過虛擬化軟件生成的具有完整硬件系統(tǒng)功能的計算機(jī)系統(tǒng);虛擬機(jī)集群是由多個虛擬服務(wù)器和必要的網(wǎng)絡(luò)以及存儲設(shè)施構(gòu)成的虛擬服務(wù)器組;數(shù)據(jù)中心是云計算資源的集中之地,是IaaS服務(wù)提供商提供給用戶的最大資源單位。
云數(shù)據(jù)中心體系結(jié)構(gòu)針對資源調(diào)度,對復(fù)雜的云數(shù)據(jù)中心結(jié)構(gòu)進(jìn)行了簡化整合,降低了云數(shù)據(jù)中心結(jié)構(gòu)的復(fù)雜度;云數(shù)據(jù)中心資源模型是從云服務(wù)提供商的角度出發(fā),定義了云數(shù)據(jù)中心的資源,便于提供商對云數(shù)據(jù)中心的資源進(jìn)行整合與調(diào)度。云數(shù)據(jù)中心體系結(jié)構(gòu)能夠提高云數(shù)據(jù)中心的物理資源利用率,減少數(shù)據(jù)中心資源浪費(fèi)。在云數(shù)據(jù)中心體系結(jié)構(gòu)的基礎(chǔ)上,從云服務(wù)提供商的角度,提出一種云數(shù)據(jù)中心資源模型,對云數(shù)據(jù)中心的主要資源進(jìn)行了明確的定義和詳細(xì)的描述,作為云資源調(diào)度的對象。
其中,虛擬機(jī)的部署是以提高資源的利用率為優(yōu)化目標(biāo),根據(jù)不同虛擬機(jī)請求上對多維資源的消耗,對虛擬機(jī)在物理機(jī)上的部署進(jìn)行優(yōu)化調(diào)度。針對虛擬機(jī)與物理機(jī)之間的部署映射問題,提出了虛擬機(jī)部署方式,能夠?qū)崿F(xiàn)數(shù)據(jù)中心基礎(chǔ)設(shè)施資源的高效且均衡分配。虛擬機(jī)的遷移是通過對已部署的虛擬機(jī)進(jìn)行動態(tài)遷移,提高云數(shù)據(jù)中心內(nèi)資源利用率和實(shí)現(xiàn)云數(shù)據(jù)中心負(fù)載均衡。利用虛擬機(jī)遷移可以使物理機(jī)內(nèi)部資源得到整合,提高了整個云數(shù)據(jù)中心的整體資源利用率,減少了資源的浪費(fèi),解決了云數(shù)據(jù)中心內(nèi)資源利用率不高和系統(tǒng)負(fù)載不均衡的問題。
詳細(xì)的,用戶的資源請求以虛擬機(jī)的方式部署在云數(shù)據(jù)中心物理機(jī)之上,每個虛擬機(jī)對資源的需求是不同且多樣,這不僅使不同物理機(jī)間的負(fù)載不易均衡,而且同一物理機(jī)內(nèi)資源難得到充分利用。針對虛擬機(jī)與物理機(jī)之間的映射問題,以提高資源的利用率為優(yōu)化目標(biāo),虛擬機(jī)部署有改進(jìn),部署場景如圖4所示,假設(shè)云數(shù)據(jù)中心對k個用戶資源請求進(jìn)行處理,由于IaaS提供商將用戶請求封裝為虛擬機(jī)形式進(jìn)行資源分配,因此資源請求也稱為虛擬機(jī)請求。
在圖4的場景下,僅考慮CPU需求和內(nèi)存需求的虛擬機(jī)部署,假設(shè)數(shù)據(jù)中心一臺物理機(jī)擁有CPU12核、內(nèi)存15G,現(xiàn)在有4個虛擬機(jī)請求,其配置分別為虛擬機(jī)1(6核5G)、虛擬機(jī)2(5核3G)、虛擬機(jī)3(4核6G)、虛擬機(jī)4(2核5G)?;谙冗M(jìn)先出策略的虛擬機(jī)部署方法將虛擬機(jī)請求集合看作為有序隊(duì)列,將虛擬機(jī)1和虛擬機(jī)2部署后,由于CPU資源的限制,不能繼續(xù)部署更多的虛擬機(jī),最后資源調(diào)度結(jié)果為CPU利用率93%,內(nèi)存利用率為53%。本方法采用的部署方式考慮不同的資源需求特性,結(jié)合物理機(jī)的狀態(tài)將虛擬機(jī)部署進(jìn)行新的組合,將虛擬機(jī)2、虛擬機(jī)3、虛擬機(jī)4部署到物理機(jī)上。通過合理地以資源需求為切入點(diǎn)進(jìn)行虛擬機(jī)協(xié)作調(diào)度,資源調(diào)度結(jié)果為CPU利用率92%,內(nèi)存利用率為93%。通過與傳統(tǒng)的方式對比,本發(fā)明的部署方式能夠提高云數(shù)據(jù)中心多維資源的利用率,實(shí)現(xiàn)基礎(chǔ)設(shè)施資源的高效利用和均衡分配。
詳細(xì)的,虛擬機(jī)遷移可以使物理機(jī)內(nèi)部資源得到整合,提高了整個云數(shù)據(jù)中心的整體資源利用率,減少了資源的浪費(fèi)。同時通過虛擬機(jī)遷移技術(shù)將超負(fù)荷運(yùn)行的物理機(jī)上面運(yùn)行的虛擬機(jī)遷移到合適的低負(fù)荷的物理機(jī)上,從而提高了系統(tǒng)的運(yùn)行效率。虛擬機(jī)動態(tài)遷移技術(shù)則是在虛擬機(jī)運(yùn)行過程中,將整個虛擬機(jī)的運(yùn)行狀態(tài)完整、快速的從原來所在的宿主物理機(jī)遷移到新的物理機(jī)上。在整個遷移的過程中是平滑的,用戶幾乎感覺不到任何的差異,并且可以支持原宿主物理機(jī)和目標(biāo)宿主物理機(jī)硬件平臺的異構(gòu)性。因此基于虛擬機(jī)動態(tài)遷移技術(shù),本方法提高云數(shù)據(jù)中心內(nèi)資源利用率和實(shí)現(xiàn)云數(shù)據(jù)中心負(fù)載均衡為優(yōu)化目標(biāo)。
在具有大規(guī)模服務(wù)器的云環(huán)境下,用戶資源需求的動態(tài)變化,因此云數(shù)據(jù)中心的物理機(jī)的負(fù)載隨著時間動態(tài)的變化,任何時刻物理機(jī)的負(fù)載都是起伏不定的。物理機(jī)負(fù)載允許存在一定的差異,但是當(dāng)太多物理機(jī)的資源利用率過低或各個物理機(jī)之間的負(fù)載差異很大,就會造成一些問題。如圖5所示,以內(nèi)存為例,一些物理機(jī),如圖5中的物理機(jī)m3、m4的資源利用率非常低,造成了許多資源的浪費(fèi),資源沒有得到充分利用;而另外一些物理機(jī),如圖5中物理機(jī)m2的負(fù)載過高,影響了上層應(yīng)用的性能。通過虛擬機(jī)動態(tài)遷移進(jìn)行調(diào)整,圖6為調(diào)度之后的結(jié)果,使負(fù)載過高的物理機(jī)m2上的虛擬機(jī)vm4遷移到負(fù)載較低的物理機(jī)m4上,物理機(jī)m3上的虛擬機(jī)vm7遷移到物理機(jī)m4上,消除了物理機(jī)m4的資源碎片,提高了利用率,同時將空閑的物理機(jī)m3關(guān)閉以減少資源浪費(fèi)。因此經(jīng)過虛擬機(jī)的調(diào)整遷移,使得所有的物理機(jī)在整體負(fù)載均衡,提高了資源利用率。
本方法能夠靈活的管理云數(shù)據(jù)中心資源,實(shí)現(xiàn)資源優(yōu)化配置,極大地提高云資源的利用率,改善當(dāng)前云數(shù)據(jù)中心資源浪費(fèi)的現(xiàn)象,減少云基礎(chǔ)設(shè)施升級所需的大量投資,提高了用戶的使用體驗(yàn)。
請參考圖7,圖7為本發(fā)明所提供的一種云資源調(diào)度裝置的結(jié)構(gòu)示意圖,該裝置用于實(shí)現(xiàn)上述云資源調(diào)度裝置方法,該裝置包括:
構(gòu)建模塊101,用于利用虛擬化技術(shù)將云數(shù)據(jù)中心的基礎(chǔ)物理資源構(gòu)建成動態(tài)資源池;
部署模塊102,用于對于云數(shù)據(jù)中心的每個物理機(jī),依據(jù)CPU需求及內(nèi)存需求在物理機(jī)上部署至少一個虛擬機(jī);
遷移模塊103,用于依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移。
可見,該裝置中,由于構(gòu)建動態(tài)資源池,則資源能夠遷移即能夠?qū)μ摂M機(jī)進(jìn)行遷移,且依據(jù)物理機(jī)的資源利用率對物理機(jī)上的虛擬機(jī)進(jìn)行遷移,如此利用虛擬機(jī)遷移使物理機(jī)內(nèi)部資源得到整合,提高了整個云數(shù)據(jù)中心的整體資源利用率,減少了資源的浪費(fèi)。
基于上述裝置,進(jìn)一步的,部署模塊還包括:封裝單元,用于將用戶的資源請求封裝在虛擬機(jī)中。
進(jìn)一步的,部署模塊還包括:隔離單元,用于將虛擬機(jī)之間的數(shù)據(jù)進(jìn)行隔離。
進(jìn)一步的,遷移模塊包括:
第一遷移單元,用于若物理機(jī)上有多個虛擬機(jī)且物理機(jī)的資源利用率大于第一預(yù)設(shè)閾值,則將物理機(jī)上內(nèi)存最小的虛擬機(jī)遷移到另一個具有資源碎片的物理機(jī)上;
第二遷移單元,用于若物理機(jī)上有一個虛擬機(jī)且物理機(jī)的資源利用率小于第二預(yù)設(shè)閾值,將物理機(jī)上的虛擬機(jī)遷移到另一個具有資源碎片的物理機(jī)上;第二預(yù)設(shè)閾值小于第一預(yù)設(shè)閾值因此如何通過合適的資源調(diào)度算法來平衡物理機(jī)之間的負(fù)載。
以上對本發(fā)明所提供的一種云資源調(diào)度方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。