云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法及系統(tǒng),該方法包括:制定步驟,制定內(nèi)存動態(tài)調(diào)整策略;監(jiān)控步驟,實(shí)時(shí)監(jiān)控虛擬機(jī)的運(yùn)行狀態(tài),并獲取虛擬機(jī)的內(nèi)存使用量;判斷步驟,判斷內(nèi)存使用量是否大于內(nèi)存動態(tài)調(diào)整策略中的上限閾值或小于內(nèi)存動態(tài)調(diào)整策略中的下限閾值;動態(tài)調(diào)整步驟,若內(nèi)存使用量大于上限閾值,則對所述虛擬機(jī)的內(nèi)存進(jìn)行動態(tài)增加;若內(nèi)存使用量小于下限閾值,則對所述虛擬機(jī)的內(nèi)存進(jìn)行動態(tài)減少。本發(fā)明通過云管理平臺可以有效地在不關(guān)閉虛擬機(jī)的前提下對虛擬機(jī)的內(nèi)存進(jìn)行動態(tài)地?cái)U(kuò)展或縮減,保證了運(yùn)行在虛擬機(jī)內(nèi)核心業(yè)務(wù)能夠不間斷持續(xù)地運(yùn)行,并減少了不必要的內(nèi)存浪費(fèi)。
【專利說明】云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法及系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)今計(jì)算機(jī)和網(wǎng)絡(luò)的快速發(fā)展,虛擬化技術(shù)不斷完善。隨著虛擬化技術(shù)的不斷發(fā)展,云計(jì)算的不斷使用,在虛擬機(jī)上運(yùn)行系統(tǒng)和應(yīng)用與在實(shí)際物理機(jī)上運(yùn)行系統(tǒng)和應(yīng)用在性能方面差距正在不斷減少,使得越來越多的企業(yè)將關(guān)鍵業(yè)務(wù)運(yùn)行在云計(jì)算虛擬化服務(wù)器的虛擬機(jī)上。因此,如何保證運(yùn)行在虛擬機(jī)上的關(guān)鍵業(yè)務(wù)能夠不間斷持續(xù)的運(yùn)行是如今關(guān)注的問題。
[0003]在現(xiàn)有的云計(jì)算環(huán)境中,管理員只能給虛擬機(jī)指定固定的內(nèi)存大小,當(dāng)虛擬機(jī)啟動時(shí),則會將管理員所分配的內(nèi)存完全占用。此外,當(dāng)用戶的關(guān)鍵應(yīng)用運(yùn)行在虛擬化服務(wù)器上的虛擬機(jī)中時(shí),某些特定時(shí)刻虛擬機(jī)將需要較多的內(nèi)存才能繼續(xù)運(yùn)行。
[0004]因此,當(dāng)管理員分配給虛擬機(jī)的內(nèi)存大小無法滿足應(yīng)用的需求時(shí),管理員必需要在關(guān)閉虛擬機(jī)的情況下對其內(nèi)存占用大小重新進(jìn)行調(diào)整,這樣用戶的應(yīng)用就必須停止一段時(shí)間,其關(guān)鍵業(yè)務(wù)不能夠持續(xù)的運(yùn)行。而且,若管理員給虛擬機(jī)分配了過多的內(nèi)存,而虛擬機(jī)的應(yīng)用有時(shí)不需要使用這么多內(nèi)存,這勢必將造成資源的浪費(fèi)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題之一是需要提供一種云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,該方法可以在不關(guān)閉虛擬機(jī)的情況下對其內(nèi)存進(jìn)行調(diào)整。此外,還提供了一種云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的系統(tǒng)。
[0006]為了解決上述技術(shù)問題,本發(fā)明提供了一種云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,包括:制定步驟,制定內(nèi)存動態(tài)調(diào)整策略,該策略包括虛擬機(jī)內(nèi)存使用量的閾值,其中,所述內(nèi)存使用量的閾值包括上限閾值和下限閾值;監(jiān)控步驟,實(shí)時(shí)監(jiān)控所述虛擬機(jī)的運(yùn)行狀態(tài),并獲取所述虛擬機(jī)的內(nèi)存使用量;判斷步驟,判斷所述內(nèi)存使用量是否大于所述內(nèi)存動態(tài)調(diào)整策略中的上限閾值或小于所述內(nèi)存動態(tài)調(diào)整策略中的下限閾值;動態(tài)調(diào)整步驟,若所述內(nèi)存使用量大于所述上限閾值,則對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展;若所述內(nèi)存使用量小于所述下限閾值,則對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)縮減。
[0007]在一個實(shí)施例中,所述動態(tài)調(diào)整步驟進(jìn)一步包括:當(dāng)所述虛擬機(jī)的內(nèi)存使用量大于所述上限閾值時(shí),進(jìn)一步判斷向所述虛擬機(jī)進(jìn)行內(nèi)存擴(kuò)展后虛擬機(jī)用戶的資源使用配額是否超出該用戶的最大資源使用配額,其中,若所述虛擬機(jī)用戶的資源使用配額超出該用戶的最大資源使用配額,則取消這次操作,否則,對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展,所述虛擬機(jī)用戶的資源使用配額為用戶對其可操作的各個虛擬機(jī)的當(dāng)前使用額度之和。
[0008]在一個實(shí)施例中,在所述監(jiān)控步驟中,若檢測到所述虛擬機(jī)處于活動狀態(tài),則監(jiān)控其內(nèi)存使用量,若檢測到所述虛擬機(jī)處于停止?fàn)顟B(tài),則停止監(jiān)控并結(jié)束操作。[0009]在一個實(shí)施例中,所述內(nèi)存動態(tài)調(diào)整策略包括動態(tài)調(diào)整程序執(zhí)行間隔時(shí)間,進(jìn)一步在經(jīng)過所述動態(tài)調(diào)整程序執(zhí)行間隔時(shí)間后,返回所述監(jiān)控步驟。
[0010]在一個實(shí)施例中,所述內(nèi)存調(diào)整策略還包括動態(tài)調(diào)整的優(yōu)先級以及內(nèi)存調(diào)整幅值,在所述動態(tài)調(diào)整步驟中,進(jìn)一步根據(jù)所述優(yōu)先級對多個需要調(diào)整內(nèi)存的虛擬機(jī)依次按照所述內(nèi)存調(diào)整幅值進(jìn)行線上動態(tài)調(diào)整內(nèi)存。
[0011]在一個實(shí)施例中,通過Iibvirt虛擬化庫提供的接口或通過調(diào)用virsh命令對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)調(diào)整。
[0012]在一個實(shí)施例中,在所述制定步驟中,制定所述內(nèi)存動態(tài)調(diào)整策略的備份策略,其中,基于所述虛擬機(jī)的初始內(nèi)存值的百分比設(shè)置所述備份策略中虛擬機(jī)內(nèi)存使用量的上限閾值與下限閾值。
[0013]根據(jù)本發(fā)明的另一方面,還提供了一種云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的系統(tǒng),包括:制定模塊,其用于制定內(nèi)存動態(tài)調(diào)整策略,該策略包括虛擬機(jī)內(nèi)存使用量的閾值,其中,所述內(nèi)存使用量的閾值包括上限閾值和下限閾值;監(jiān)控模塊,其用于實(shí)時(shí)監(jiān)控所述虛擬機(jī)的運(yùn)行狀態(tài),并獲取所述虛擬機(jī)的內(nèi)存使用量;判斷模塊,其用于判斷所述內(nèi)存使用量是否大于所述內(nèi)存動態(tài)調(diào)整策略中的上限閾值或小于所述內(nèi)存動態(tài)調(diào)整策略中的下限閾值;動態(tài)調(diào)整模塊,在所述內(nèi)存使用量大于所述上限閾值時(shí),其對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展;在所述內(nèi)存使用量小于所述下限閾值時(shí),其則對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)縮減。
[0014]在一個實(shí)施例中,所述動態(tài)調(diào)整模塊還用于當(dāng)所述虛擬機(jī)的內(nèi)存使用量大于所述上限閾值時(shí),進(jìn)一步判斷向所述虛擬機(jī)進(jìn)行內(nèi)存擴(kuò)展后虛擬機(jī)用戶的資源使用配額是否超出該用戶的最大資源使用配額,其中,若所述虛擬機(jī)用戶的資源使用配額超出該用戶的最大資源使用配額,則取消這次操作,否則,對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展,所述虛擬機(jī)用戶的資源使用配額為用戶對其可操作的各個虛擬機(jī)的當(dāng)前使用額度之和。
[0015]在一個實(shí)施例中,所述內(nèi)存動態(tài)調(diào)整策略包括動態(tài)調(diào)整的優(yōu)先級以及內(nèi)存調(diào)整幅值,所述動態(tài)調(diào)整模塊根據(jù)所述優(yōu)先級對多個需要調(diào)整內(nèi)存的虛擬機(jī)按照所述內(nèi)存調(diào)整幅值依次進(jìn)行線上動態(tài)調(diào)整內(nèi)存。
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明的一個或多個實(shí)施例可以具有如下優(yōu)點(diǎn):
[0017]本發(fā)明可以動態(tài)地調(diào)整虛擬機(jī)的內(nèi)存,通過云管理平臺,根據(jù)不同應(yīng)用的需求,可以有效地在不需要關(guān)閉虛擬機(jī)的情況下對虛擬機(jī)的內(nèi)存進(jìn)行動態(tài)地?cái)U(kuò)展或縮減,保證了運(yùn)行在虛擬機(jī)內(nèi)核心業(yè)務(wù)能夠不間斷持續(xù)地運(yùn)行,并減少了不必要的內(nèi)存浪費(fèi)。
[0018]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
【專利附圖】
【附圖說明】
[0019]附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例共同用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0020]圖1是根據(jù)本發(fā)明一示例的云計(jì)算環(huán)境系統(tǒng)結(jié)構(gòu)的示意圖;
[0021]圖2是根據(jù)本發(fā)明一實(shí)施例的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的系統(tǒng)的框圖;[0022]圖3是根據(jù)本發(fā)明另一實(shí)施例的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法的流程圖。
【具體實(shí)施方式】
[0023]以下將結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過程能充分理解并據(jù)以實(shí)施。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個實(shí)施例以及各實(shí)施例中的各個特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0024]另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0025]圖1示出了根據(jù)本發(fā)明一示例的云計(jì)算環(huán)境系統(tǒng)結(jié)構(gòu)的示意圖。該系統(tǒng)主要包含云管理平臺A,其主要提供云計(jì)算基礎(chǔ)架構(gòu)各種資源(包括計(jì)算、內(nèi)存、網(wǎng)絡(luò)、映像、虛擬機(jī)等)的抽象聚合、計(jì)量、管理、調(diào)度、監(jiān)控以及統(tǒng)計(jì)等功能。
[0026]如圖1所示,云管理平臺A管理多個計(jì)算節(jié)點(diǎn),每一個計(jì)算節(jié)點(diǎn)都是一個虛擬化服務(wù)器。該服務(wù)器利用x86硬件虛擬化技術(shù),提供基于KVM技術(shù)的虛擬機(jī)監(jiān)控器平臺,并且提供虛擬機(jī)運(yùn)行狀態(tài)監(jiān)控和管理、負(fù)載均衡管理等基本服務(wù)等。每個虛擬化服務(wù)器上運(yùn)行著多個虛擬機(jī)(也稱為VM),不同虛擬機(jī)可以屬于不同的用戶。
[0027]在整個云計(jì)算環(huán)境系統(tǒng)中,示例性地將用戶需要使用的虛擬機(jī)部署到計(jì)算節(jié)點(diǎn)2上,并且在計(jì)算節(jié)點(diǎn)2上運(yùn)行多個虛擬機(jī)VM1、VM2、...、VMn。
[0028]下面結(jié)合圖2以動態(tài)調(diào)整虛擬機(jī)VMl為例來說明根據(jù)本發(fā)明實(shí)施例的云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的系統(tǒng)。
[0029]在本實(shí)施例中主要是利用云管理平臺A進(jìn)行虛擬機(jī)內(nèi)存調(diào)整,而在其內(nèi)部設(shè)定了一動態(tài)調(diào)整虛擬機(jī)內(nèi)存的系統(tǒng)200。
[0030]如圖2所示,這個動態(tài)調(diào)整虛擬機(jī)內(nèi)存系統(tǒng)200主要包括制定模塊20、監(jiān)控模塊21、判斷模塊22以及動態(tài)調(diào)整模塊23。
[0031]其中,制定模塊20用于制定內(nèi)存動態(tài)調(diào)整策略,該策略包括虛擬機(jī)內(nèi)存使用量的閾值,其中,內(nèi)存使用量的閾值包括上限閾值和下限閾值。在內(nèi)存動態(tài)調(diào)整策略中優(yōu)選地包括虛擬機(jī)內(nèi)存動態(tài)調(diào)整程序執(zhí)行間隔時(shí)間、動態(tài)調(diào)整的優(yōu)先級以及內(nèi)存調(diào)整幅值。當(dāng)然還可以包括其他的參數(shù)內(nèi)容。
[0032]需要說明的是,由于用戶創(chuàng)建虛擬機(jī)后,會將某些應(yīng)用程序部署到虛擬機(jī),而這些應(yīng)用程序會占用虛擬機(jī)的較多內(nèi)存,則會涉及到在運(yùn)行這些程序時(shí),需要對虛擬機(jī)內(nèi)存進(jìn)行調(diào)整。通過實(shí)現(xiàn)指定內(nèi)存動態(tài)調(diào)整策略,能夠?yàn)楹竺娴膬?nèi)存調(diào)整指導(dǎo)相應(yīng)的方向。
[0033]上述的內(nèi)存動態(tài)調(diào)整策略可以是針對設(shè)置某個計(jì)算節(jié)點(diǎn)的所有虛擬機(jī)。
[0034]另外,還可以根據(jù)用戶自身的需求以及所擁有的硬件條件為其所操作的某一個虛擬機(jī)制定內(nèi)存調(diào)整策略的備份策略。
[0035]在內(nèi)存動態(tài)調(diào)整策略或備份策略中,可以基于虛擬機(jī)的初始內(nèi)存值的百分比設(shè)置備份策略中虛擬機(jī)內(nèi)存使用量的上限閾值與下限閾值。例如,上限閾值優(yōu)選設(shè)定為虛擬機(jī)的初始內(nèi)存值的70%?80%,下限閾值設(shè)定為虛擬機(jī)的初始內(nèi)存值的20%?30%。這里所說的內(nèi)存初始值為虛擬機(jī)初始時(shí)分配給其的內(nèi)存大小。[0036]對于監(jiān)控模塊21來說,其用于實(shí)時(shí)監(jiān)控虛擬機(jī)VMl的運(yùn)行狀態(tài),并獲取虛擬機(jī)VMl的內(nèi)存使用量。
[0037]具體地,該模塊21如果監(jiān)控到虛擬機(jī)VMl的狀態(tài)為停止,則停止監(jiān)控虛擬機(jī)VMl,進(jìn)而結(jié)束動態(tài)調(diào)整內(nèi)存。如果監(jiān)控到虛擬機(jī)VMl的狀態(tài)為活動,則監(jiān)控其內(nèi)存使用量。
[0038]需要說明的是,該監(jiān)控模塊21是通過運(yùn)行虛擬機(jī)VMl的虛擬化服務(wù)器對虛擬機(jī)VMl的監(jiān)控進(jìn)而得到關(guān)于該虛擬機(jī)VMl的內(nèi)存使用量,然后將得到的內(nèi)存使用量發(fā)送至與之連接的判斷模塊22進(jìn)行下一步的操作。
[0039]接收到內(nèi)存使用量的判斷模塊22判斷該使用量是否大于之前制定的內(nèi)存動態(tài)調(diào)整策略中的上限閾值或小于內(nèi)存動態(tài)調(diào)整策略中的下限閾值。在所得到的結(jié)果為是時(shí),則說明當(dāng)前虛擬機(jī)VMl的內(nèi)存使用效率是較低的,而非最優(yōu)的,那么則需要進(jìn)一步的內(nèi)存調(diào)整操作。
[0040]因此,動態(tài)調(diào)整模塊23在內(nèi)存使用量大于上限閾值時(shí),對虛擬機(jī)VMl的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展;而在內(nèi)存使用量小于下限閾值時(shí),則對虛擬機(jī)VMl的內(nèi)存進(jìn)行線上動態(tài)縮減。
[0041]另外,當(dāng)虛擬機(jī)VMl的內(nèi)存使用量大于上限閾值時(shí),動態(tài)調(diào)整模塊23還用于判斷向虛擬機(jī)VMl進(jìn)行內(nèi)存調(diào)整后虛擬機(jī)用戶的資源使用配額是否超出該用戶的最大資源使用配額。若虛擬機(jī)用戶的資源使用配額超出該用戶的最大資源使用配額,則取消這次操作,否則,對虛擬機(jī)VMl的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展。這里所說的資源使用配額為用戶對其可操作的各個虛擬機(jī)的使用額度之和。
[0042]在對虛擬機(jī)進(jìn)行內(nèi)存動態(tài)調(diào)整時(shí),該動態(tài)調(diào)整模塊23通過Iibvirt虛擬化庫提供的接口對虛擬機(jī)VMl進(jìn)行線上內(nèi)存動態(tài)調(diào)整操作,也可以通過調(diào)用virsh命令對虛擬機(jī)VMl進(jìn)行線上內(nèi)存動態(tài)調(diào)整操作。
[0043]另外,當(dāng)服務(wù)器中運(yùn)行多個虛擬機(jī)時(shí),該動態(tài)調(diào)整模塊23還會根據(jù)之前設(shè)定的內(nèi)存動態(tài)調(diào)整策略中的動態(tài)調(diào)整優(yōu)先級來對多個需要調(diào)整內(nèi)存的虛擬機(jī)依次按照內(nèi)存調(diào)整幅值進(jìn)行動態(tài)調(diào)整內(nèi)存。
[0044]值的注意的是,在進(jìn)行內(nèi)存動態(tài)調(diào)整過程中,是線上進(jìn)行調(diào)整,即在不需要關(guān)閉虛擬機(jī)的情況進(jìn)行內(nèi)存調(diào)整,這樣能夠運(yùn)行關(guān)鍵應(yīng)用程序的同時(shí)進(jìn)行內(nèi)存調(diào)整,增強(qiáng)用戶體驗(yàn)。
[0045]而且,在經(jīng)過動態(tài)調(diào)整策略中的動態(tài)調(diào)整程序執(zhí)行間隔時(shí)間后,將重新執(zhí)行監(jiān)控模塊21、判斷模塊22和動態(tài)調(diào)整模塊23進(jìn)行實(shí)時(shí)虛擬機(jī)內(nèi)存調(diào)整操作。
[0046]從另一觀點(diǎn)來看,本發(fā)明還提出一種動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法。以下即搭配上述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存系統(tǒng)200,說明內(nèi)存動態(tài)調(diào)整的各步驟。
[0047]圖3是根據(jù)本發(fā)明另一實(shí)施例的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法的流程圖,請同時(shí)參照圖2和圖3,首先,如步驟S310所示,在創(chuàng)建虛擬機(jī)后,制定模塊20制定內(nèi)存動態(tài)調(diào)整策略,該策略包括虛擬機(jī)內(nèi)存使用量的閾值,其中,該內(nèi)存使用量的閾值包括上限閾值和下限閾值。詳細(xì)地說,就是給后面進(jìn)行虛擬機(jī)動態(tài)調(diào)整提供指導(dǎo)策略。
[0048]如上面所述,該內(nèi)存動態(tài)調(diào)整策略包括動態(tài)調(diào)整程序執(zhí)行間隔時(shí)間、內(nèi)存調(diào)整幅值以及動態(tài)調(diào)整的優(yōu)先級。
[0049]接著,在步驟S320中,監(jiān)控模塊21實(shí)時(shí)監(jiān)控虛擬機(jī)的運(yùn)行狀態(tài),并獲取處于活動狀態(tài)的虛擬機(jī)的內(nèi)存使用量。若監(jiān)控到虛擬機(jī)處于停止?fàn)顟B(tài),則停止監(jiān)控虛擬機(jī),進(jìn)而結(jié)束動態(tài)調(diào)整內(nèi)存。
[0050]然后,如步驟S330所示,判斷模塊22判斷內(nèi)存使用量是否大于內(nèi)存動態(tài)調(diào)整策略中的上限閾值或小于內(nèi)存動態(tài)調(diào)整策略中的下限閾值。在判斷出內(nèi)存使用量小于下限閾值時(shí),則在步驟S350中,動態(tài)調(diào)整模塊23對虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)縮減。
[0051]在所獲取的內(nèi)存使用量大于上限閾值時(shí),在步驟S340中,動態(tài)調(diào)整模塊23進(jìn)一步判斷進(jìn)行內(nèi)存擴(kuò)展后的虛擬機(jī)VMl用戶的資源使用配額是否超出該用戶的最大資源使用配額。若虛擬機(jī)VMl用戶的資源使用配額超出該用戶的最大資源使用配額,則取消這次操作,否則,則對虛擬機(jī)VMl的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展。這里所說的資源使用配額是指用戶對其可操作的各個虛擬機(jī)的使用額度之和。
[0052]在經(jīng)過動態(tài)調(diào)整程序執(zhí)行間隔時(shí)間后,返回步驟S320。
[0053]綜上所述,本實(shí)施例通過云管理平臺,可以動態(tài)地調(diào)整虛擬機(jī)的內(nèi)存,根據(jù)不同應(yīng)用的需求,可以有效地在不需要關(guān)閉虛擬機(jī)的情況下對虛擬機(jī)的內(nèi)存進(jìn)行動態(tài)地?cái)U(kuò)展或縮減,保證了運(yùn)行在虛擬機(jī)內(nèi)核心業(yè)務(wù)能夠不間斷持續(xù)地運(yùn)行,并減少了不必要的內(nèi)存浪費(fèi)。
[0054]雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬【技術(shù)領(lǐng)域】內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【權(quán)利要求】
1.一種云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,包括:制定步驟,制定內(nèi)存動態(tài)調(diào)整策略,該策略包括虛擬機(jī)內(nèi)存使用量的閾值,其中,所述內(nèi)存使用量的閾值包括上限閾值和下限閾值;監(jiān)控步驟,實(shí)時(shí)監(jiān)控所述虛擬機(jī)的運(yùn)行狀態(tài),并獲取所述虛擬機(jī)的內(nèi)存使用量;判斷步驟,判斷所述內(nèi)存使用量是否大于所述內(nèi)存動態(tài)調(diào)整策略中的上限閾值或小于所述內(nèi)存動態(tài)調(diào)整策略中的下限閾值;動態(tài)調(diào)整步驟,若所述內(nèi)存使用量大于所述上限閾值,則對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展;若所述內(nèi)存使用量小于所述下限閾值,則對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)縮減。
2.根據(jù)權(quán)利要求1所述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,其特征在于,所述動態(tài)調(diào)整步驟進(jìn)一步包括: 當(dāng)所述虛擬機(jī)的內(nèi)存使用量大于所述上限閾值時(shí),進(jìn)一步判斷向所述虛擬機(jī)進(jìn)行內(nèi)存擴(kuò)展后虛擬機(jī)用戶的資源使用配額是否超出該用戶的最大資源使用配額,其中,若所述虛擬機(jī)用戶的資源使用配額超出該用戶的最大資源使用配額,則取消這次操作,否則,對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展,所述虛擬機(jī)用戶的資源使用配額為用戶對其可操作的各個虛擬機(jī)的當(dāng)前使用額度之和。
3.根據(jù)權(quán)利要求1所述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,其特征在于,在所述監(jiān)控步驟中,若檢測到所述虛擬機(jī)處于活動狀態(tài),則監(jiān)控其內(nèi)存使用量,若檢測到所述虛擬機(jī)處于停止?fàn)顟B(tài),則停止監(jiān)控并結(jié)束操作。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,其特征在于,所述內(nèi)存動態(tài)調(diào)整策略包括動態(tài)調(diào)整程序執(zhí)行間隔時(shí)間,進(jìn)一步在經(jīng)過所述動態(tài)調(diào)整程序執(zhí)行間隔時(shí)間后,返回所述監(jiān)控步驟。
5.根據(jù)權(quán)利要求4所述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,其特征在于,所述內(nèi)存調(diào)整策略還包括動態(tài)調(diào)整的優(yōu)先級以及內(nèi)存調(diào)整幅值,在所述動態(tài)調(diào)整步驟中,進(jìn)一步根據(jù)所述優(yōu)先級對多個需要調(diào)整內(nèi)存的虛擬機(jī)依次按照所述內(nèi)存調(diào)整幅值進(jìn)行線上動態(tài)調(diào)整內(nèi)存。
6.根據(jù)權(quán)利要求1所述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,其特征在于,通過Iibvirt虛擬化庫提供的接口或通過調(diào)用virsh命令對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)調(diào)整。
7.根據(jù)權(quán)利要求1所述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的方法,其特征在于,在所述制定步驟中,制定所述內(nèi)存動態(tài)調(diào)整策略的備份策略,其中,基于所述虛擬機(jī)的初始內(nèi)存值的百分比設(shè)置所述備份策略中虛擬機(jī)內(nèi)存使用量的上限閾值與下限閾值。
8.—種云計(jì)算環(huán)境中動態(tài)調(diào)整虛擬機(jī)內(nèi)存的系統(tǒng),包括:制定模塊,其用于制定內(nèi)存動態(tài)調(diào)整策略,該策略包括虛擬機(jī)內(nèi)存使用量的閾值,其中,所述內(nèi)存使用量的閾值包括上限閾值和下限閾值;監(jiān)控模塊,其用于實(shí)時(shí)監(jiān)控所述虛擬機(jī)的運(yùn)行狀態(tài),并獲取所述虛擬機(jī)的內(nèi)存使用判斷模塊,其用于判斷所述內(nèi)存使用量是否大于所述內(nèi)存動態(tài)調(diào)整策略中的上限閾值或小于所述內(nèi)存動態(tài)調(diào)整策略中的下限閾值;動態(tài)調(diào)整模塊,在所述內(nèi)存使用量大于所述上限閾值時(shí),其對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展;在所述內(nèi)存使用量小于所述下限閾值時(shí),其則對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)縮減。
9.根據(jù)權(quán)利要求8所述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的系統(tǒng),其特征在于,所述動態(tài)調(diào)整模塊還用于當(dāng)所述虛擬機(jī)的內(nèi)存使用量大于所述上限閾值時(shí),進(jìn)一步判斷向所述虛擬機(jī)進(jìn)行內(nèi)存擴(kuò)展后虛擬機(jī)用戶的資源使用配額是否超出該用戶的最大資源使用配額,其中,若所述虛擬機(jī)用戶的資源使用配額超出該用戶的最大資源使用配額,則取消這次操作,否則,對所述虛擬機(jī)的內(nèi)存進(jìn)行線上動態(tài)擴(kuò)展,所述虛擬機(jī)用戶的資源使用配額為用戶對其可操作的各個虛擬機(jī)的當(dāng)前使用額度之和。
10.根據(jù)權(quán)利要求8所述的動態(tài)調(diào)整虛擬機(jī)內(nèi)存的系統(tǒng),其特征在于,所述內(nèi)存動態(tài)調(diào)整策略包括動態(tài)調(diào)整的優(yōu)先級以及內(nèi)存調(diào)整幅值,所述動態(tài)調(diào)整模塊根據(jù)所述優(yōu)先級對多個需要調(diào)整內(nèi)存的虛擬機(jī)按照所述內(nèi)存調(diào)整幅值依次進(jìn)行線上動態(tài)調(diào)整內(nèi)存。`
【文檔編號】G06F9/455GK103605613SQ201310594574
【公開日】2014年2月26日 申請日期:2013年11月21日 優(yōu)先權(quán)日:2013年11月21日
【發(fā)明者】蔣濤 申請人:中標(biāo)軟件有限公司