一種面向綠色云計算的虛擬機遷移方法
【專利摘要】本發(fā)明公開了一種面向綠色云計算的虛擬機遷移方法,該方法從云數(shù)據(jù)中心的服務(wù)器部署及溫控模式的實際情況,與物理引力相關(guān)概念結(jié)合,定義了物理節(jié)點與虛擬機之間的邏輯引力、修正因子、修正引力等概念。邏輯引力實現(xiàn)將虛擬機有序聚集到某一個或相鄰區(qū)域的數(shù)據(jù)節(jié)點上,以便關(guān)閉空閑節(jié)點;修正因子實現(xiàn)局部過熱的數(shù)據(jù)節(jié)點上的虛擬機擴散,以便穩(wěn)定系統(tǒng),防止節(jié)點系統(tǒng)崩潰或損壞;修正引力按照云數(shù)據(jù)中心的熱量分布情況以散熱性能優(yōu)先策略,將虛擬機優(yōu)先向數(shù)據(jù)節(jié)點散熱性能較好處匯聚,以實現(xiàn)熱量分布平衡,避免機架散熱性能較差的部分發(fā)生過熱。本發(fā)明顯著降低數(shù)據(jù)中心能耗,聚集虛擬機,關(guān)閉部分計算節(jié)點及其相關(guān)制冷節(jié)點,從而盡可能節(jié)省能耗。
【專利說明】
-種面向綠色云計算的虛擬機遷移方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及一種面向綠色云計算的虛擬機遷移方法,具體設(shè)及一種面向云計算數(shù) 據(jù)中屯、虛擬機管理的節(jié)能優(yōu)化方法,屬于云計算應(yīng)用技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 云計算是一種利用互聯(lián)網(wǎng)實現(xiàn)隨時隨地、按需、便捷地訪問共享資源池(如計算設(shè) 施、存儲設(shè)備、應(yīng)用程序等)的計算模式,其充分利用虛擬化機制,讓客戶按需獲取需要的資 源,由此可W降低中小型企業(yè)硬件維護成本等。當前我國各類數(shù)據(jù)中屯、總量約43萬個,可容 納服務(wù)器約500萬臺,未來5年我國對數(shù)據(jù)中屯、流量處理能力的需求將增長7~10倍。然而, 云數(shù)據(jù)中屯、規(guī)模的不斷擴大,成千上萬的計算節(jié)點也帶來了高能耗的問題,W-臺服務(wù)器 平均功耗400瓦計算,年耗電總量約為1276億千瓦時,已然超過=峽電站一年的發(fā)電總量 (2014年為988億千瓦時)。
[0003] 導致運種高能耗現(xiàn)象產(chǎn)生的原因不僅僅是因為硬件資源所需能耗高,更多的是因 為運些資源的低效使用。云計算數(shù)據(jù)中屯、服務(wù)器利用率很少接近10%,而當服務(wù)器利用率 低于50%時,就會因為過渡供應(yīng)產(chǎn)生額外的成本。因此,保證服務(wù)器高效運作是很有必要 的?,F(xiàn)有研究提出,可W通過遷移虛擬機,關(guān)閉低功率模式的服務(wù)器,來達到節(jié)能效果。
[0004] 為了有效提升云計算系統(tǒng)的服務(wù)性能,同時降低服務(wù)成本和能源消耗,高效的虛 擬機監(jiān)控、管理、部署、整合和遷移機制及策略至關(guān)重要。目前的虛擬機的管理機制和部署 策略等領(lǐng)域已經(jīng)有了一系列的研究成果,然而運些研究成果普遍存在W下部分或全部問 題:1)僅考慮性能、能耗、穩(wěn)定性、成本、環(huán)境等其中的一項或幾項因素;2)僅W數(shù)據(jù)節(jié)點為 單位進行虛擬機部署和遷移,并沒有真正在云數(shù)據(jù)中屯、全局范圍內(nèi)進行資源整合,活動節(jié) 點在云數(shù)據(jù)中屯、的離散性導致區(qū)域化的精準制冷難W實施;3)僅從邏輯上考慮虛擬機的部 署與遷移等需求,但沒有沒有考慮云數(shù)據(jù)中屯、實際的物理節(jié)點的部署場景、熱量分布和溫 控系統(tǒng)的實際運作模式。計算設(shè)備與溫控設(shè)備之間較差的聯(lián)動性導致成果難W在實際環(huán)境 中得到良好應(yīng)用。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題是:提供一種面向綠色云計算的虛擬機遷移方法,從 全局考慮,通過虛擬機的有序聚集,避免因為某些節(jié)點計算任務(wù)過重或者散熱性能較差而 造成的局部過熱。
[0006] 本發(fā)明為解決上述技術(shù)問題采用W下技術(shù)方案:
[0007] -種面向綠色云計算的虛擬機遷移方法,包括如下步驟:
[000引步驟1,每隔預設(shè)時間對云計算數(shù)據(jù)中屯、中的服務(wù)器進行性能檢測,并根據(jù)性能檢 測結(jié)果計算各服務(wù)器的邏輯質(zhì)量,根據(jù)邏輯質(zhì)量對服務(wù)器進行分類,預設(shè)闊值丫 1、丫 2、丫 3, 且丫 1< 丫 2< 丫 3,當邏輯質(zhì)量《丫 1時,服務(wù)器類別為A;當丫 1<邏輯質(zhì)量《丫 2時,服務(wù)器類 別為B;當丫 2<邏輯質(zhì)量《丫 3時,服務(wù)器類別為C;當邏輯質(zhì)量> 丫 3時,服務(wù)器類別為D;當 云計算數(shù)據(jù)中屯、中的服務(wù)器類別滿足W下條件中的其中一個時,對云計算數(shù)據(jù)中屯、中的虛 擬機進行遷移;所述條件為:條件1為A、B類服務(wù)器都存在;條件2為B、D類服務(wù)器都存在;條 件3為A、B、D類服務(wù)器都存在;
[0009] 吿皆服義哭於T戰(zhàn)粗席縣從
[0010]
[00川其中:
、M(V)分別表示服務(wù)器、虛擬機的邏輯質(zhì)量,ki為經(jīng) 驗系數(shù),Ui為虛擬機相對于服務(wù)器某項資源的占有率,Cl為修正系數(shù),T(t)為服務(wù)器的溫度 狀況函數(shù),Vv表示服務(wù)器S中的所有虛擬機;
[0012] 步驟2,選擇虛擬機的目標機架,具體步驟為:
[0013] Step21:獲取D類服務(wù)器、A類服務(wù)器列表,將D類服務(wù)器中需要遷移的虛擬機分離 出來,使D類服務(wù)器的類別回歸到C,當云計算數(shù)據(jù)中屯、中的服務(wù)器類別滿足條件1時,無需 進行分離;
[0014] 所述將D類服務(wù)器中需要遷移的虛擬機分離出來的具體過程為:將D類服務(wù)器中的 所有虛擬機的邏輯質(zhì)量由大到小進行排序,從邏輯質(zhì)量最大的開始,依次將虛擬機分離出 去,每分離一次,計算當前服務(wù)器的類別是否回歸為C,如果是,則分離結(jié)束,否則繼續(xù)分離;
[0015] Step22:計算每個機架的邏輯質(zhì)量,將分離出來的虛擬機按邏輯質(zhì)量由大到小進 行排序,根據(jù)機架的邏輯質(zhì)量并行計算每個機架對分離出來的虛擬機的邏輯引力,邏輯引 力最大的機架即為虛擬機的目標機架;
[0016] Step23:將A類服務(wù)器中的虛擬機按邏輯質(zhì)量由小到大進行排序,根據(jù)機架的邏輯 質(zhì)量串行計算每個機架對A類服務(wù)器中的虛擬機的邏輯引力,邏輯引力最大的機架即為虛 擬機的目標機架;
[0017] 定義機架的邏據(jù)質(zhì)量公式為:
[001 引
[0019] 其中,M(f)表示機架的邏輯質(zhì)量,成表示機架帥的所有服務(wù)器;
[0020] 定義機架對虛擬機的邏輯引力公式為:
[0021]
[0022] 其中,Uf,v)表示虛擬機V到達機架f產(chǎn)生的數(shù)據(jù)傳輸代價,G、b為常系數(shù);
[0023] 步驟3,選擇虛擬機的目標服務(wù)器,具體步驟為:
[0024] Step31:計算步驟2得到的目標機架中B、D類服務(wù)器對虛擬機的邏輯引力,并對邏 輯引力進行修正,計算修正后引力的大小和方向;
[0025] St邱32:在修正后引力方向的延長線上,距離虛擬機最近的B類服務(wù)器即為目標服 務(wù)器;
[00%]定義服務(wù)器對虛擬機的邏輯引力公式為:
[0027]
[00%]其中,L(s,v)表示虛擬機V到達服務(wù)器S產(chǎn)生的數(shù)據(jù)傳輸代價,G、b為常系數(shù);
[0029] 步驟4,對需要遷移的虛擬機進行動態(tài)遷移;
[0030] 步驟5,根據(jù)當前云計算數(shù)據(jù)中屯、中服務(wù)器的邏輯質(zhì)量,對服務(wù)器進行分類,當云 計算數(shù)據(jù)中屯、中的服務(wù)器類別滿足W下條件中的其中一個時,遷移結(jié)束,否則,重復步驟1- 步驟4;所述條件為:條件1為所有服務(wù)器的類別均為C;條件2為所有服務(wù)器的類別均為B;條 件3為服務(wù)器的類別只有A和C;條件4為服務(wù)器的類別只有B和C;條件5為服務(wù)器的類別只有 D。
[0031] 作為本發(fā)明的優(yōu)選方案,步驟4所述動態(tài)遷移的方法為預拷貝方法。
[0032] 作為本發(fā)明的優(yōu)選方案,步驟2所述Uf,v)的公式為:
[0033]
[0034] 其中,B(V)表示虛擬機V占用的帶寬,Bf化y)表示交換機hy的空閑帶寬,BF(ry)表示 路由器ry的空閑帶寬,yi表示虛擬機傳輸經(jīng)過的交換機的個數(shù),y2表示虛擬機傳輸經(jīng)過的路 由器的個數(shù)。
[0035] 作為本發(fā)明的優(yōu)選方案,步驟3所述Step32之后,當距離虛擬機最近的B類服務(wù)器 有至少一臺時,選擇靠近地面的服務(wù)器作為目標服務(wù)器。
[0036] 作為本發(fā)明的優(yōu)選方案,步驟3St邱31所述修正后引力的公式為:
[0037]
[003引其中,F(xiàn) (V)表示修正后引力,表示修正引力,i = 1,…,y表示1,…,y個服務(wù) 器。
[0039] 本發(fā)明采用W上技術(shù)方案與現(xiàn)有技術(shù)相比,具有W下技術(shù)效果:
[0040] 1、目前大部分虛擬機部署機制僅W數(shù)據(jù)節(jié)點為單位進行虛擬機部署和遷移,并沒 有真正在云數(shù)據(jù)中屯、全局范圍內(nèi)進行資源整合,活動節(jié)點在云數(shù)據(jù)中屯、的離散性導致區(qū)域 化的精準制冷難W實施;本發(fā)明從全局考慮,通過虛擬機的有序聚集,避免因為某些節(jié)點計 算任務(wù)過重或者散熱性能較差而造成的局部過熱。
[0041] 2、目前大部分虛擬機部署機制僅從邏輯上考慮虛擬機的部署與遷移等需求,沒有 考慮云數(shù)據(jù)中屯、實際的物理節(jié)點的部署場景、熱量分布和溫控系統(tǒng)的實際運作模式,計算 設(shè)備與溫控設(shè)備之間較差的聯(lián)動性導致成果難W在實際環(huán)境中得到良好應(yīng)用;本發(fā)明從數(shù) 據(jù)中屯、物理架構(gòu)入手,更為契合實際數(shù)據(jù)中屯、的物理架構(gòu),減少局部過熱的可能性。
[0042] 3、本發(fā)明顯著降低數(shù)據(jù)中屯、能耗,聚集虛擬機,從而關(guān)閉部分計算節(jié)點及其相關(guān) 制冷節(jié)點,從而盡可能節(jié)省能耗。
[0043] 4、本發(fā)明虛擬機部署機制效果穩(wěn)定,采用了隊列控制等方法,盡量避免了虛擬機 遷移的顛鑛問題,保證用戶體驗質(zhì)量良好。
【附圖說明】
[0044] 圖1是本發(fā)明面向綠色云計算的虛擬機遷移方法的流程圖。
[0045] 圖2(a)-圖2(c)是本發(fā)明方法中虛擬機選擇機架的流程示意圖。
[0046] 圖3是本發(fā)明方法中虛擬機被修正引力修正后的受力圖。
[0047] 圖4(a)-圖4(d)是本發(fā)明方法中虛擬機在機架中選擇服務(wù)器的流程示意圖。
【具體實施方式】
[0048] 下面詳細描述本發(fā)明的實施方式,所述實施方式的示例在附圖中示出。下面通過 參考附圖描述的實施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0049] 為了實現(xiàn)云數(shù)據(jù)中屯、負載均衡、節(jié)能、SLA、穩(wěn)定性等目標,需要提出更為合理的虛 擬機部署、遷移和管理策略。本發(fā)明從云數(shù)據(jù)中屯、的服務(wù)器部署及溫控模式的實際情況,與 物理引力相關(guān)概念結(jié)合,定義了物理節(jié)點與虛擬機之間的邏輯引力、修正因子、修正引力等 概念,探索了其計算方法,提出了一種面向綠色云計算的虛擬機遷移方法。邏輯引力實現(xiàn)將 虛擬機有序聚集到某一個或相鄰區(qū)域的數(shù)據(jù)節(jié)點上,W便關(guān)閉空閑的節(jié)點;修正因子實現(xiàn) 局部過熱的數(shù)據(jù)節(jié)點上的虛擬機擴散,W便穩(wěn)定系統(tǒng),防止節(jié)點的系統(tǒng)崩潰或損壞,保障服 務(wù)質(zhì)量和SLA;修正引力按照云數(shù)據(jù)中屯、的熱量分布情況,W溫度較低處節(jié)點優(yōu)先策略將虛 擬機優(yōu)先向當前溫度較低的機架數(shù)據(jù)節(jié)點匯聚,W實現(xiàn)熱量分布平衡,避免機架過熱情況 的發(fā)生。
[0050] 本發(fā)明提出的虛擬機遷移方法適用于數(shù)據(jù)中屯、的虛擬機管理,其流程架構(gòu)如圖1 所示。通過云計算中屯、的全局監(jiān)控,獲取虛擬機遷移要求、應(yīng)用數(shù)據(jù)表現(xiàn)、節(jié)點資源使用情 況、虛擬機使用情況、負載情況等數(shù)據(jù),然后通過監(jiān)控中屯、對獲取消息的分析,獲得虛擬機 遷移的目標虛擬機與其對應(yīng)的目標服務(wù)器,再進行虛擬機的動態(tài)遷移。
[0051] 需要設(shè)置服務(wù)器所能承受的當前占用資源與溫度上限闊值,確保虛擬機創(chuàng)建或者 遷移時,選擇的服務(wù)器是可用狀態(tài)的。并且利用率過低的服務(wù)器,要考慮遷移其上運行的虛 擬機,然后關(guān)閉該服務(wù)器W節(jié)能。因此,將數(shù)據(jù)中屯、所有服務(wù)器分為四類,分類定義如表1。
[0052] 表1服務(wù)器分類 [0化3]
[0054]因為設(shè)及的資源占用、溫度均與邏輯質(zhì)量有關(guān),則闊值可W統(tǒng)一使用服務(wù)器的邏 輯質(zhì)量的值來劃定,服務(wù)器分類賦值公式如下:
[0化5]
(1)
[0化6] 其中,C(Sti)表示服務(wù)器Sti的類別,M(Sti)表示服務(wù)器Sti的邏輯質(zhì)量,丫 1、丫 2、丫 3 均表示闊值,且丫 1< 丫 2< 丫 3, 丫 1、丫 2、丫 3是隨不同的數(shù)據(jù)中屯、構(gòu)建情況而有所改變的。實 際操作中,應(yīng)該根據(jù)數(shù)據(jù)中屯、的情況建模,丫 1、丫 2、丫 3取不同的值,模擬運行取得最佳數(shù) 值?;蛘呓ㄗh采用丫 1 = 0.3、丫 2 = 0.5、丫 3 = 0.85進行測算。
[0057]為了方便理解本發(fā)明的技術(shù)方案,下面對一些概念進行定義:
[005引定義1:邏輯質(zhì)量是數(shù)據(jù)中屯、中指定物理或者邏輯對象占用資源大小的度量公式, M(X)表示對象X的邏輯質(zhì)量。
[0059]本發(fā)明中設(shè)及有虛擬機的邏輯質(zhì)量、服務(wù)器的邏輯質(zhì)量、機架的邏輯質(zhì)量,定義如 下:
[0060; 樹
[0061]式(2)中M(VU)計算的是第i臺服務(wù)器Sti的第j臺虛擬機VU占用的資源的總和,其 中,ki為經(jīng)驗系數(shù),Ui為虛擬機相對于服務(wù)器該項資源的占有率,一般而言,該服務(wù)器屬于哪 種服務(wù)密集型服務(wù)器,該服務(wù)對應(yīng)的經(jīng)驗系數(shù)就大一些。通過M(VU)計算公式可W將虛擬機 當中不同單位的資源利用量統(tǒng)一數(shù)值求得統(tǒng)一評價函數(shù),即為虛擬機的邏輯質(zhì)量。
[00創(chuàng)式(2)中M(Sti)計算的是第t座機架ft的第i臺服務(wù)器Sti的邏輯質(zhì)量,其中,a為修正 系數(shù),該公式計算的是服務(wù)器Sti空閑資源的總和,經(jīng)過修正因子的修正,得到的服務(wù)器的邏 輯質(zhì)量,表現(xiàn)的是后續(xù)對虛擬機的吸引能力。在實際數(shù)據(jù)中屯、當中,修正因子T(ti)是用于 反應(yīng)當前物理節(jié)點溫度狀況的函數(shù),T(ti)的數(shù)值等于云數(shù)據(jù)中屯、的實時監(jiān)控值。當實時監(jiān) 控代價過大,或者模擬系統(tǒng)時,可W對T(ti)進行數(shù)值預測,其函數(shù)為:
[0063] T(ti) = ti+e(ti) (3)
[0064] 其中,ti為通過對該服務(wù)器性能測評從而得到的預測計算函數(shù),P(X)為偏差值修 正。
[0065] 式(2)中M(ft)計算的是第t座機架ft的空閑資源的總和,即機架ft的邏輯質(zhì)量。
[0066] 定義2:邏輯距離是指數(shù)據(jù)中屯、中兩物理節(jié)點數(shù)據(jù)傳輸時,因為交換機、路由器等 產(chǎn)生的數(shù)據(jù)傳輸代價。LU, VU)表示虛擬機VU到達物體X產(chǎn)生的數(shù)據(jù)傳輸代價,其公式為:
[0067;
(4)
[0068] 其中,B(Vij)是虛擬機Vij占用的帶寬,化化y)是交換機hy的空閑帶寬,BF(ry)是路由 器ry的空閑帶寬,yi為虛擬機傳輸經(jīng)過的交換機的個數(shù),y2為虛擬機傳輸經(jīng)過的路由器的個 數(shù)。
[0069] 定義3:邏輯引力指的是任意一臺機架對任意虛擬機都有邏輯引力寅的吸引作用。 F大小與它們邏輯質(zhì)量的乘積成正比與它們邏輯距離的平方成反比,與兩物體在數(shù)據(jù)中屯、 中具體距離等無關(guān),方向由虛擬機指向機架。
[0070] 定義4:修正引力句V'.:,;)指的是虛擬機由于溫度原因,受到傾向于向機架散熱性能 較好方向的吸引力。
[0071] 機架ft、服務(wù)器Sti和虛擬機VU的邏輯引力計算公式為(其中G、b為常系數(shù)):
[0072] 結(jié)!
[0073] 財屆中屯、的合力為:
[0074] 做
[00巧] £過修正的合力為:
[0076] 仍
[0077] 本發(fā)明的虛擬機遷移流程為:
[0078] 步驟一、遷移方法的啟動
[0079] 云計算系統(tǒng)中的虛擬機由于隨機的開啟、關(guān)閉,經(jīng)過一段時間后,虛擬機將漸趨于 離散化分布,整個系統(tǒng)將出現(xiàn)熱點混亂、無序的狀態(tài),局域化的精準溫控將難W實施,運時 需要對虛擬機重新部署,進行聚集式遷移。理想的遷移結(jié)果顯然是將剩余少量虛擬機運行 的區(qū)域節(jié)點集群上的虛擬機遷移到承載較多虛擬機的的區(qū)域節(jié)點集群上,從而可將部分區(qū) 域節(jié)點集群承載的虛擬機數(shù)量下降至0,W便及時休眠或關(guān)閉。
[0080] 若區(qū)域中的數(shù)據(jù)節(jié)點過熱或是負載過重,為了保證系統(tǒng)的運行穩(wěn)定性和服務(wù)質(zhì) 量,虛擬機需要進行擴散式遷移,即將虛擬機從溫度或資源消耗已臨近上限的節(jié)點遷移到 其它節(jié)點上。而從節(jié)點所承載的若干虛擬機選擇哪些待遷出的虛擬機是需要首先考慮到問 題。虛擬機擴散的理想結(jié)果應(yīng)該是:W最小的代價快速遷移出盡量少的虛擬機后,節(jié)點的溫 度或負載即可回復到可接受的程度。
[0081] 本發(fā)明最終目的是盡可能的讓計算節(jié)點都進入C類高效運轉(zhuǎn)的狀態(tài),并且盡可能 將低速運轉(zhuǎn)的服務(wù)器關(guān)閉,當遇到W下情況的時候,就需要考慮將虛擬機進行遷移:(1)數(shù) 據(jù)中屯、中,A、B類服務(wù)器都存在;(2)數(shù)據(jù)中屯、中,B、D類服務(wù)器都存在;(3)數(shù)據(jù)中屯、中,A、B、 D類服務(wù)器都存在。
[0082] 要實現(xiàn)該監(jiān)控,對于被監(jiān)控服務(wù)器,需要每隔一段時間t進行一次性能檢測,一旦 溫度過高、利用率過高或者利用率過低,就要向監(jiān)控機器發(fā)送需要遷移虛擬機的信號 migrate。而監(jiān)控機一旦受到需要對虛擬機進行調(diào)整的信號migrate超過一個闊值O,則啟 動本發(fā)明方法。
[0083] 步驟二、選擇目標機架
[0084] Stepl:得到D類服務(wù)器、A類服務(wù)器列表,計算每個機架的邏輯質(zhì)量,分離出所有D 類服務(wù)器的A'部分,使得A'中虛擬機遷移離開后,D類服務(wù)器會回歸到C類;當步驟一的情況 為(1)時,無需進行分離,其中,分離出A'類服務(wù)器的具體步驟為:
[0085] a.將D類中所有虛擬機的邏輯質(zhì)量按由大到小順序排序,編號寫入隊列レ
[0086] b.將目前D類服務(wù)器總資源中減去隊列L列頭序號對應(yīng)的虛擬機占用資源,測算減 去后的D類服務(wù)器利用情況是否降為C類,并且將減去的隊列L列頭序號寫入隊列M;其中總 資源指的是邏輯質(zhì)量測算時考慮進去的因素,比如CPU、RAM等;
[0087] c.如果D類服務(wù)器經(jīng)過預測將降為C類,則停止測算,隊列M中所有編號對應(yīng)的虛擬 機組成該D類服務(wù)器分離出的對應(yīng)A '類服務(wù)器;
[0088] d.如果D類服務(wù)器經(jīng)過預測沒有降為C類,回到b。
[0089] Step2:對所有A'類服務(wù)器、A類服務(wù)器的虛擬機按照邏輯質(zhì)量由大到小進行優(yōu)先 級列表排序,并且A'類中的虛擬機優(yōu)先級均高于A類,目前整個系統(tǒng)的初始狀態(tài)如圖2(a)所 示,其中Fl是機架1對虛擬機的邏輯引力,F(xiàn)2是機架2對虛擬機的邏輯引力;若步驟一的情況 為(2 ),則無需對A類服務(wù)器進行操作;
[0090] Step3:計算每個機架對待遷移虛擬機的引力,引力最大的即為目標機架;
[0091] Step4 :A'類服務(wù)器列表并行計算,隊列中所有服務(wù)器遍歷,將其當前排在第一位 的虛擬機確定目標機架,A類串行計算,當A'類處理完畢,將A類服務(wù)器從小到大依次全部處 理,如圖2 (b)所示,即為虛擬機遷移過程;
[0092] steps:當前目標虛擬機尚未全部遷移,回到Step4,否則結(jié)束,如圖2(c)所示,虛擬 機均到達目的機架,遷移結(jié)束。
[0093] 步驟=、各個虛擬機選擇目標服務(wù)器
[0094] 對于選定目的機架的虛擬機,需要進一步確定目標服務(wù)器,此時需要修正引力進 行修正,盡可能地選擇當前溫度較低散熱性能較好處的服務(wù)器。如圖3所示,為虛擬機在指 定機架時,受到的力所繪力圖。虛擬機不光收到來自服務(wù)器的合力,也受到了修正引力的影 響。通過公式(7)求得的指向的服務(wù)器,即為目標放置服務(wù)器,虛擬機選定后即可進 行遷移。
[00M] 如圖4(a)-4(d)所示,圖4(a)表示一個機架其中一共有mXn個小方塊代表的服務(wù) 器;圖4(b)是虛擬機在該機架中受到的力圖示意圖,虛擬機設(shè)定為計算位置在機架的正中 央原點(〇,〇)處計算受力值;圖4(c)是進行目標服務(wù)器的選擇;圖4(d)中黑色方塊代表的服 務(wù)器即為選中服務(wù)器。具體步驟如下:
[0096] Stepl:計算目標機架中B、D類服務(wù)器對虛擬機的邏輯引力,當邏輯引力值為負數(shù) 時意思是引力方向為原測算方向的相反方向,并且絕對值大小不變,邏輯距離為1;
[0097] Step2:計算其修正后的引力,計算虛擬機所受合力方向;
[0098] Step3:在合力方向延長線上,距離最近的B類服務(wù)器即為目標服務(wù)器。若有一臺W 上符合條件的服務(wù)器,則選取靠近地面的服務(wù)器。
[0099] 步驟四、虛擬機遷移
[0100] 每個虛擬機選定目標服務(wù)器后,就要開始動態(tài)遷移。本機制采用預拷貝方法進行 虛擬機的遷移。
[0101] 步驟五、部署機制一次迭代的終止
[0102] 經(jīng)過方法決策下的虛擬機遷移,數(shù)據(jù)中屯、將逐漸將所有虛擬機聚集,部署機制一 次運行是需要終止條件的,終止條件如下:(1)數(shù)據(jù)中屯、服務(wù)器均為C類;(2)數(shù)據(jù)中屯、服務(wù) 器均為B類;(3)數(shù)據(jù)中屯、服務(wù)器只有A類和C類;(4)數(shù)據(jù)中屯、服務(wù)器只有B類和C類;(5)數(shù)據(jù) 中屯、服務(wù)器只有D類。
[0103] -次部署的完成,數(shù)據(jù)中屯、情況如圖所示,將低功率運行的機架包括其制冷機器 全部陷入休眠狀態(tài)并讓別的服務(wù)器盡量都進入高效率運轉(zhuǎn)狀態(tài),從而達到節(jié)能的目的。
[0104] W上實施例僅為說明本發(fā)明的技術(shù)思想,不能W此限定本發(fā)明的保護范圍,凡是 按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護范圍 之內(nèi)。
【主權(quán)項】
1. 一種面向綠色云計算的虛擬機迀移方法,其特征在于,包括如下步驟: 步驟1,每隔預設(shè)時間對云計算數(shù)據(jù)中心中的服務(wù)器進行性能檢測,并根據(jù)性能檢測結(jié) 果計算各服務(wù)器的邏輯質(zhì)量,根據(jù)邏輯質(zhì)量對服務(wù)器進行分類,預設(shè)閾值γ l·、γ 2、γ 3,且 γ !< γ 2< γ 3,當邏輯質(zhì)量彡γ跗,服務(wù)器類別為Α;當γ Κ邏輯質(zhì)量彡γ 2時,服務(wù)器類別 為Β;當γ 2<邏輯質(zhì)量< γ 3時,服務(wù)器類別為C;當邏輯質(zhì)量> γ 3時,服務(wù)器類別為D;當云 計算數(shù)據(jù)中心中的服務(wù)器類別滿足以下條件中的其中一個時,對云計算數(shù)據(jù)中心中的虛擬 機進行迀移;所述條件為:條件1為A、Β類服務(wù)器都存在;條件2為B、D類服務(wù)器都存在;條件3 為A、B、D類服務(wù)器都存在; 定義服務(wù)器的邏輯質(zhì)量公式為: 、.·/ l \ /V ' , , J - ieJ Vv 其中,M(v)分別表示服務(wù)器、虛擬機的邏輯質(zhì)量,匕為經(jīng)驗系 數(shù),也為虛擬機相對于服務(wù)器某項資源的占有率,α為修正系數(shù),T(t)為服務(wù)器的溫度狀況 函數(shù),Vv表示服務(wù)器s中的所有虛擬機; 步驟2,選擇虛擬機的目標機架,具體步驟為: Step21:獲取D類服務(wù)器、A類服務(wù)器列表,將D類服務(wù)器中需要迀移的虛擬機分離出來, 使D類服務(wù)器的類別回歸到C,當云計算數(shù)據(jù)中心中的服務(wù)器類別滿足條件1時,無需進行分 離;計算每個機架的邏輯質(zhì)量; 所述將D類服務(wù)器中需要迀移的虛擬機分離出來的具體過程為:將D類服務(wù)器中的所有 虛擬機的邏輯質(zhì)量由大到小進行排序,從邏輯質(zhì)量最大的開始,依次將虛擬機分離出去,每 分離一次,計算當前服務(wù)器的類別是否回歸為C,如果是,則分離結(jié)束,否則繼續(xù)分離; Step22:將分離出來的虛擬機按邏輯質(zhì)量由大到小進行排序,根據(jù)機架的邏輯質(zhì)量并 行計算每個機架對分離出來的虛擬機的邏輯引力,邏輯引力最大的機架即為虛擬機的目標 機架; Step23:將A類服務(wù)器中的虛擬機按邏輯質(zhì)量由小到大進行排序,根據(jù)機架的邏輯質(zhì)量 串行計算每個機架對A類服務(wù)器中的虛擬機的邏輯引力,邏輯引力最大的機架即為虛擬機 的目標機架; 定義機架的邏輯質(zhì)量公式為:其中,M(f)表示機架的邏輯質(zhì)量,Vs表示機架f中的所有服務(wù)器; 定義機架對虛擬機的邏輯引力公式為:其中,L(f,v)表示虛擬機v到達機架f產(chǎn)生的數(shù)據(jù)傳輸代價,G、b為常系數(shù); 步驟3,選擇虛擬機的目標服務(wù)器,具體步驟為: Step31:計算步驟2得到的目標機架中B、D類服務(wù)器對虛擬機的邏輯引力,并對邏輯引 力進行修正,計算修正后引力的大小和方向; Step32 :在修正后引力方向的延長線上,距離虛擬機最近的B類服務(wù)器即為目標服務(wù) 器; 定義服務(wù)器對虛擬機的邏輯引力公式為:其中,L(s,v)表示虛擬機v到達服務(wù)器s產(chǎn)生的數(shù)據(jù)傳輸代價,G、b為常系數(shù); 步驟4,對需要迀移的虛擬機進行動態(tài)迀移; 步驟5,根據(jù)當前云計算數(shù)據(jù)中心中服務(wù)器的邏輯質(zhì)量,對服務(wù)器進行分類,當云計算 數(shù)據(jù)中心中的服務(wù)器類別滿足以下條件中的其中一個時,迀移結(jié)束,否則,重復步驟1-步驟 4;所述條件為:條件1為所有服務(wù)器的類別均為C;條件2為所有服務(wù)器的類別均為B;條件3 為服務(wù)器的類別只有A和C;條件4為服務(wù)器的類別只有B和C;條件5為服務(wù)器的類別只有D。2. 根據(jù)權(quán)利要求1所述面向綠色云計算的虛擬機迀移方法,其特征在于,步驟4所述動 態(tài)迀移的方法為預拷貝方法。3. 根據(jù)權(quán)利要求1所述面向綠色云計算的虛擬機迀移方法,其特征在于,步驟2所述L (f,v)的公式為:其中,B(v)表示虛擬機v占用的帶寬,BF(hy)表示交換機hy的空閑帶寬,B F(ry)表示路由 器ry的空閑帶寬,yi表示虛擬機傳輸經(jīng)過的交換機的個數(shù),72表示虛擬機傳輸經(jīng)過的路由器 的個數(shù)。4. 根據(jù)權(quán)利要求1所述面向綠色云計算的虛擬機迀移方法,其特征在于,步驟3所述 Step32之后,當距離虛擬機最近的B類服務(wù)器有至少一臺時,選擇靠近地面的服務(wù)器作為目 標服務(wù)器。5. 根據(jù)權(quán)利要求1所述面向綠色云計算的虛擬機迀移方法,其特征在于,步驟3Step31 所述修正后引力的公式為:其中,戶'(v)表示修正后引力,<5(v)表示修正引力,i = l,…,y表示1,…,y個服務(wù)器。
【文檔編號】G06F9/455GK105955795SQ201610247620
【公開日】2016年9月21日
【申請日】2016年4月20日
【發(fā)明人】徐小龍, 張棲桐, 魯蔚鋒, 張琳, 朱潔, 鄒志強, 劉茜萍, 賈華
【申請人】南京郵電大學