一種虛擬機(jī)遷移方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種虛擬機(jī)的迀移方法。
【背景技術(shù)】
[0002] 虛擬機(jī)在線迀移技術(shù)為云計(jì)算平臺(tái)資源管理,從而實(shí)現(xiàn)服務(wù)器之間負(fù)載動(dòng)態(tài)平 衡,避免產(chǎn)生熱點(diǎn)提供了解決方案。現(xiàn)有虛擬機(jī)在線迀移技術(shù),將網(wǎng)絡(luò)重定向局限在局域網(wǎng) 內(nèi),或采用主動(dòng)地址解析協(xié)議技術(shù),或廣播更新交換機(jī)地址表中MAC地址與端口號(hào)映射。以 上方案在一定程度上優(yōu)化了虛擬機(jī)的迀移過(guò)程,實(shí)現(xiàn)了網(wǎng)內(nèi)動(dòng)態(tài)迀移虛擬機(jī)迀移,但是也 需要相當(dāng)大的資源消耗,總的迀移時(shí)間較長(zhǎng)。
[0003] 因此,針對(duì)相關(guān)技術(shù)中所存在的上述問(wèn)題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004] 為解決上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明提出了一種虛擬機(jī)迀移方法,包括:
[0005] 用戶向云平臺(tái)服務(wù)器提交資源請(qǐng)求,云平臺(tái)服務(wù)器對(duì)當(dāng)前負(fù)載處于預(yù)設(shè)負(fù)載估計(jì) 值內(nèi)的所有物理主機(jī)上的虛擬機(jī)進(jìn)行迀移,并根據(jù)用戶請(qǐng)求選擇目標(biāo)物理主機(jī),將用戶請(qǐng) 求轉(zhuǎn)發(fā)給物理主機(jī)的虛擬機(jī)管理模塊;所述目標(biāo)物理主機(jī)上的虛擬機(jī)管理模塊創(chuàng)建和實(shí)例 化虛擬機(jī)。
[0006] 優(yōu)選地,所述用戶向云平臺(tái)服務(wù)器提交資源請(qǐng)求,進(jìn)一步包括:
[0007] 用戶業(yè)務(wù)對(duì)資源的需求為處理器資源、RAM資源、磁盤資源和帶寬資源;并且用戶 向云平臺(tái)服務(wù)器提交的請(qǐng)求通過(guò)資源請(qǐng)求矢量表示:
[0008] Vu= {CU,MU,HU,BU}
[0009] 其中,Cu表示處理器資源,Mu表示RAM資源,H u表示磁盤資源,Mu表示帶寬資源;
[0010] 對(duì)每個(gè)分量進(jìn)行加權(quán),表示為:
[0011] V/ = {cua1,mua2,hua 3,bua4}
[0012] h、入2、入3和入4分別表示業(yè)務(wù)需求中處理器資源、RAM資源、磁盤資源和帶寬資 源在用戶業(yè)務(wù)需求中分別占有的權(quán)值,且a1+a2+a3+a4= 1。
[0013] 優(yōu)選地,所述云平臺(tái)服務(wù)器根據(jù)用戶請(qǐng)求選擇目標(biāo)物理主機(jī),進(jìn)一步包括:
[0014] 云平臺(tái)服務(wù)器接收到用戶資源請(qǐng)求矢量后,開(kāi)始在物理主機(jī)群中廣播用戶業(yè)務(wù)需 求,各物理主機(jī)接收到用戶資源請(qǐng)求矢量后,對(duì)各自的負(fù)載進(jìn)行估計(jì),采用加權(quán)估計(jì)方法, 將t+1時(shí)刻的物理主機(jī)負(fù)載表示為過(guò)去t個(gè)時(shí)刻的觀測(cè)值的加權(quán)值,對(duì)與當(dāng)前時(shí)刻越近的 歷史值賦予越大的權(quán)值,則t+1時(shí)刻,物理主機(jī)的負(fù)載估計(jì)值可以表示為:
【主權(quán)項(xiàng)】
1. 一種虛擬機(jī)迀移方法,其特征在于,包括: 用戶向云平臺(tái)服務(wù)器提交資源請(qǐng)求,云平臺(tái)服務(wù)器對(duì)當(dāng)前負(fù)載處于預(yù)設(shè)負(fù)載估計(jì)值內(nèi) 的所有物理主機(jī)上的虛擬機(jī)進(jìn)行迀移,并根據(jù)用戶請(qǐng)求選擇目標(biāo)物理主機(jī),將用戶請(qǐng)求轉(zhuǎn) 發(fā)給物理主機(jī)的虛擬機(jī)管理模塊;所述目標(biāo)物理主機(jī)上的虛擬機(jī)管理模塊創(chuàng)建和實(shí)例化虛 擬機(jī)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述用戶向云平臺(tái)服務(wù)器提交資源請(qǐng)求, 進(jìn)一步包括: 用戶業(yè)務(wù)對(duì)資源的需求為處理器資源、RAM資源、磁盤資源和帶寬資源;并且用戶向云 平臺(tái)服務(wù)器提交的請(qǐng)求通過(guò)資源請(qǐng)求矢量表示: Vu= {CU,MU,HU,BJ 其中,Cu表示處理器資源,Mu表示RAM資源,Hu表示磁盤資源,M u表示帶寬資源; 對(duì)每個(gè)分量進(jìn)行加權(quán),表示為: V = {^λ1,Μυλ2,Ηυλ3,B uA4I λ i、λ 2、λ 3和λ 4分別表示業(yè)務(wù)需求中處理器資源、RAM資源、磁盤資源和帶寬資源在 用戶業(yè)務(wù)需求中分別占有的權(quán)值,且1。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述云平臺(tái)服務(wù)器根據(jù)用戶請(qǐng)求選擇目 標(biāo)物理主機(jī),進(jìn)一步包括: 云平臺(tái)服務(wù)器接收到用戶資源請(qǐng)求矢量后,開(kāi)始在物理主機(jī)群中廣播用戶業(yè)務(wù)需求, 各物理主機(jī)接收到用戶資源請(qǐng)求矢量后,對(duì)各自的負(fù)載進(jìn)行估計(jì),采用加權(quán)估計(jì)方法,將 t+Ι時(shí)刻的物理主機(jī)負(fù)載表示為過(guò)去t個(gè)時(shí)刻的觀測(cè)值的加權(quán)值,對(duì)與當(dāng)前時(shí)刻越近的歷 史值賦予越大的權(quán)值,則t+Ι時(shí)刻,物理主機(jī)的負(fù)載估計(jì)值可以表示為:
其中CpMpHjP B i為時(shí)刻i對(duì)應(yīng)的處理器資源、RAM資源、磁盤資源和帶寬資源,w馮 時(shí)間序列在時(shí)刻i對(duì)應(yīng)的權(quán)值; 當(dāng)各目標(biāo)物理主機(jī)的負(fù)載估計(jì)完畢后,首先對(duì)目標(biāo)物理主機(jī)進(jìn)行篩選,對(duì)負(fù)載大于某 預(yù)設(shè)最大閾值Pmax或負(fù)載小于某預(yù)設(shè)最小閾值P min的物理主機(jī)上的虛擬機(jī)進(jìn)行迀移,對(duì)負(fù) 載大于閾值Pmin和小于閾值P _的物理主機(jī)部署虛擬機(jī)。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)負(fù)載大于某預(yù)設(shè)最大閾值Pmax或負(fù) 載小于某預(yù)設(shè)最小閾值P min的物理主機(jī)上的虛擬機(jī)進(jìn)行迀移,進(jìn)一步包括: 當(dāng)對(duì)物理主機(jī)的負(fù)載進(jìn)行估計(jì)并通過(guò)閾值進(jìn)行篩選后,對(duì)于負(fù)載大于閾值Pmin和小于 閾值?_的物理主機(jī)加入物理主機(jī)集合S,計(jì)算其與資源請(qǐng)求矢量之間的適配矢量,其中物 理主機(jī)的性能矢量可以表示為: Vm= {Cr ,W ,W ,?,' } 其中,C'、M'、H'和B'表示物理主機(jī)的處理器資源、RAM資源、磁盤資源和帶寬資源 可用值,可以通過(guò)下式獲得:
CpMpHjP Bk為各物理主機(jī)為維持虛擬機(jī)監(jiān)視器、操作系統(tǒng)正常運(yùn)行需要的最少資源, Cmax、Mmax、Hmax和B _表示物理主機(jī)的總處理器資源、總RAM資源、總磁盤資源和總帶寬資源, C、M、H和B為所估計(jì)的當(dāng)前物理主機(jī)的各性能指標(biāo)的負(fù)載值, 并將虛擬機(jī)和物理主機(jī)之間的適配矢量表示為: D=ICr-CuApMr-MuArHr-H uApBr-BuA4I 當(dāng)物理主機(jī)的適配矢量的每一項(xiàng)均為非負(fù)數(shù)時(shí),物理主機(jī)向云平臺(tái)服務(wù)器返回物理主 機(jī)號(hào)和適配矢量; 當(dāng)云平臺(tái)服務(wù)器獲得了所有物理主機(jī)發(fā)送的適配距離矢量后,選擇業(yè)務(wù)與各物理主機(jī) D之間的距離,對(duì)所有物理主機(jī)D求其平均值Davg,對(duì)于D>Davg的所有物理主機(jī),選取具有最 小D值的物理主機(jī)作為部署虛擬機(jī)的最優(yōu)適配物理主機(jī); 對(duì)于需要迀移的虛擬機(jī): (1) 待迀移物理主機(jī)向其通信范圍內(nèi)的各物理主機(jī)發(fā)送虛擬機(jī)迀移請(qǐng)求; (2) 各物理主機(jī)接收到虛擬機(jī)迀移請(qǐng)求后,各物理主機(jī)計(jì)算各項(xiàng)可用資源,獲得性能矢 量; (3) 獲得虛擬機(jī)需求與物理主機(jī)性能矢量之間的適配矢量,并將其發(fā)送給待迀移物理 主機(jī); (4) 待迀移物理主機(jī)收到各物理主機(jī)的適配矢量后,計(jì)算相互之間的距離,并根據(jù)距離 的排序結(jié)果選擇距離平均值最近的目標(biāo)物理主機(jī)進(jìn)行迀移。
【專利摘要】本發(fā)明提供了一種虛擬機(jī)遷移方法,該方法包括:用戶向云平臺(tái)服務(wù)器提交資源請(qǐng)求,云平臺(tái)服務(wù)器對(duì)當(dāng)前負(fù)載處于預(yù)設(shè)負(fù)載估計(jì)值內(nèi)的所有物理主機(jī)上的虛擬機(jī)進(jìn)行遷移,并根據(jù)用戶請(qǐng)求選擇目標(biāo)物理主機(jī),將用戶請(qǐng)求轉(zhuǎn)發(fā)給物理主機(jī)的虛擬機(jī)管理模塊;所述目標(biāo)物理主機(jī)上的虛擬機(jī)管理模塊創(chuàng)建和實(shí)例化虛擬機(jī)。本發(fā)明提出了一種虛擬機(jī)遷移方法,進(jìn)一步優(yōu)化了虛擬機(jī)的遷移過(guò)程,減小了性能和資源消耗,降低了總的遷移時(shí)間。
【IPC分類】G06F9-455, H04L29-08, G06F9-48
【公開(kāi)號(hào)】CN104750541
【申請(qǐng)?zhí)枴緾N201510194063
【發(fā)明人】馬泳宇
【申請(qǐng)人】成都睿峰科技有限公司
【公開(kāi)日】2015年7月1日
【申請(qǐng)日】2015年4月22日