本發(fā)明涉及云計算技術(shù),尤指一種管理虛擬機(jī)批量遷移的方法和裝置。
背景技術(shù):
在云計算時代,虛擬機(jī)作為數(shù)據(jù)中心資源或服務(wù)的最終載體,其穩(wěn)定性一直是數(shù)據(jù)中心運維或管理人員最為關(guān)注的問題。虛擬機(jī)的高效遷移是衡量數(shù)據(jù)中心穩(wěn)定性和服務(wù)可持續(xù)性的重要指標(biāo)之一。
如何高效的實現(xiàn)虛擬機(jī)的高效、批量遷移,保障其上運行業(yè)務(wù)的穩(wěn)定,也是衡量云計算操作系統(tǒng)功能的重要指標(biāo)。目前業(yè)界的虛擬機(jī)批量遷移方法大多數(shù)只關(guān)注于被遷移虛擬機(jī)與遷移目的主機(jī)之間的資源滿足度,從而不能滿足與業(yè)務(wù)之間的適配,造成遷移操作盲目、低效的問題。因此,如何高效準(zhǔn)確地進(jìn)行虛擬機(jī)批量遷移進(jìn)行管理是亟待解決的問題。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種管理虛擬機(jī)批量遷移的方法和裝置,能夠高效準(zhǔn)確地進(jìn)行虛擬機(jī)批量遷移進(jìn)行管理。
為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種管理虛擬機(jī)批量遷移的方法,包括:
接收虛擬機(jī)批量遷移任務(wù)包,其中所述任務(wù)包包括至少兩個虛擬機(jī)的遷移任務(wù);獲取所述任務(wù)包中虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息;根據(jù)所述虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息,計算所述虛擬機(jī)遷移的處理優(yōu)先度;對所述處理優(yōu)先度進(jìn)行排序;根據(jù)排序后的處理優(yōu)先度,依次處理虛擬機(jī)遷移任務(wù)。
其中,所述虛擬機(jī)的資源配置信息包括cpu、內(nèi)存和存儲的資源配置信息中至少一個。
其中,所述虛擬機(jī)處理的業(yè)務(wù)信息包括述虛擬機(jī)處理的任務(wù)類型以及所述任務(wù)的重要度。
其中,根據(jù)所述虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息,計算所述虛擬機(jī)遷移的處理優(yōu)先度,包括:
對cpu、內(nèi)存、存儲和業(yè)務(wù)中的至少兩個進(jìn)行加權(quán)計算,得到所述虛擬機(jī)遷移的處理優(yōu)先度。
其中,所述根據(jù)排序后的處理優(yōu)先度,依次處理虛擬機(jī)遷移任務(wù),包括:
根據(jù)所述虛擬機(jī)的資源配置信息,為所述虛擬機(jī)選擇提供所述資源配置信息的物理主機(jī);將所述虛擬機(jī)遷移到所述物理主機(jī)。
一種管理虛擬機(jī)批量遷移的裝置,包括:
接收模塊,用于接收虛擬機(jī)批量遷移任務(wù)包,其中所述任務(wù)包包括至少兩個虛擬機(jī)的遷移任務(wù);獲取模塊,用于獲取所述任務(wù)包中虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息;計算模塊,用于根據(jù)所述虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息,計算所述虛擬機(jī)遷移的處理優(yōu)先度;排序模塊,用于對所述處理優(yōu)先度進(jìn)行排序;
處理模塊,用于根據(jù)排序后的處理優(yōu)先度,依次處理虛擬機(jī)遷移任務(wù)。
其中,所述虛擬機(jī)的資源配置信息包括cpu、內(nèi)存和存儲的資源配置信息中至少一個。
其中,所述虛擬機(jī)處理的業(yè)務(wù)信息包括述虛擬機(jī)處理的任務(wù)類型以及所述任務(wù)的重要度。
其中,所述計算模塊,具體用于對cpu、內(nèi)存、存儲和業(yè)務(wù)中的至少兩個進(jìn)行加權(quán)計算,得到所述虛擬機(jī)遷移的處理優(yōu)先度。
其中,所述處理模塊包括:
選擇單元,用于根據(jù)所述虛擬機(jī)的資源配置信息,為所述虛擬機(jī)選擇提供所述資源配置信息的物理主機(jī);遷移單元,用于將所述虛擬機(jī)遷移到所述物理主機(jī)。
本發(fā)明提供的實施例,通過讀取虛擬機(jī)的配置和其業(yè)務(wù)重要性信息對虛擬機(jī)遷移任務(wù)包中的虛擬機(jī)調(diào)度任務(wù)進(jìn)行重新排序、下發(fā)并執(zhí)行,在保障云數(shù)據(jù)中心資源和業(yè)務(wù)穩(wěn)定性的前提下,實現(xiàn)虛擬機(jī)高效、批量的遷移,提高云計算操作系統(tǒng)的競爭力。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
附圖用來提供對本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。
圖1為本發(fā)明提供的管理虛擬機(jī)批量遷移的方法的流程圖;
圖2為本發(fā)明提供的基于配置和業(yè)務(wù)重要性進(jìn)行虛擬機(jī)批量遷移的方法流程圖;
圖3為本發(fā)明提供的管理虛擬機(jī)批量遷移的裝置的結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
在附圖的流程圖示出的步驟可以在諸如一組計算機(jī)可執(zhí)行指令的計算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1為本發(fā)明提供的管理虛擬機(jī)批量遷移的方法的流程圖。圖1所示方法包括:
步驟101、接收虛擬機(jī)批量遷移任務(wù)包,其中所述任務(wù)包包括至少兩個虛擬機(jī)的遷移任務(wù);
步驟102、獲取所述任務(wù)包中虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息;
步驟103、根據(jù)所述虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息,計算所述虛擬機(jī)遷移的處理優(yōu)先度;
步驟104、對所述處理優(yōu)先度進(jìn)行排序;
步驟105、根據(jù)排序后的處理優(yōu)先度,依次處理虛擬機(jī)遷移任務(wù)。
本發(fā)明提供的方法實施例,通過讀取虛擬機(jī)的配置和其業(yè)務(wù)重要性信息對虛擬機(jī)遷移任務(wù)包中的虛擬機(jī)調(diào)度任務(wù)進(jìn)行重新排序、下發(fā)并執(zhí)行,在保障云數(shù)據(jù)中心資源和業(yè)務(wù)穩(wěn)定性的前提下,實現(xiàn)虛擬機(jī)高效、批量的遷移,提高云計算操作系統(tǒng)的競爭力。
下面對本發(fā)明提供的方法實施例作進(jìn)一步說明:
虛擬機(jī)在執(zhí)行任務(wù)時,需要一定的硬件條件來支持虛擬機(jī)完成任務(wù)處理,而在虛擬機(jī)遷移時,虛擬機(jī)的硬件資源是必須要考慮的,因此,需要維護(hù)每個虛擬機(jī)的資源配置信息,包括但不限于硬件資源信息,例如cpu、內(nèi)存和存儲的資源配置信息中至少一個。
同時,在虛擬機(jī)發(fā)生遷移時,有些業(yè)務(wù)還要繼續(xù)進(jìn)行處理,因此,為保證重要業(yè)務(wù)的及時處理,需要保證正在處理重要業(yè)務(wù)的虛擬機(jī)盡快完成遷移。因此,以虛擬機(jī)的標(biāo)識為識別標(biāo)識,記錄每個虛擬機(jī)處理的任務(wù),以及處理任務(wù)的重要性,以實時獲知虛擬機(jī)處理的業(yè)務(wù)信息。
不同的業(yè)務(wù)在云系統(tǒng)中的重要性時不同的,如實時計算、大數(shù)據(jù)服務(wù)、web信息查詢等,其重要性依次降低。當(dāng)然,也可以根據(jù)實際需要對業(yè)務(wù)進(jìn)行劃分,并為該任務(wù)設(shè)置對應(yīng)的重要度。
例如,在實際應(yīng)用中,數(shù)據(jù)中心管理員維護(hù)數(shù)據(jù)中心內(nèi)的虛擬機(jī)與其上所運行的業(yè)務(wù)重要性程度的關(guān)系表,包含3個元素:虛擬機(jī)名-運行的業(yè)務(wù)信息-重要度,具體為:
[{‘vm1’,‘實時計算’,5},
{‘vm2’,‘大數(shù)據(jù)服務(wù)’,4}
……]。
由上可以看出,所述虛擬機(jī)處理的業(yè)務(wù)信息包括述虛擬機(jī)處理的任務(wù)類型以及所述任務(wù)的重要度。
因此,根據(jù)所述虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息,計算所述虛擬機(jī)遷移的處理優(yōu)先度,包括:
對cpu、內(nèi)存、存儲和業(yè)務(wù)中的至少兩個進(jìn)行加權(quán)計算,得到所述虛擬機(jī)遷移的處理優(yōu)先度。
舉例來說,根據(jù)任務(wù)優(yōu)先度加權(quán)計算公式可以為d=cpu*20%+內(nèi)存*20%+存儲*20%+業(yè)務(wù)*40%。
其中,加權(quán)公式計算出的任務(wù)執(zhí)行優(yōu)先度就越大,在滿足數(shù)據(jù)中心資源有限和優(yōu)先保障重要性業(yè)務(wù)穩(wěn)定的條件下,必然需要優(yōu)先遷移該種類型的-任務(wù)優(yōu)先度大的虛擬機(jī)。
其中上述的權(quán)值可以根據(jù)實際情況進(jìn)行動態(tài)調(diào)整,當(dāng)性能瓶頸為cpu時,可以調(diào)高cpu的權(quán)值,相反,可以調(diào)低cpu的權(quán)值。
根據(jù)排序后的處理優(yōu)先度,依次處理虛擬機(jī)遷移任務(wù),包括:
根據(jù)所述虛擬機(jī)的資源配置信息,為所述虛擬機(jī)選擇提供所述資源配置信息的物理主機(jī);
將所述虛擬機(jī)遷移到所述物理主機(jī)。
圖2為本發(fā)明提供的基于配置和業(yè)務(wù)重要性進(jìn)行虛擬機(jī)批量遷移的方法流程圖。圖2所示所示方法實施過程如下:
任務(wù)接收模塊:從云計算操作系統(tǒng)的操作頁面接收虛擬機(jī)批量遷移任務(wù)包;
任務(wù)分析模塊:依次讀取遷移任務(wù)包中的虛擬機(jī)信息,包含虛擬機(jī)配置信息(如cpu、內(nèi)存memory、存儲storage)和虛擬機(jī)關(guān)聯(lián)的業(yè)務(wù)(job)信息,然后根據(jù)任務(wù)優(yōu)先度加權(quán)計算公式d=cpu*20%+memory*20%+storage*20%+job*40%計算任務(wù)優(yōu)先度,并根據(jù)任務(wù)優(yōu)先度由大到小的順序重新構(gòu)遷移任務(wù)包
其中,虛擬機(jī)業(yè)務(wù)信息維護(hù)模塊負(fù)載維護(hù)虛擬機(jī)關(guān)聯(lián)業(yè)務(wù)重要性信息表,具體來講,不同的業(yè)務(wù)其(相對)重要性不同,如實時計算、大數(shù)據(jù)服務(wù)、web信息查詢等,其重要性依次降低。數(shù)據(jù)中心管理員維護(hù)數(shù)據(jù)中心內(nèi)的虛擬機(jī)與其上所運行的業(yè)務(wù)重要性程度的關(guān)系表,包含3個元素:虛擬機(jī)名-運行的業(yè)務(wù)信息-重要度,具體為:
[{‘vm1’,‘實時計算’,5},
{‘vm2’,‘大數(shù)據(jù)服務(wù)’,4}
……];
其中,任務(wù)優(yōu)先度越大,則最優(yōu)先執(zhí)行。對應(yīng)現(xiàn)實中的處理思路:當(dāng)虛擬機(jī)的配置越高、關(guān)聯(lián)業(yè)務(wù)的重要性越高,則加權(quán)公式計算出的任務(wù)執(zhí)行優(yōu)先度就越大,在滿足數(shù)據(jù)中心資源有限和優(yōu)先保障重要性業(yè)務(wù)穩(wěn)定的條件下,必然需要優(yōu)先遷移該種類型的-任務(wù)優(yōu)先度大的虛擬機(jī)。
任務(wù)下發(fā)模塊:獲取重新排序后的任務(wù)執(zhí)行包,并依據(jù)任務(wù)優(yōu)先度依次下發(fā)虛擬機(jī)遷移任務(wù)至調(diào)度模塊;
調(diào)度模塊:根據(jù)每個具體的虛擬機(jī)遷移任務(wù)中的配置,在數(shù)據(jù)中心資源池中調(diào)度選定目的物理主機(jī);
例如,目的物理主機(jī)的資源配置滿足遷移所需的資源需求,如虛擬機(jī)的配置為cpu10g內(nèi)存10g磁盤50g,則目的物理主機(jī)上可用的cpu/內(nèi)存/磁盤必須得滿足其配置要求。
執(zhí)行模塊:對每一個虛擬機(jī)遷移任務(wù),根據(jù)選定的目的主機(jī)信息,執(zhí)行具體的遷移操作;
統(tǒng)計模塊:記錄虛擬機(jī)批量遷移操作的執(zhí)行結(jié)果,并進(jìn)行匯總分析,如執(zhí)行成功與否、所耗時間、任務(wù)異常等信息展示;
日志模塊:主要記錄整個遷移操作中的用戶操作、遷移執(zhí)行、異常捕獲等操作日志,用于分析、定位、解決遷移過程中出現(xiàn)的問題。
本發(fā)明提供的方法實施例,通過虛擬機(jī)業(yè)務(wù)信息維護(hù)模塊維護(hù)虛擬機(jī)的配置和其業(yè)務(wù)重要性信息,由任務(wù)分析模塊對虛擬機(jī)遷移任務(wù)包中的虛擬機(jī)調(diào)度任務(wù)進(jìn)行重新排序,再由任務(wù)下發(fā)模塊下發(fā),在保障云數(shù)據(jù)中心資源和業(yè)務(wù)穩(wěn)定性的前提下,實現(xiàn)虛擬機(jī)高效、批量的遷移,提高云計算操作系統(tǒng)的競爭力。
圖3為本發(fā)明提供的管理虛擬機(jī)批量遷移的裝置的結(jié)構(gòu)圖。圖3所示裝置包括:
接收模塊301,用于接收虛擬機(jī)批量遷移任務(wù)包,其中所述任務(wù)包包括至少兩個虛擬機(jī)的遷移任務(wù);
獲取模塊302,用于獲取所述任務(wù)包中虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息;
計算模塊303,用于根據(jù)所述虛擬機(jī)的資源配置信息和虛擬機(jī)處理的業(yè)務(wù)信息,計算所述虛擬機(jī)遷移的處理優(yōu)先度;
排序模塊304,用于對所述處理優(yōu)先度進(jìn)行排序;
處理模塊305,用于根據(jù)排序后的處理優(yōu)先度,依次處理虛擬機(jī)遷移任務(wù)。
其中,所述虛擬機(jī)的資源配置信息包括cpu、內(nèi)存和存儲的資源配置信息中至少一個。
其中,所述虛擬機(jī)處理的業(yè)務(wù)信息包括述虛擬機(jī)處理的任務(wù)類型以及所述任務(wù)的重要度。
其中,所述計算模塊303,具體用于對cpu、內(nèi)存、存儲和業(yè)務(wù)中的至少兩個進(jìn)行加權(quán)計算,得到所述虛擬機(jī)遷移的處理優(yōu)先度。
其中,所述處理模塊305包括:
選擇單元,用于根據(jù)所述虛擬機(jī)的資源配置信息,為所述虛擬機(jī)選擇提供所述資源配置信息的物理主機(jī);
遷移單元,用于將所述虛擬機(jī)遷移到所述物理主機(jī)。
本發(fā)明提供的裝置實施例,通過讀取虛擬機(jī)的配置和其業(yè)務(wù)重要性信息對虛擬機(jī)遷移任務(wù)包中的虛擬機(jī)調(diào)度任務(wù)進(jìn)行重新排序、下發(fā)并執(zhí)行,在保障云數(shù)據(jù)中心資源和業(yè)務(wù)穩(wěn)定性的前提下,實現(xiàn)虛擬機(jī)高效、批量的遷移,提高云計算操作系統(tǒng)的競爭力。
雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。