本發(fā)明涉及虛擬化技術(shù)領(lǐng)域,特別是涉及一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法及其系統(tǒng)。
背景技術(shù):
隨著信息產(chǎn)業(yè)的快速發(fā)展,云計(jì)算技術(shù)也就應(yīng)運(yùn)而生并開始蓬勃發(fā)展,作為實(shí)現(xiàn)云計(jì)算關(guān)鍵技術(shù)的虛擬化技術(shù)也越來(lái)越受關(guān)注。通過(guò)在服務(wù)器上安裝虛擬機(jī),越來(lái)越多的應(yīng)用系統(tǒng)和服務(wù)程序被部署在虛擬機(jī)環(huán)境下,最大限度的提高服務(wù)器硬件資源的利用率,降低資源開銷。
由于不同虛擬機(jī)之間因運(yùn)行服務(wù)不同,所需要的內(nèi)存資源也就各不相同,有些虛擬機(jī)需要較少的內(nèi)存資源即可滿足提供服務(wù)需求,而有些虛擬機(jī)可能需要更多的資源才能滿足更為復(fù)雜的服務(wù)要求。但是,目前的虛擬機(jī)內(nèi)存分配為靜態(tài)配置,即一旦分配完成后,不能自動(dòng)修改,只能通過(guò)人為修改虛擬機(jī)配置來(lái)修改虛擬機(jī)的內(nèi)存資源大小,實(shí)時(shí)性差,容易出現(xiàn)部分虛擬機(jī)內(nèi)存資源不足的情況,內(nèi)存資源利用率低。
因此,如何提供一種實(shí)時(shí)性好、內(nèi)存資源利用率高的Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法及其系統(tǒng)是本領(lǐng)域技術(shù)人員目前需要解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法及其系統(tǒng),能夠?qū)崟r(shí)自動(dòng)進(jìn)行內(nèi)存資源的動(dòng)態(tài)調(diào)整,而不需要等待人為修改配置,實(shí)時(shí)性強(qiáng),能夠盡可能避免出現(xiàn)虛擬機(jī)內(nèi)存資源不足的情況,內(nèi)存資源利用率高。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法,用于服務(wù)器,所述服務(wù)器內(nèi)設(shè)置有若干個(gè)虛擬機(jī),所述方法包括:
獲取各個(gè)所述虛擬機(jī)的詳細(xì)信息;
調(diào)用Hypercall模塊根據(jù)所述詳細(xì)信息得到各個(gè)所述虛擬機(jī)的內(nèi)存資源使用情況;
按照預(yù)設(shè)監(jiān)控策略對(duì)所述內(nèi)存資源使用情況進(jìn)行智能行為分析,得到分析結(jié)果;
根據(jù)所述分析結(jié)果生成動(dòng)態(tài)調(diào)整指令并發(fā)送至所述服務(wù)器的虛擬機(jī)監(jiān)視器;
所述虛擬機(jī)監(jiān)視器依據(jù)所述動(dòng)態(tài)調(diào)整指令實(shí)時(shí)動(dòng)態(tài)調(diào)整各個(gè)所述虛擬機(jī)的內(nèi)存分配情況。
優(yōu)選的,還包括:
當(dāng)依據(jù)所述分析結(jié)果得到,按照所述分析結(jié)果進(jìn)行內(nèi)存分配調(diào)整后仍會(huì)有虛擬機(jī)在預(yù)設(shè)時(shí)間段后出現(xiàn)內(nèi)存資源不足的情況時(shí),發(fā)送預(yù)測(cè)報(bào)警信息至所述服務(wù)器的管理界面。
優(yōu)選的,得到所述內(nèi)存資源使用情況之后還包括:
將所述內(nèi)存資源使用情況發(fā)送至所述服務(wù)器的管理界面,供所述管理界面以曲線或多重拓?fù)浣Y(jié)構(gòu)的方式對(duì)所述內(nèi)存資源使用情況進(jìn)行顯示。
優(yōu)選的,得到所述內(nèi)存資源使用情況之后還包括:
實(shí)時(shí)存儲(chǔ)所述內(nèi)存資源使用情況。
優(yōu)選的,所述預(yù)設(shè)監(jiān)控策略具體為通用監(jiān)控策略或自定義監(jiān)控策略。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控系統(tǒng),用于服務(wù)器,所述服務(wù)器內(nèi)設(shè)置有若干個(gè)虛擬機(jī),所述系統(tǒng)包括:
分別與各個(gè)所述虛擬機(jī)相連的Xenstore模塊,用于獲取各個(gè)所述虛擬機(jī)的詳細(xì)信息;
工具模塊,用于從所述Xenstore模塊內(nèi)獲取所述虛擬機(jī)的詳細(xì)信息,并調(diào)用Hypercall模塊根據(jù)所述詳細(xì)信息得到各個(gè)所述虛擬機(jī)的內(nèi)存資源使用情況;按照預(yù)設(shè)監(jiān)控策略對(duì)所述內(nèi)存資源使用情況進(jìn)行智能行為分析,得到分析結(jié)果;根據(jù)所述分析結(jié)果生成動(dòng)態(tài)調(diào)整指令并發(fā)送至所述服務(wù)器的虛擬機(jī)監(jiān)視器;
所述虛擬機(jī)監(jiān)視器,用于依據(jù)所述動(dòng)態(tài)調(diào)整指令實(shí)時(shí)動(dòng)態(tài)調(diào)整各個(gè)所述虛擬機(jī)的內(nèi)存分配情況。
優(yōu)選的,所述工具模塊通過(guò)所述Hypercall模塊將所述動(dòng)態(tài)調(diào)整指令發(fā)送至所述虛擬機(jī)監(jiān)視器。
優(yōu)選的,所述工具模塊還用于:
當(dāng)依據(jù)所述分析結(jié)果得到,按照所述分析結(jié)果進(jìn)行內(nèi)存分配調(diào)整后仍會(huì)有虛擬機(jī)在預(yù)設(shè)時(shí)間段后出現(xiàn)內(nèi)存資源不足的情況時(shí),發(fā)送預(yù)測(cè)報(bào)警信息至所述服務(wù)器的管理界面。
優(yōu)選的,所述工具模塊還用于:
得到所述內(nèi)存資源使用情況后,將所述內(nèi)存資源使用情況發(fā)送至所述服務(wù)器的管理界面,供所述管理界面以曲線或多重拓?fù)浣Y(jié)構(gòu)的方式對(duì)所述內(nèi)存資源使用情況進(jìn)行顯示。
優(yōu)選的,所述工具模塊還用于得到所述內(nèi)存資源使用情況后,實(shí)時(shí)存儲(chǔ)所述內(nèi)存資源使用情況。
本發(fā)明提供了一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法及其系統(tǒng),能夠依據(jù)預(yù)設(shè)監(jiān)控策略對(duì)實(shí)時(shí)監(jiān)測(cè)得到的各個(gè)虛擬機(jī)的內(nèi)存資源使用情況進(jìn)行智能行為分析,并依據(jù)分析結(jié)果,由虛擬機(jī)監(jiān)視器來(lái)實(shí)現(xiàn)對(duì)各個(gè)虛擬機(jī)的內(nèi)存分配情況的實(shí)時(shí)動(dòng)態(tài)調(diào)整??梢?,本發(fā)明能夠通過(guò)對(duì)內(nèi)存資源使用情況的分析,實(shí)時(shí)了解各個(gè)虛擬機(jī)的內(nèi)存資源需要,進(jìn)而由虛擬機(jī)監(jiān)視器自動(dòng)進(jìn)行內(nèi)存資源的動(dòng)態(tài)調(diào)整,而不需要等待人為修改配置,實(shí)時(shí)性強(qiáng),能夠盡可能避免出現(xiàn)虛擬機(jī)內(nèi)存資源不足的情況,內(nèi)存資源利用率高。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法的過(guò)程的流程圖;
圖2為本發(fā)明提供的一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法及其系統(tǒng),能夠?qū)崟r(shí)自動(dòng)進(jìn)行內(nèi)存資源的動(dòng)態(tài)調(diào)整,而不需要等待人為修改配置,實(shí)時(shí)性強(qiáng),能夠盡可能避免出現(xiàn)虛擬機(jī)內(nèi)存資源不足的情況,內(nèi)存資源利用率高。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供了一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法,用于服務(wù)器,服務(wù)器內(nèi)設(shè)置有若干個(gè)虛擬機(jī),參見圖1所示,圖1為本發(fā)明提供的一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法的過(guò)程的流程圖;該方法包括:
步驟s101:獲取各個(gè)虛擬機(jī)的詳細(xì)信息;
步驟s102:調(diào)用Hypercall模塊根據(jù)詳細(xì)信息得到各個(gè)虛擬機(jī)的內(nèi)存資源使用情況;
步驟s103:按照預(yù)設(shè)監(jiān)控策略對(duì)內(nèi)存資源使用情況進(jìn)行智能行為分析,得到分析結(jié)果;
步驟s104:根據(jù)分析結(jié)果生成動(dòng)態(tài)調(diào)整指令并發(fā)送至服務(wù)器的虛擬機(jī)監(jiān)視器;
步驟s105:虛擬機(jī)監(jiān)視器依據(jù)動(dòng)態(tài)調(diào)整指令實(shí)時(shí)動(dòng)態(tài)調(diào)整各個(gè)虛擬機(jī)的內(nèi)存分配情況。
另外,在虛擬機(jī)監(jiān)視器接收到動(dòng)態(tài)調(diào)整指令后,還會(huì)通過(guò)Xenstore模塊來(lái)獲取各個(gè)虛擬機(jī)的內(nèi)存信息,進(jìn)而進(jìn)行內(nèi)存分配調(diào)整。
作為優(yōu)選地,該方法還包括:
當(dāng)依據(jù)分析結(jié)果得到,按照分析結(jié)果進(jìn)行內(nèi)存分配調(diào)整后仍會(huì)有虛擬機(jī)在預(yù)設(shè)時(shí)間段后出現(xiàn)內(nèi)存資源不足的情況時(shí),發(fā)送預(yù)測(cè)報(bào)警信息至服務(wù)器的管理界面。
可以理解的是,通過(guò)該步驟本發(fā)明進(jìn)行了前瞻性主動(dòng)預(yù)測(cè)式報(bào)警操作,即本發(fā)明通過(guò)按照預(yù)設(shè)監(jiān)控策略對(duì)內(nèi)存資源使用情況進(jìn)行智能行為分析,可以提前預(yù)測(cè)得知當(dāng)按照該分析結(jié)果進(jìn)行內(nèi)存調(diào)整后極有可能會(huì)出現(xiàn)某一個(gè)或某幾個(gè)虛擬機(jī)內(nèi)存資源不足的情況,進(jìn)而進(jìn)行報(bào)警。相比現(xiàn)有的被動(dòng)式報(bào)警方式(即內(nèi)存資源不足的情況出現(xiàn)后,才進(jìn)行報(bào)警的方式),本發(fā)明能夠提前告知工作人員,主動(dòng)性強(qiáng),且提高了服務(wù)器的可靠性。
作為優(yōu)選地,得到內(nèi)存資源使用情況之后還包括:
將內(nèi)存資源使用情況發(fā)送至服務(wù)器的管理界面,供管理界面以曲線或多重拓?fù)浣Y(jié)構(gòu)的方式對(duì)內(nèi)存資源使用情況進(jìn)行顯示。
可以理解的是,通過(guò)將內(nèi)存資源使用情況管理界面進(jìn)行顯示,可以使工作人員及時(shí)得知此時(shí)各個(gè)虛擬機(jī)的內(nèi)存分配情況。
作為優(yōu)選地,得到內(nèi)存資源使用情況之后還包括:
實(shí)時(shí)存儲(chǔ)內(nèi)存資源使用情況。
可以理解的是,該操作的目的是將內(nèi)存資源使用情況作為備份,以供工作人員后續(xù)進(jìn)行查驗(yàn)或分析時(shí)使用。
其中,這里的預(yù)設(shè)監(jiān)控策略具體為通用監(jiān)控策略或自定義監(jiān)控策略。
另外,這里的預(yù)設(shè)監(jiān)控策略內(nèi)具體包括有分別對(duì)應(yīng)于各個(gè)虛擬機(jī)的監(jiān)控子策略,具體的,這里的監(jiān)控子策略可以均為通用監(jiān)控策略,也可為由工作人員分別根據(jù)各個(gè)虛擬機(jī)的具體情況進(jìn)行自定義設(shè)置得到的自定義監(jiān)控策略。本發(fā)明對(duì)此不作限定。
進(jìn)一步可知,若預(yù)設(shè)監(jiān)控策略具體為自定義監(jiān)控策略,則對(duì)預(yù)設(shè)監(jiān)控策略進(jìn)行配置時(shí),需要通過(guò)Xenstore模塊來(lái)獲取各個(gè)虛擬機(jī)的詳細(xì)信息,這里的詳細(xì)信息包括虛擬機(jī)id,虛擬機(jī)名稱,虛擬機(jī)內(nèi)存信息等。
本發(fā)明提供了一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控方法,能夠依據(jù)預(yù)設(shè)監(jiān)控策略對(duì)實(shí)時(shí)監(jiān)測(cè)得到的各個(gè)虛擬機(jī)的內(nèi)存資源使用情況進(jìn)行智能行為分析,并依據(jù)分析結(jié)果,由虛擬機(jī)監(jiān)視器來(lái)實(shí)現(xiàn)對(duì)各個(gè)虛擬機(jī)的內(nèi)存分配情況的實(shí)時(shí)動(dòng)態(tài)調(diào)整??梢?,本發(fā)明能夠通過(guò)對(duì)內(nèi)存資源使用情況的分析,實(shí)時(shí)了解各個(gè)虛擬機(jī)的內(nèi)存資源需要,進(jìn)而由虛擬機(jī)監(jiān)視器自動(dòng)進(jìn)行內(nèi)存資源的動(dòng)態(tài)調(diào)整,而不需要等待人為修改配置,實(shí)時(shí)性強(qiáng),能夠盡可能避免出現(xiàn)虛擬機(jī)內(nèi)存資源不足的情況,內(nèi)存資源利用率高。
本發(fā)明還提供了一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控系統(tǒng),用于服務(wù)器,服務(wù)器內(nèi)設(shè)置有若干個(gè)虛擬機(jī),參見圖2所示,圖2為本發(fā)明提供的一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖。該系統(tǒng)包括:
分別與各個(gè)虛擬機(jī)相連的Xenstore模塊11,用于獲取各個(gè)所述虛擬機(jī)的詳細(xì)信息;
工具模塊12,用于從Xenstore模塊11內(nèi)獲取虛擬機(jī)的詳細(xì)信息,并調(diào)用Hypercall模塊根據(jù)詳細(xì)信息得到各個(gè)虛擬機(jī)的內(nèi)存資源使用情況;按照預(yù)設(shè)監(jiān)控策略對(duì)內(nèi)存資源使用情況進(jìn)行智能行為分析,得到分析結(jié)果;根據(jù)分析結(jié)果生成動(dòng)態(tài)調(diào)整指令并發(fā)送至服務(wù)器的虛擬機(jī)監(jiān)視器(hypervisor)13;
虛擬機(jī)監(jiān)視器13,用于依據(jù)動(dòng)態(tài)調(diào)整指令實(shí)時(shí)動(dòng)態(tài)調(diào)整各個(gè)虛擬機(jī)的內(nèi)存分配情況。
其中,這里的工具模塊12具體為XMMDR Tool。
另外,Xenstore模塊11以及工具模塊12均位于一個(gè)控制虛擬機(jī)內(nèi),該控制虛擬機(jī)也位于上述服務(wù)器中。
可以理解的是,這里的詳細(xì)信息包括虛擬機(jī)id,虛擬機(jī)名稱,虛擬機(jī)內(nèi)存信息等。工具模塊12和虛擬機(jī)監(jiān)視器13可直接獲取Xenstore模塊11內(nèi)的詳細(xì)信息,可見,Xenstore模塊11可視為存儲(chǔ)各個(gè)虛擬機(jī)信息的數(shù)據(jù)庫(kù)。
其中,工具模塊12通過(guò)Hypercall模塊將動(dòng)態(tài)調(diào)整指令發(fā)送至虛擬機(jī)監(jiān)視器13。另外,虛擬機(jī)監(jiān)視器13也通過(guò)Hypercall模塊來(lái)調(diào)取Xenstore模塊11內(nèi)的信息。
作為優(yōu)選地,工具模塊12還用于:
當(dāng)依據(jù)分析結(jié)果得到,按照分析結(jié)果進(jìn)行內(nèi)存分配調(diào)整后仍會(huì)有虛擬機(jī)在預(yù)設(shè)時(shí)間段后出現(xiàn)內(nèi)存資源不足的情況時(shí),發(fā)送預(yù)測(cè)報(bào)警信息至服務(wù)器的管理界面。
作為優(yōu)選地,工具模塊12還用于:
得到內(nèi)存資源使用情況后,將內(nèi)存資源使用情況發(fā)送至服務(wù)器的管理界面,供管理界面以曲線或多重拓?fù)浣Y(jié)構(gòu)的方式對(duì)內(nèi)存資源使用情況進(jìn)行顯示。
作為優(yōu)選地,工具模塊12還用于得到監(jiān)測(cè)結(jié)果后,實(shí)時(shí)存儲(chǔ)內(nèi)存資源使用情況。
本發(fā)明提供了一種Xen虛擬環(huán)境下的虛擬機(jī)內(nèi)存監(jiān)控系統(tǒng),能夠依據(jù)預(yù)設(shè)監(jiān)控策略對(duì)實(shí)時(shí)監(jiān)測(cè)得到的各個(gè)虛擬機(jī)的內(nèi)存資源使用情況進(jìn)行智能行為分析,并依據(jù)分析結(jié)果,由虛擬機(jī)監(jiān)視器來(lái)實(shí)現(xiàn)對(duì)各個(gè)虛擬機(jī)的內(nèi)存分配情況的實(shí)時(shí)動(dòng)態(tài)調(diào)整??梢?,本發(fā)明能夠通過(guò)對(duì)監(jiān)控結(jié)果內(nèi)存資源使用情況的分析,實(shí)時(shí)了解各個(gè)虛擬機(jī)的內(nèi)存資源需要,進(jìn)而由虛擬機(jī)監(jiān)視器自動(dòng)進(jìn)行內(nèi)存資源的動(dòng)態(tài)調(diào)整,而不需要等待人為修改配置,實(shí)時(shí)性強(qiáng),能夠盡可能避免出現(xiàn)虛擬機(jī)內(nèi)存資源不足的情況,內(nèi)存資源利用率高。
需要說(shuō)明的是,在本說(shuō)明書中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。