一種vm資源調(diào)度方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種VM資源調(diào)度方法,裝置及系統(tǒng),VM資源調(diào)度方法包括:當(dāng)服務(wù)設(shè)備確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,所述服務(wù)設(shè)備獲取所述應(yīng)用的應(yīng)用類型;所述服務(wù)設(shè)備根據(jù)所述應(yīng)用的最小組成單位與應(yīng)用類型的對應(yīng)關(guān)系,確定所述VM伸縮操作的VM個數(shù);按照確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作。因此,本發(fā)明提高了VM伸縮操作的合理性。
【專利說明】—種VM資源調(diào)度方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子【技術(shù)領(lǐng)域】,尤其涉及一種VM資源調(diào)度方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]作為自互聯(lián)網(wǎng)革命以來IT產(chǎn)業(yè)最深刻的變革,云計算真正實現(xiàn)了服務(wù)的透明化。VM (Virtual Machine,虛擬機)資源動態(tài)調(diào)度是指根據(jù)對虛擬機資源的使用情況對VM進(jìn)行伸縮,已適應(yīng)應(yīng)用對VM資源的需求。
[0003]VM伸縮操作具有兩種方式,一種VM伸縮操作為修改虛擬機規(guī)格,比如修改CPU核數(shù)、內(nèi)存大小等;另一種VM伸縮操作為調(diào)整虛擬機個數(shù),具體為增加或減少為應(yīng)用服務(wù)的虛擬機個數(shù)?,F(xiàn)有技術(shù)中,虛擬化管理系統(tǒng)獲取應(yīng)用對虛擬機的使用信息,與預(yù)設(shè)伸縮規(guī)則進(jìn)行匹配,只要與預(yù)設(shè)伸縮規(guī)則匹配,就執(zhí)行伸縮操作,從而VM伸縮操作能夠滿足應(yīng)用的VM資源需求。其中,伸縮操作包括對VM進(jìn)行伸展(如,增加VM的個數(shù))或收縮(如,較少VM的個數(shù))。但是,現(xiàn)有調(diào)整虛擬機個數(shù)的VM伸縮操作僅從資源需求層面考慮,在需要進(jìn)行伸縮時通過統(tǒng)一的VM伸縮操作方式應(yīng)對所有伸縮情況,而缺少對應(yīng)用的考慮,比如,存在一個應(yīng)用A,在初始形態(tài)下由兩組雙機通過LB為應(yīng)用A服務(wù),其中,一組雙機包括一個主VM和一個為備VM,雙機一由主VMl、備VM2組成,雙機二由主VM3、備VM4組成。當(dāng)主VMl或主VM3異常時,會對應(yīng)轉(zhuǎn)變?yōu)閂M2或VM4接管應(yīng)用A中的業(yè)務(wù),當(dāng)應(yīng)用A的業(yè)務(wù)繁忙就需要進(jìn)行VM伸展,虛擬化管理系統(tǒng)會以統(tǒng)一的VM伸縮操作方式進(jìn)行處理(統(tǒng)一的處理方式即是增加一個VM,這里描述為VM5)。
[0004]由此看出,由于虛擬化管理系統(tǒng)沒有考慮虛擬機之上的應(yīng)用,因此虛擬化管理系統(tǒng)在進(jìn)行伸縮操作時會降低應(yīng)用的可靠性,例如在應(yīng)用類型為雙機時只創(chuàng)建一個VM5為應(yīng)用服務(wù),由于VM5沒有對應(yīng)的備機,則在VM5異常時,VM5上的業(yè)務(wù)不能被接管,因此,通過上述方式實現(xiàn)的VM伸縮操作會導(dǎo)致應(yīng)用的可靠性降低,造成了 VM伸縮操作的不合理。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種VM資源調(diào)度方法、裝置及系統(tǒng),以提高VM伸展或收縮操作過程中的合理性。
[0006]第一方面,本發(fā)明實施例提供了一種VM資源調(diào)度方法,包括:
[0007]當(dāng)服務(wù)設(shè)備確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,所述服務(wù)設(shè)備獲取所述應(yīng)用的應(yīng)用類型,其中,所述VM伸縮操作包括對服務(wù)所述應(yīng)用的VM進(jìn)行伸展或收縮;
[0008]所述服務(wù)設(shè)備根據(jù)所述應(yīng)用的最小組成單位與應(yīng)用類型的對應(yīng)關(guān)系,確定所述VM伸縮操作的VM個數(shù),其中,所述最小組成單位為服務(wù)所述應(yīng)用所需的最少VM個數(shù);
[0009]所述服務(wù)設(shè)備按照確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作。
[0010]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,在所述VM伸縮操作具體為對服務(wù)所述應(yīng)用的VM進(jìn)行伸展時,所述服務(wù)設(shè)備按照確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作具體包括:
[0011 ] 所述服務(wù)設(shè)備控制虛擬化管理設(shè)備按照確定出的所述VM個數(shù)創(chuàng)建VM以及啟動創(chuàng)建的VM中的至少一個VM ;
[0012]所述服務(wù)設(shè)備在所述虛擬化管理設(shè)備執(zhí)行完創(chuàng)建和啟動操作后向負(fù)載均衡器LB注冊已經(jīng)啟動的所述至少一個VM。
[0013]結(jié)合第一方面,在第二種可能的實現(xiàn)方式中,在所述VM伸縮操作具體為對服務(wù)所述應(yīng)用的VM進(jìn)行收縮時,所述服務(wù)設(shè)備按照確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作具體包括:
[0014]所述服務(wù)設(shè)備按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM ;
[0015]所述服務(wù)設(shè)備將所述要刪除的VM中已經(jīng)注冊的VM向所述LB取消注冊;
[0016]所述服務(wù)設(shè)備在取消注冊成功后控制所述虛擬化管理系統(tǒng)刪除所述要刪除的VM。
[0017]結(jié)合第一方面或第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM具體包括:
[0018]當(dāng)確定出的所述VM個數(shù)為I時,所述服務(wù)設(shè)備直接從注冊在LB的VM中選擇一個VM作為要刪除的VM;
[0019]當(dāng)確定出的所述VM個數(shù)大于I時,所述服務(wù)設(shè)備從注冊在LB的VM中選擇出一個VM,并根據(jù)選擇出的VM的配置信息找出與所述選擇出的VM相關(guān)聯(lián)的VM ;所述服務(wù)設(shè)備將選擇出的VM以及與所述VM相關(guān)聯(lián)的VM —并作為要刪除的VM。
[0020]第二方面,本發(fā)明提供了一種裝置,包括:
[0021]第一獲取單元,用于當(dāng)確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,獲取所述應(yīng)用的應(yīng)用類型,其中,所述VM伸縮操作包括對服務(wù)所述應(yīng)用的VM進(jìn)行伸展或收縮;
[0022]確定單元,用于根據(jù)所述應(yīng)用的最小組成單位與所述第一獲取單元獲取的應(yīng)用類型的對應(yīng)關(guān)系,確定所述VM伸縮操作的VM個數(shù),其中,所述最小組成單位為服務(wù)所述應(yīng)用所需的最少VM個數(shù);
[0023]執(zhí)行單元,用于按照所述確定單元確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作。
[0024]結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述裝置還包括:
[0025]第二獲取單元,用于獲取服務(wù)所述應(yīng)用的VM的使用狀態(tài);
[0026]判斷單元,用于判斷所述VM的使用狀態(tài)是否滿足VM伸縮規(guī)則,若是,則表明所述服務(wù)設(shè)備需要進(jìn)行所述VM伸縮操作,其中,所述VM伸縮規(guī)則預(yù)先配置在所述服務(wù)設(shè)備中。
[0027]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,在所述VM伸縮操作具體為對服務(wù)所述應(yīng)用的VM進(jìn)行伸展時,所述執(zhí)行單元具體用于:
[0028]控制虛擬化管理設(shè)備按照確定出的所述VM個數(shù)創(chuàng)建VM,以及啟動創(chuàng)建的VM中的至少一個VM ;
[0029]在所述虛擬化管理設(shè)備執(zhí)行完創(chuàng)建和啟動操作后向負(fù)載均衡器LB注冊已經(jīng)啟動的所述至少一個VM。
[0030]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,在所述VM伸縮操作具體為對服務(wù)所述應(yīng)用的VM進(jìn)行收縮時,所述執(zhí)行單元具體用于:[0031]按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM ;
[0032]將所述要刪除的VM中已經(jīng)注冊的VM向所述LB取消注冊;
[0033]在取消注冊成功后控制所述虛擬化管理系統(tǒng)刪除所述要刪除的VM。
[0034]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述執(zhí)行單元按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM具體包括:當(dāng)確定出的所述VM個數(shù)為I時,所述執(zhí)行單元直接從注冊在LB的VM中選擇一個VM作為要刪除的VM ;當(dāng)確定出的所述VM個數(shù)大于I時,所述執(zhí)行單元從注冊在LB的VM中選擇出一個VM,并根據(jù)選擇出的VM的配置信息找出與所述選擇出的VM相關(guān)聯(lián)的VM ;將選擇出的VM以及與所述VM相關(guān)聯(lián)的VM —并作為要刪除的VM。
[0035]在本發(fā)明實施例中當(dāng)服務(wù)設(shè)備確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,服務(wù)設(shè)備獲取應(yīng)用的應(yīng)用類型,其中,VM伸縮操作包括對服務(wù)應(yīng)用的VM進(jìn)行伸展或收縮;服務(wù)設(shè)備根據(jù)應(yīng)用的最小組成單位與應(yīng)用類型的對應(yīng)關(guān)系,確定VM伸縮操作的VM個數(shù),其中,最小組成單位為服務(wù)應(yīng)用所需的最少VM個數(shù);服務(wù)設(shè)備按照確定出的VM個數(shù)執(zhí)行VM伸縮操作,因此,在VM伸縮操作時增加了對應(yīng)用類型的考慮,從而VM伸縮操作時伸展或收縮的VM個數(shù)更合理。
【專利附圖】
【附圖說明】
[0036]圖1為本發(fā)明實施例中遷移綜合判定系統(tǒng)的架構(gòu)圖;
[0037]圖2為本發(fā)明實施例中服務(wù)設(shè)備側(cè)實現(xiàn)VM資源調(diào)度方法的流程圖;
[0038]圖3為本發(fā)明實施例中VM資源調(diào)度方法的總體框架圖;
[0039]圖4為本發(fā)明實施例中裝置的功能框圖;
[0040]圖5為本發(fā)明實施例中服務(wù)設(shè)備的功能框圖。
【具體實施方式】
[0041]為了解決現(xiàn)有技術(shù)中VM伸縮操作會導(dǎo)致應(yīng)用的可靠性降低的問題,本發(fā)明實施例提出了一種VM資源調(diào)度方法、裝置及系統(tǒng)。
[0042]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0043]如圖1所示,圖1為本發(fā)明實施例中綜合遷移判斷系統(tǒng)的架構(gòu)圖,該系統(tǒng)用于實現(xiàn)本發(fā)明實施例提供的虛擬機VM資源調(diào)度方法。其中,該系統(tǒng)包括:服務(wù)設(shè)備110,以及服務(wù)設(shè)備110管理的多個VM120和多個應(yīng)用130,以及在服務(wù)設(shè)備110的控制下對VM進(jìn)行創(chuàng)建、啟動或刪除的虛擬化管理系統(tǒng)140。其中,虛擬化管理系統(tǒng)140可以合設(shè)在服務(wù)設(shè)備110中,也可以是獨立的設(shè)備。
[0044]參考圖2,本發(fā)明實施例提供了虛擬機VM資源調(diào)度方法,應(yīng)用于如圖1所示的綜合遷移系統(tǒng)的服務(wù)設(shè)備110中,圖2為本發(fā)明實施例中VM資源調(diào)度方法的流程圖,下面結(jié)合圖1和圖2對本發(fā)明實施例中的VM資源調(diào)度方法進(jìn)行說明。
[0045]S101、當(dāng)服務(wù)設(shè)備確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,服務(wù)設(shè)備獲取應(yīng)用的應(yīng)用類型,其中,VM伸縮操作包括對服務(wù)應(yīng)用的VM進(jìn)行伸展或收縮。
[0046]在具體實施過程中,通過部署在應(yīng)用上的代理收集應(yīng)用的應(yīng)用信息,收集的應(yīng)用信息包括應(yīng)用的應(yīng)用名稱,應(yīng)用的應(yīng)用類型,應(yīng)用的節(jié)點標(biāo)示,應(yīng)用的關(guān)聯(lián)應(yīng)用,以及應(yīng)用的所屬VM等,其中,應(yīng)用類型包括單機類型,雙機類型,集群類型等,其中,雙機類型節(jié)點標(biāo)示為“Master、Slave”,集群類型的節(jié)點標(biāo)示為“遞增NodelD”。
[0047]由于部署在應(yīng)用上的代理用于收集應(yīng)用的應(yīng)用信息,則服務(wù)設(shè)備通過應(yīng)用的標(biāo)識(比如應(yīng)用的編號,名稱等)查找應(yīng)用的應(yīng)用類型,從而確定出應(yīng)用的應(yīng)用類型為單機類型,雙機類型還是集群類型。
[0048]S102、服務(wù)設(shè)備根據(jù)應(yīng)用的最小組成單位與應(yīng)用類型的對應(yīng)關(guān)系,確定VM伸縮操作的VM個數(shù),其中,最小組成單位為服務(wù)應(yīng)用所需的最少VM個數(shù)。
[0049]具體的,應(yīng)用的最小組成單位與應(yīng)用類型的對應(yīng)關(guān)系可以為:應(yīng)用類型為單機類型時,應(yīng)用的最小組成單位為1,表明VM伸縮操作時為單個VM;應(yīng)用類型為雙機類型時,應(yīng)用的最小組成單位為2,表明VM伸縮操作時最少為2個VM,且VM伸縮操作的2個VM是主備機關(guān)系;應(yīng)用類型為集群類型時,應(yīng)用的最小組成單位為1,表明VM伸縮操作時為單個VM,新增加的VM之間不存在主備機關(guān)系。上面關(guān)于應(yīng)用的最小組成單位與應(yīng)用類型的對應(yīng)關(guān)系僅是舉例,在具體實現(xiàn)時也可根據(jù)應(yīng)用的類型對應(yīng)用的最小組成單位進(jìn)行設(shè)置。
[0050]服務(wù)設(shè)備能夠在獲得應(yīng)用的應(yīng)用類型后,根據(jù)應(yīng)用類型與應(yīng)用的最小組成單位的對應(yīng)關(guān)系確定VM伸縮操作的VM個數(shù),因此VM個數(shù)可能為I個,2個或者其它,而不總是同樣個數(shù)或同樣類型的VM。
[0051 ] 具體的,為了 VM資源能與應(yīng)用需求相適應(yīng),VM伸縮操作可能為對服務(wù)應(yīng)用的VM進(jìn)行伸展,以增加為應(yīng)用服務(wù)的VM個數(shù)來降低業(yè)務(wù)繁忙對VM帶來的壓力,VM伸縮操作也可能為對服務(wù)應(yīng)用的VM進(jìn)行收縮,以減少為應(yīng)用服務(wù)的VM個數(shù)來滿足應(yīng)用的VM資源需求的前提下降低功耗。
[0052]S103、服務(wù)設(shè)備按照確定出的VM個數(shù)執(zhí)行VM伸縮操作。
[0053]可選的,在VM伸縮操作具體為對服務(wù)應(yīng)用的VM進(jìn)行伸展時,S103包括如下流程:
[0054]步驟一:服務(wù)設(shè)備控制虛擬化管理系統(tǒng)按照S102中確定出的VM個數(shù)創(chuàng)建VM,以及啟動創(chuàng)建VM中的至少一個VM ;
[0055]根據(jù)應(yīng)用的應(yīng)用類型不同,步驟一具體處理方式也不相同,下面分別進(jìn)行描述:
[0056]假如應(yīng)用的應(yīng)用類型為雙機類型,則服務(wù)設(shè)備創(chuàng)建一組具有主備機關(guān)系的VM,具體的,一組具備主備機關(guān)系的VM包括一個主VM和一個備VM ;接著,服務(wù)設(shè)備啟動創(chuàng)建的一組VM中的主VM。
[0057]假如應(yīng)用的應(yīng)用類型為單機類型或集群類型,則服務(wù)設(shè)備創(chuàng)建一個VM,接著,服務(wù)設(shè)備啟動創(chuàng)建的一個VM。
[0058]步驟二:服務(wù)設(shè)備在虛擬化管理設(shè)備完成創(chuàng)建和啟動操作后向負(fù)載均衡器LB注冊已經(jīng)啟動的至少一個VM。
[0059]具體來講,在步驟二中,假如虛擬化管理系統(tǒng)創(chuàng)建的一組有主備機關(guān)系的VM,則向LB注冊已經(jīng)啟動的主VM,假如虛擬化管理系統(tǒng)創(chuàng)建的一個或多個不具備主備機關(guān)系的VM,則這次對服務(wù)應(yīng)用的VM進(jìn)行伸展所創(chuàng)建的VM都向LB注冊。
[0060]通過前述S103具體為進(jìn)行VM伸展的描述可以看出,VM伸展中通過添加對應(yīng)用類型的考慮,以應(yīng)用為單位對服務(wù)應(yīng)用的VM進(jìn)行伸展,保證了伸展后VM能可靠的為應(yīng)用服務(wù),提高了伸縮操作的合理性。
[0061]可選的,在VM伸縮操作具體為對服務(wù)應(yīng)用的VM進(jìn)行收縮時,S103包括如下流程:服務(wù)設(shè)備按照確定出的所述VM個數(shù)從服務(wù)應(yīng)用的VM中確定出要刪除的VM ;服務(wù)設(shè)備將要刪除的VM中已經(jīng)注冊的VM向LB取消注冊;服務(wù)設(shè)備在取消注冊成功后控制虛擬化管理系統(tǒng)刪除要刪除的VM。
[0062]其中,按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM具體包括:當(dāng)確定出的VM個數(shù)為I時,服務(wù)設(shè)備直接從注冊在LB的VM中選擇一個VM作為要刪除的VM;當(dāng)確定出的VM個數(shù)大于I時,服務(wù)設(shè)備從注冊在LB的VM中選擇出一個VM,并根據(jù)選擇出的VM的配置信息找出與選擇出的VM相關(guān)聯(lián)的VM ;服務(wù)設(shè)備將選擇出的VM以及與選擇出的VM相關(guān)聯(lián)的VM—并作為要刪除的VM。
[0063]為了能夠避免應(yīng)用所服務(wù)對象繼續(xù)要求進(jìn)行收縮后的VM提供服務(wù),需要將獲取的VM中已經(jīng)注冊的VM向LB取消注冊。具體來講,假如應(yīng)用的應(yīng)用類型為雙機類型,服務(wù)設(shè)備獲取服務(wù)該應(yīng)用的多組VM中的任一組有主備機關(guān)系的VM,將獲取的一組有主備機關(guān)系的VM中已經(jīng)注冊的VM(已經(jīng)注冊的VM可能為主VM,也可能為備VM)向LB取消注冊。假如應(yīng)用的應(yīng)用類型為集群或單機,服務(wù)設(shè)備獲取服務(wù)該應(yīng)用的VM中的任一個VM,并將獲取到的VM向LB取消注冊。
[0064]通過前述S103具體對服務(wù)應(yīng)用的VM進(jìn)行收縮的描述可以看出,通過添加對應(yīng)用類型的考慮,以應(yīng)用為單位進(jìn)行收縮保證了 VM減少后,剩下的VM仍然能可靠的為應(yīng)用服務(wù),提高了伸縮操作的合理性。
[0065]進(jìn)一步,為了確定應(yīng)用是否需要VM伸縮操作以適應(yīng)應(yīng)用對VM資源的需求,本發(fā)明實施例還提供如下流程:
[0066]服務(wù)設(shè)備獲取服務(wù)應(yīng)用的VM的使用狀態(tài),然后,服務(wù)設(shè)備判斷VM的使用狀態(tài)是否滿足VM伸縮規(guī)則,若是,則表明服務(wù)設(shè)備需要進(jìn)行VM伸縮操作。
[0067]具體來講,服務(wù)設(shè)備從啟動開始,服務(wù)設(shè)備獲取VM資源信息,再從VM資源中獲取服務(wù)應(yīng)用的VM的使用狀態(tài),比如,獲取的服務(wù)應(yīng)用A的VMl和VM2,則從VMl和VM2中獲取應(yīng)用A對VMl的VM2使用狀態(tài)。具體的,VM的使用狀態(tài)具體可以為應(yīng)用的CPU使用率,也可以為應(yīng)用的當(dāng)前最大連接數(shù)。
[0068]具體來講,VM伸縮規(guī)則預(yù)先配置在服務(wù)設(shè)備中,舉例來講,比如配置的VM伸縮規(guī)則可以為=CPU使用率大于等于80%時對服務(wù)應(yīng)用的VM進(jìn)行伸展,CPU使用率小于等于20%對服務(wù)應(yīng)用的VM進(jìn)行收縮。又比如,配置的VM伸縮規(guī)則可以為當(dāng)前最大連接數(shù)大于等于500時對服務(wù)應(yīng)用的VM進(jìn)行伸展,當(dāng)前最大連接數(shù)小于等于255時對服務(wù)應(yīng)用的VM進(jìn)行收縮。當(dāng)然,本發(fā)明實施例不對VM伸縮規(guī)則中的數(shù)值進(jìn)行限制,在具體實施過程中根據(jù)實際VM資源調(diào)度需求進(jìn)行設(shè)置。
[0069]進(jìn)一步,判斷VM使用狀態(tài)是否滿足VM伸縮規(guī)則,具體有三種判斷結(jié)果:第一種:VM使用狀態(tài)滿足VM伸縮規(guī)則中進(jìn)行伸展的條件;第二種:VM使用狀態(tài)滿足VM伸縮規(guī)則中進(jìn)行收縮的條件;第三種:VM使用狀態(tài)不滿足VM伸縮規(guī)則。下面針對可能存在的三種判斷結(jié)果,參考圖3對本發(fā)明實施例中的服務(wù)設(shè)備實現(xiàn)VM資源調(diào)度的完整流程進(jìn)行描述。
[0070]SlO:應(yīng)用啟動則服務(wù)設(shè)備開始VM伸縮操作準(zhǔn)備;[0071 ] S20:服務(wù)設(shè)備獲取VM資源信息,通過VM資源上部署的代理獲取服務(wù)應(yīng)用的VM的使用狀態(tài);
[0072]S30:服務(wù)設(shè)備判斷VM的使用狀態(tài)是否滿足VM伸縮規(guī)則,若VM的使用狀態(tài)滿足VM伸縮規(guī)則中進(jìn)行伸展的條件,則轉(zhuǎn)S40,并依次執(zhí)行S40?SlOO ;若VM使用狀態(tài)滿足VM伸縮規(guī)則中進(jìn)行收縮的條件,則轉(zhuǎn)S120,并依次執(zhí)行S120?S170 ;若VM使用狀態(tài)不滿足VM伸縮規(guī)則,則本周期不進(jìn)行任何VM伸縮操作,并轉(zhuǎn)到S110。
[0073]S40:服務(wù)設(shè)備獲取應(yīng)用類型;
[0074]S50:服務(wù)設(shè)備根據(jù)應(yīng)用類型與應(yīng)用的最小組成單位的對應(yīng)關(guān)系,確定S40獲取到的應(yīng)用類型所對應(yīng)的最小組成單位;
[0075]S60:服務(wù)設(shè)備從S50中獲取的最小組成單位的數(shù)值作為進(jìn)行伸展的VM個數(shù);
[0076]S70:服務(wù)設(shè)備與虛擬化管理系統(tǒng)通訊,以控制虛擬化管理系統(tǒng)創(chuàng)建VM ;
[0077]S80:服務(wù)設(shè)備與虛擬化管理系統(tǒng)通訊,以控制虛擬化管理系統(tǒng)啟動創(chuàng)建的VM ;
[0078]S90:服務(wù)設(shè)備判斷是否完成創(chuàng)建VM和啟動VM的操作,是則執(zhí)行SlOO ;
[0079]SlOO:服務(wù)設(shè)備向LB注冊VM。具體根據(jù)應(yīng)用類型進(jìn)行不同注冊處理,參見前述實施例;
[0080]SllO:本周期VM伸縮操作結(jié)束,等待下次VM伸縮操作;
[0081]S120:服務(wù)設(shè)備獲取應(yīng)用類型;
[0082]S130:服務(wù)設(shè)備根據(jù)應(yīng)用類型與應(yīng)用的最小組成單位的對應(yīng)關(guān)系,確定S120獲取到的應(yīng)用類型所對應(yīng)的最小組成單位;
[0083]S140:服務(wù)設(shè)備從S130中獲取的最小組成單位的數(shù)值作為進(jìn)行收縮的VM個數(shù),并按照該VM個數(shù)確定出要刪除的VM ;
[0084]S150:服務(wù)設(shè)備向LB取消注冊要刪除的VM中已經(jīng)注冊的VM。具體根據(jù)應(yīng)用類型進(jìn)行不同取消注冊的處理,具體參見前述實施例;
[0085]S160:服務(wù)設(shè)備與虛擬化管理系統(tǒng)通訊,以控制虛擬化管理系統(tǒng)刪除要刪除的VM ;
[0086]S170:服務(wù)設(shè)備判斷是否所有要刪除的VM是否都已經(jīng)刪除,是則轉(zhuǎn)到S110。
[0087]基于同一發(fā)明構(gòu)思,本發(fā)明實施例提供了一種裝置,參考圖4所示,包括:
[0088]第一獲取單元401,用于當(dāng)確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,獲取應(yīng)用的應(yīng)用類型,其中,VM伸縮操作包括對服務(wù)應(yīng)用的VM進(jìn)行伸展或收縮;
[0089]確定單元402,用于根據(jù)應(yīng)用的最小組成單位與第一獲取單元401獲取的應(yīng)用類型的對應(yīng)關(guān)系,確定VM伸縮操作的VM個數(shù),其中,最小組成單位為服務(wù)應(yīng)用所需的最少VM個數(shù);
[0090]執(zhí)行單元403,用于按照確定單元402確定出的VM個數(shù)執(zhí)行VM伸縮操作。
[0091]可選的,裝置還包括:
[0092]第二獲取單元,用于獲取服務(wù)應(yīng)用的VM的使用狀態(tài);
[0093]判斷單元,用于判斷W的使用狀態(tài)是否滿足VM伸縮規(guī)則,若是,則表明服務(wù)設(shè)備需要進(jìn)行VM伸縮操作,其中,VM伸縮規(guī)則預(yù)先配置在服務(wù)設(shè)備中。
[0094]可選的,在VM伸縮操作具體為對服務(wù)應(yīng)用的VM進(jìn)行伸展時,執(zhí)行單元403具體用于:[0095]控制虛擬化管理設(shè)備按照確定出的VM個數(shù)創(chuàng)建VM,以及啟動創(chuàng)建的VM中的至少一個 VM ;
[0096]在控制虛擬化管理設(shè)備執(zhí)行完創(chuàng)建和啟動操作后向負(fù)載均衡器LB注冊已經(jīng)啟動的至少一個VM。
[0097]可選的,在VM伸縮操作具體為對服務(wù)應(yīng)用的VM進(jìn)行收縮時,執(zhí)行單元403具體用于:
[0098]按照確定出的所述VM個數(shù)從服務(wù)應(yīng)用的VM中確定出要刪除的VM ;
[0099]將要刪除的VM中已經(jīng)注冊的VM向LB取消注冊;
[0100]在取消注冊成功后控制虛擬化管理系統(tǒng)刪除要刪除的VM。
[0101]圖4所示的裝置可以是方法實施例中的服務(wù)設(shè)備,各功能的具體實現(xiàn)可參考方法實施例部分,這里不再贅述。
[0102]本發(fā)明實施例還提供了服務(wù)設(shè)備的硬件結(jié)構(gòu)示意圖,參考圖5所示,服務(wù)設(shè)備包括存儲器501,至少一個處理器502,通信總線503,以及至少一個通信接口 504。
[0103]其中,通信總線503用于實現(xiàn)上述組件之間的連接并通信,通信接口 504用于與外部設(shè)備連接并通信。
[0104]存儲器501,用于存儲程序代碼;
[0105]處理器502,用于從存儲器501中獲取所述程序代碼,以執(zhí)行以下處理:確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,獲取應(yīng)用的應(yīng)用類型,其中,VM伸縮操作包括對服務(wù)應(yīng)用的VM進(jìn)行伸展或收縮;根據(jù)應(yīng)用的最小組成單位與應(yīng)用類型的對應(yīng)關(guān)系,確定VM伸縮操作的VM個數(shù),其中,最小組成單位為服務(wù)應(yīng)用所需的最少VM個數(shù);按照確定出的VM個數(shù)執(zhí)行VM伸縮操作。
[0106]可選的,處理器502,還用于:
[0107]獲取服務(wù)應(yīng)用的VM的使用狀態(tài);
[0108]判斷VM的使用狀態(tài)是否滿足VM伸縮規(guī)則,若是,則表明服務(wù)設(shè)備需要進(jìn)行VM伸縮操作,其中,VM伸縮規(guī)則預(yù)先配置在服務(wù)設(shè)備中。
[0109]可選的,在VM伸縮操作具體為對服務(wù)應(yīng)用的VM進(jìn)行伸展時,處理器502按照確定出的VM個數(shù)執(zhí)行VM伸縮操作具體包括:
[0110]處理器502控制虛擬化管理設(shè)備按照確定出的VM個數(shù)創(chuàng)建VM以及啟動創(chuàng)建的VM中的至少一個VM ;
[0111]處理器502在虛擬化管理設(shè)備執(zhí)行完創(chuàng)建和啟動操作后向負(fù)載均衡器LB注冊已經(jīng)啟動的至少一個VM。
[0112]可選的,在VM伸縮操作具體為對服務(wù)應(yīng)用的VM進(jìn)行收縮時,處理器502按照確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作具體包括:
[0113]處理器502按照確定出的所述VM個數(shù)從服務(wù)應(yīng)用的VM中確定出要刪除的VM ;
[0114]將要刪除的VM中已經(jīng)注冊的VM向LB取消注冊;
[0115]在取消注冊成功后控制虛擬化管理系統(tǒng)刪除要刪除的VM。
[0116]其中,處理器502按照確定出的VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM具體包括:
[0117]當(dāng)確定出的VM個數(shù)為I時,處理器502直接從注冊在LB的VM中選擇一個VM作為要刪除的VM ;
[0118]當(dāng)確定出的VM個數(shù)大于I時,處理器502從注冊在LB的VM中選擇出一個VM,并根據(jù)選擇出的VM的配置信息找出與選擇出的VM相關(guān)聯(lián)的VM ;處理器502將選擇出的VM以及與選擇出的VM相關(guān)聯(lián)的VM —并作為要刪除的VM。
[0119]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述裝置和服務(wù)設(shè)備的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0120]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的設(shè)備、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上圖4所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,可以僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0121]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0122]另外,圖4所示實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0123]所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory, ROM)、隨機存取存儲器(Random Access Memory, RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0124]盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
[0125]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種虛擬機VM資源調(diào)度方法,其特征在于,包括: 當(dāng)服務(wù)設(shè)備確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,所述服務(wù)設(shè)備獲取所述應(yīng)用的應(yīng)用類型,其中,所述VM伸縮操作包括對服務(wù)所述應(yīng)用的VM進(jìn)行伸展或收縮; 所述服務(wù)設(shè)備根據(jù)所述應(yīng)用的最小組成單位與應(yīng)用類型的對應(yīng)關(guān)系,確定所述VM伸縮操作的VM個數(shù),其中,所述最小組成單位為服務(wù)所述應(yīng)用所需的最少VM個數(shù); 所述服務(wù)設(shè)備按照確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作。
2.如權(quán)利要求1所述的方法,其特征在于,在所述服務(wù)設(shè)備確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作之前,所述方法還包括: 所述服務(wù)設(shè)備獲取服務(wù)所述應(yīng)用的VM的使用狀態(tài); 所述服務(wù)設(shè)備判斷所述VM的使用狀態(tài)是否滿足VM伸縮規(guī)則,若是,則表明所述服務(wù)設(shè)備需要進(jìn)行所述VM伸縮操作,其中,所述VM伸縮規(guī)則預(yù)先配置在所述服務(wù)設(shè)備中。
3.如權(quán)利要求1或2所述的方法,其特征在于,在所述VM伸縮操作具體為對服務(wù)所述應(yīng)用的VM進(jìn)行伸展時,所述服務(wù)設(shè)備按照確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作具體包括: 所述服務(wù)設(shè)備控制虛擬化管理設(shè)備按照確定出的所述VM個數(shù)創(chuàng)建VM以及啟動創(chuàng)建的VM中的至少一個VM ; 所述服務(wù)設(shè)備在所述虛擬化管理設(shè)備執(zhí)行完創(chuàng)建和啟動操作后向負(fù)載均衡器LB注冊已經(jīng)啟動的所述至少一個VM。
4.如權(quán)利要求1或2所述的方法,其特征在于,在所述VM伸縮操作具體為對服務(wù)所述應(yīng)用的VM進(jìn)行收縮時,所述服務(wù)設(shè)備按照確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作具體包括: 所述服務(wù)設(shè)備按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM ; 所述服務(wù)設(shè)備將所述要刪除的VM中已經(jīng)注冊的VM向所述LB取消注冊; 所述服務(wù)設(shè)備在取消注冊成功后控制所述虛擬化管理系統(tǒng)刪除所述要刪除的VM。
5.如權(quán)利要求4所述的方法,其特征在于,所述按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM具體包括: 當(dāng)確定出的所述VM個數(shù)為I時,所述服務(wù)設(shè)備直接從注冊在LB的VM中選擇一個VM作為要刪除的VM; 當(dāng)確定出的所述VM個數(shù)大于I時,所述服務(wù)設(shè)備從注冊在LB的VM中選擇出一個W,并根據(jù)選擇出的VM的配置信息找出與所述選擇出的VM相關(guān)聯(lián)的VM ;所述服務(wù)設(shè)備將選擇出的VM以及與所述選擇出的VM相關(guān)聯(lián)的VM —并作為要刪除的VM。
6.一種裝置,其特征在于,包括: 第一獲取單元,用于當(dāng)確定需要對用于服務(wù)一應(yīng)用的VM個數(shù)進(jìn)行VM伸縮操作時,獲取所述應(yīng)用的應(yīng)用類型,其中,所述VM伸縮操作包括對服務(wù)所述應(yīng)用的VM進(jìn)行伸展或收縮; 確定單元,用于根據(jù)所述應(yīng)用的最小組成單位與所述第一獲取單元獲取的應(yīng)用類型的對應(yīng)關(guān)系,確定所述VM伸縮操作的VM個數(shù),其中,所述最小組成單位為服務(wù)所述應(yīng)用所需的最少VM個數(shù); 執(zhí)行單元,用于按照所述確定單元確定出的所述VM個數(shù)執(zhí)行所述VM伸縮操作。
7.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第二獲取單元,用于獲取服務(wù)所述應(yīng)用的VM的使用狀態(tài); 判斷單元,用于判斷所述VM的使用狀態(tài)是否滿足VM伸縮規(guī)則,若是,則表明所述服務(wù)設(shè)備需要進(jìn)行所述VM伸縮操作,其中,所述VM伸縮規(guī)則預(yù)先配置在所述服務(wù)設(shè)備中。
8.如權(quán)利要求6或7所述的裝置,其特征在于,在所述VM伸縮操作具體為對服務(wù)所述應(yīng)用的VM進(jìn)行伸展時,所述執(zhí)行單元具體用于: 控制虛擬化管理設(shè)備按照確定出的所述VM個數(shù)創(chuàng)建VM以及啟動創(chuàng)建的VM中的至少一個 VM ; 在所述虛擬化管理設(shè)備執(zhí)行完創(chuàng)建和啟動操作后向負(fù)載均衡器LB注冊已經(jīng)啟動的所述至少一個VM。
9.如權(quán)利要求6或7所述的裝置,其特征在于,在所述VM伸縮操作具體為對服務(wù)所述應(yīng)用的VM進(jìn)行收縮時 ,所述執(zhí)行單元具體用于: 按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM ; 將所述要刪除的VM中已經(jīng)注冊的VM向所述LB取消注冊; 在取消注冊成功后控制所述虛擬化管理系統(tǒng)刪除所述要刪除的VM。
10.如權(quán)利要求9所述的裝置,其特征在于,所述執(zhí)行單元按照確定出的所述VM個數(shù)從服務(wù)所述應(yīng)用的VM中確定出要刪除的VM具體包括:當(dāng)確定出的所述VM個數(shù)為I時,所述執(zhí)行單元直接從注冊在LB的VM中選擇一個VM作為要刪除的VM ;當(dāng)確定出的所述VM個數(shù)大于I時,所述執(zhí)行單元從注冊在LB的VM中選擇出一個W,并根據(jù)選擇出的VM的配置信息找出與所述選擇出的VM相關(guān)聯(lián)的VM ;將選擇出的VM以及與所述選擇出VM相關(guān)聯(lián)的VM一并作為要刪除的VM。
11.一種遷移綜合判定系統(tǒng),其特征在于,包括如權(quán)利要求6-10所述的裝置以及虛擬化管理系統(tǒng); 所述虛擬化管理系統(tǒng)用于在所述裝置的控制下對VM進(jìn)行創(chuàng)建、啟動或刪除。
【文檔編號】G06F9/455GK103984602SQ201410213726
【公開日】2014年8月13日 申請日期:2014年5月20日 優(yōu)先權(quán)日:2014年5月20日
【發(fā)明者】鄒韜 申請人:華為技術(shù)有限公司