專利名稱:虛擬機遷移方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種虛擬機遷移方法及裝置。
背景技術(shù):
虛擬化技術(shù)是在物理機上,通過虛擬機管理器(Virtual Machine Manager,簡稱為VMM)將物理資源分割為多個邏輯的分區(qū),每個分區(qū)相互隔離,成為獨立的虛擬機 (Virtual Machine,簡稱為VM)。對操作系統(tǒng)或應(yīng)用程序來說,虛擬機與物理機沒有區(qū)別,操作系統(tǒng)或應(yīng)用程序可以共享同一臺物理機。圖1是根據(jù)相關(guān)技術(shù)的虛擬機系統(tǒng)的示意圖,如圖1所示,包括物理機12和交換機14。其中,物理機12上設(shè)置有虛擬機管理器122 (以下簡稱VMM 122),物理機12通過VMM 122可以運行多個虛擬機124(以下簡稱VM 124), VMM 122負(fù)責(zé)管理VM 124,為VM IM分配資源。交換機14上存儲有物理機12的物理端口地址和VM 124的MAC地址。當(dāng)操作系統(tǒng)或應(yīng)用程序與VM 124進(jìn)行業(yè)務(wù)交互時,由交換機16根據(jù)存儲的VM 124的MAC地址,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給物理機12的物理端口地址。虛擬機具有動態(tài)遷移的能力,在動態(tài)遷移過程中能夠保持虛擬機上操作系統(tǒng)或應(yīng)用程序的正常運行。虛擬機動態(tài)遷移在虛擬機管理調(diào)度中是非常重要的一項功能,例如在物理機需要維護(hù)時,可以將其上的虛擬機遷移到其它物理機上,保證維護(hù)過程中不影響業(yè)務(wù);又如在虛擬機負(fù)載較輕時,可以將多臺物理機上的虛擬機遷移到少數(shù)幾臺物理機上,并關(guān)閉其它物理機的電源,在不影響業(yè)務(wù)的情況下節(jié)約能耗。圖2是根據(jù)相關(guān)技術(shù)的虛擬機遷移系統(tǒng)的示意圖,如圖2所示,包括源物理機22、 目的物理機M和交換機沈。其中,源物理機22上設(shè)置有源虛擬機管理器222(以下簡稱源 VMM222),源物理機22通過源VMM 222可以運行多個源虛擬機224(以下簡稱源VM 224) 0目的物理機M上設(shè)置有目的虛擬機管理器242 (以下簡稱目的VMM 242),將虛擬機從源物理機22遷移到目的物理機M,需要創(chuàng)建一個新的虛擬機(即目的VMM4),遷移由源VMM 222 和目的VMM 242配合完成。虛擬機的遷移是通過在源VM和目的VM之間拷貝內(nèi)存來實現(xiàn)的。遷移開始時,源 VMM將源虛擬機的內(nèi)存拷貝到目的虛擬機內(nèi)存中,在拷貝過程中由于應(yīng)用程序還在運行, 內(nèi)存拷貝完成后,又有內(nèi)存發(fā)生了改變,源VMM會啟動新一輪拷貝,將變動的內(nèi)存再進(jìn)行拷貝。當(dāng)變動的內(nèi)存足夠小時,源VMM會暫停源虛擬機的運行,將剩下變動的內(nèi)存拷貝到目的虛擬機中。然后,目的VMM會啟動目的虛擬機,目的虛擬機開始運行,遷移完成。圖3是根據(jù)相關(guān)技術(shù)的虛擬機遷移方法的交互流程圖,如圖3所示,包括如下的步驟S302至步驟S316。步驟S302,源VMM持續(xù)拷貝源VM內(nèi)存到目的VMM,目的VMM為目的VM分配內(nèi)存資源,接收傳送過來的內(nèi)存數(shù)據(jù)。步驟S304,當(dāng)拷貝幾輪后,剩下變動的內(nèi)存小到一定量級后,源VMM暫停源VM的運行。
步驟S306,源VMM拷貝最后變動的內(nèi)存到目的VMM。步驟S308,目的VMM返回拷貝完成應(yīng)答。步驟S310,目的VMM啟動目的VM,目的VM開始運行。步驟S312,源VMM釋放源VM資源。步驟S314,目的VM運行起來后發(fā)送一個數(shù)據(jù)包給交換機,該數(shù)據(jù)包用于通知該交換機虛擬機已遷移到目的物理機,并將該目的物理機的地址告知該交換機。步驟S316,交換機接收到目的VM的數(shù)據(jù)包,更新端口地址表,開始正常網(wǎng)絡(luò)通信。由此可見,在步驟S306至步驟S314的一段時間內(nèi),交換機并不知道虛擬機已遷移到目的物理機,仍然將業(yè)務(wù)數(shù)據(jù)發(fā)送到源物理機。這樣,會導(dǎo)致在源VMM拷貝最后變動的內(nèi)存到目的VMM之后,在交換機接收到目的VM的數(shù)據(jù)包之前,虛擬機與外界的網(wǎng)絡(luò)連接的中斷,從而導(dǎo)致業(yè)務(wù)數(shù)據(jù)丟失,并對上層業(yè)務(wù)造成影響。
發(fā)明內(nèi)容
針對相關(guān)技術(shù)中,在虛擬機遷移過程中,由于虛擬機與外界的網(wǎng)絡(luò)連接中斷而導(dǎo)致業(yè)務(wù)數(shù)據(jù)丟失的問題而提出本發(fā)明,為此,本發(fā)明提供了一種虛擬機遷移方法及裝置,以至少解決上述問題。根據(jù)本發(fā)明的一個方面,提供了一種虛擬機遷移方法,包括確定將業(yè)務(wù)從源虛擬機遷移到目的虛擬機;對交換機發(fā)送給源虛擬機的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存;在目的虛擬機啟動之后,向目的虛擬機發(fā)送緩存的業(yè)務(wù)數(shù)據(jù)。優(yōu)選地,在對交換機發(fā)送給源虛擬機的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存之前,上述方法還包括設(shè)置自身的媒體接入控制MAC地址;指示交換機將業(yè)務(wù)數(shù)據(jù)發(fā)送到MAC地址。優(yōu)選地,設(shè)置自身的MAC地址包括設(shè)置自身的MAC地址為目的虛擬機的MAC地址。優(yōu)選地,指示交換機將業(yè)務(wù)數(shù)據(jù)發(fā)送到MAC地址包括向交換機發(fā)送地址表更新數(shù)據(jù)包,其中所述地址表更新數(shù)據(jù)包用于請求所述交換機學(xué)習(xí)到所述源虛擬機的MAC地址的位置。優(yōu)選地,在向目的虛擬機發(fā)送緩存的業(yè)務(wù)數(shù)據(jù)之前,上述方法還包括對源虛擬機發(fā)送的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存。根據(jù)本發(fā)明的另一方面,提供了一種虛擬機遷移裝置,包括確定模塊,用于確定將業(yè)務(wù)從源虛擬機遷移到目的虛擬機;第一緩存模塊,用于對交換機發(fā)送給源虛擬機的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存;發(fā)送模塊,用于在目的虛擬機啟動之后,向目的虛擬機發(fā)送緩存的業(yè)務(wù)數(shù)據(jù)。優(yōu)選地,上述裝置還包括設(shè)置模塊,用于設(shè)置自身的MAC地址;指示模塊,用于指示交換機將業(yè)務(wù)數(shù)據(jù)發(fā)送到MAC地址。優(yōu)選地,設(shè)置模塊包括設(shè)置子模塊,用于設(shè)置自身的MAC地址為目的虛擬機的 MAC地址。優(yōu)選地,指示模塊包括發(fā)送子模塊,用于向交換機發(fā)送地址表更新數(shù)據(jù)包,其中所述地址表更新數(shù)據(jù)包用于請求所述交換機學(xué)習(xí)到所述源虛擬機的MAC地址的位置。優(yōu)選地,上述裝置還包括第二緩存模塊,用于對源虛擬機發(fā)送的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存。通過本發(fā)明,預(yù)留有一定空間緩存交換機發(fā)給源虛擬機的業(yè)務(wù)數(shù)據(jù),并在目的虛擬機啟動之后,將緩存的業(yè)務(wù)數(shù)據(jù)發(fā)送給目的虛擬機,從而保證在虛擬機遷移過程中業(yè)務(wù)數(shù)據(jù)不丟失。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)相關(guān)技術(shù)的虛擬機系統(tǒng)的示意圖;圖2是根據(jù)相關(guān)技術(shù)的虛擬機遷移系統(tǒng)的示意圖;圖3是根據(jù)相關(guān)技術(shù)的虛擬機遷移方法的交互流程圖;圖4是根據(jù)本發(fā)明實施例的虛擬機遷移系統(tǒng)的結(jié)構(gòu)框圖;圖5是根據(jù)本發(fā)明實施例的虛擬機遷移方法的流程圖;圖6是根據(jù)本發(fā)明實施例的虛擬機遷移系統(tǒng)的示意圖;圖7是根據(jù)本發(fā)明優(yōu)選實施例的虛擬機遷移方法的交互流程圖;圖8是根據(jù)本發(fā)明實施例的虛擬機遷移裝置的結(jié)構(gòu)框圖;圖9是根據(jù)本發(fā)明優(yōu)選實施例一的虛擬機遷移裝置的結(jié)構(gòu)框圖;圖10是根據(jù)本發(fā)明優(yōu)選實施例二的虛擬機遷移裝置的結(jié)構(gòu)框圖;圖11是根據(jù)本發(fā)明優(yōu)選實施例三的虛擬機遷移裝置的結(jié)構(gòu)框圖;圖12是根據(jù)本發(fā)明優(yōu)選實施例四的虛擬機遷移裝置的結(jié)構(gòu)框圖。
具體實施例方式需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。
本發(fā)明提供了一種虛擬機遷移系統(tǒng)。圖4是根據(jù)本發(fā)明實施例的虛擬機遷移系統(tǒng)的結(jié)構(gòu)框圖,如圖4所示,包括源VM 42、目的VM 44、交換機46和虛擬機遷移裝置48。其中,虛擬機遷移裝置48用于對業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存,以保證在虛擬機遷移過程中業(yè)務(wù)數(shù)據(jù)不丟失。下面對其進(jìn)行詳細(xì)描述。本發(fā)明還提供了一種虛擬機遷移方法,圖5是根據(jù)本發(fā)明實施例的虛擬機遷移方法的流程圖,如圖5所示,包括如下的步驟S502至步驟S506。步驟S502,確定將業(yè)務(wù)從源VM遷移到目的VM。步驟S504,對交換機發(fā)送給源VM的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存。步驟S506,在目的VM啟動之后,向目的VM發(fā)送緩存的業(yè)務(wù)數(shù)據(jù)。相關(guān)技術(shù)中,在虛擬機遷移過程中,由于虛擬機與外界的網(wǎng)絡(luò)連接中斷而導(dǎo)致業(yè)務(wù)數(shù)據(jù)丟失。本發(fā)明實施例中,由虛擬機遷移裝置預(yù)留有一定空間緩存交換機發(fā)給源VM的業(yè)務(wù)數(shù)據(jù),并在目的VM啟動之后,將緩存的業(yè)務(wù)數(shù)據(jù)發(fā)送給目的VM,從而保證在虛擬機遷移過程中業(yè)務(wù)數(shù)據(jù)不丟失。優(yōu)選地,在步驟S504之前,還可以由虛擬機遷移裝置設(shè)置自身的MAC地址,并指示交換機將業(yè)務(wù)數(shù)據(jù)發(fā)送到MAC地址。這樣,由虛擬機遷移裝置直接指示交換機將業(yè)務(wù)數(shù)據(jù)
5發(fā)送到自身,可以保證業(yè)務(wù)數(shù)據(jù)無差錯無丟失的緩存,并且其實現(xiàn)方式簡單、可靠。需要說明的是,在不背離本優(yōu)選實施例的設(shè)計思想的前提下,本優(yōu)選實施例還存在多種變形方式, 例如,可以由目的VM設(shè)置虛擬機遷移裝置的MAC地址,還可以采用例如IP地址等多種地址信息標(biāo)識虛擬機遷移裝置,這些變形方式均應(yīng)當(dāng)納入本發(fā)明的保護(hù)范圍。進(jìn)一步地,還可以將虛擬機遷移裝置的MAC地址設(shè)置為目的VM的MAC地址。另外,考慮到交換機通常通過地址表存儲各虛擬機的MAC地址,本發(fā)明中可以通過向交換機發(fā)送地址表更新數(shù)據(jù)包直接更新該地址表,從而使交換機更新此MAC地址所在的新的端口信息,其實現(xiàn)方式簡單、可靠。需要說明的是,本優(yōu)選實施例中通過發(fā)送地址表更新數(shù)據(jù)包而更新地址表僅僅是一種舉例,實際應(yīng)用中,其它更新地址表的方式,例如在某個數(shù)據(jù)中增加指示地址表更新的標(biāo)記或信息,均應(yīng)當(dāng)納入本發(fā)明的保護(hù)范圍。另外,還考慮到在源VM遷移到目的VM的過程中,尤其是在虛擬機遷移裝置指示交換機將業(yè)務(wù)數(shù)據(jù)發(fā)送到自身之前,仍存在源VM接收到業(yè)務(wù)數(shù)據(jù)的可能性,所以在向目的VM 發(fā)送緩存的業(yè)務(wù)數(shù)據(jù)之前,還需緩存源VM發(fā)送的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)。本優(yōu)選實施例中,將源 VM接收到的業(yè)務(wù)數(shù)據(jù)再次轉(zhuǎn)發(fā)到虛擬機遷移裝置并緩存,然后由虛擬機遷移裝置將先后緩存的業(yè)務(wù)數(shù)據(jù)一并發(fā)送給目的VM,從而可以進(jìn)一步保證在虛擬機遷移過程中業(yè)務(wù)數(shù)據(jù)萬無一失。更進(jìn)一步地,本發(fā)明的虛擬機遷移裝置可以設(shè)置在目的VM之內(nèi),以便在目的VM啟動之后,通過目的VM內(nèi)部的高速數(shù)據(jù)傳輸通道向目的VM發(fā)送緩存的業(yè)務(wù)數(shù)據(jù)。綜上,本發(fā)明的虛擬機遷移方法可以簡述如下在虛擬機遷移裝置確定需要進(jìn)行虛擬機遷移后,在目的物理機中設(shè)置虛擬機遷移裝置自身的MAC地址(優(yōu)選方案為把該裝置的MAC地址設(shè)置為目的虛擬機的MAC地址),并以此地址發(fā)送一個數(shù)據(jù)包給交換機,此時交換機端口獲知新的MAC地址,隨后的業(yè)務(wù)數(shù)據(jù)都將轉(zhuǎn)發(fā)到新MAC地址,該虛擬機遷移裝置緩存這些業(yè)務(wù)數(shù)據(jù);另外,可能會有業(yè)務(wù)數(shù)據(jù)仍然發(fā)送給源VM所在的端口,這時源VMM負(fù)責(zé)將這些業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給虛擬機遷移裝置緩存。當(dāng)遷移完成時再將這些緩存的業(yè)務(wù)數(shù)據(jù)發(fā)送給目的VM。這樣,遷移過程中數(shù)據(jù)包不會丟失。下面將結(jié)合實例對本發(fā)明實施例的實現(xiàn)過程進(jìn)行詳細(xì)描述。圖6是根據(jù)本發(fā)明實施例的虛擬機遷移系統(tǒng)的示意圖,如圖6所示,包括源物理機 62、目的物理機64和交換機66。其中,源物理機62上設(shè)置有源VMM 622,源物理機62通過源VMM 622可以運行多個源VM 624。目的物理機64上設(shè)置有目的VMM 642,目的物理機64 通過目的VMM 642可以運行多個目的VM 644。將虛擬機從源物理機62遷移到目的物理機 64,需要源VMM 622和目的VMM 642配合完成。另外,目的物理機64上還設(shè)置有虛擬網(wǎng)卡 646,該虛擬網(wǎng)卡646對應(yīng)于上述用于緩存業(yè)務(wù)數(shù)據(jù)虛擬機遷移裝置,用于保證在虛擬機遷移過程的業(yè)務(wù)數(shù)據(jù)不丟失。下面結(jié)合圖6介紹本發(fā)明的一個優(yōu)選實施例。圖7是根據(jù)本發(fā)明優(yōu)選實施例的虛擬機遷移方法的交互流程圖,如圖7所示,包括如下的步驟S702至步驟S722。步驟S702,源VMM持續(xù)拷貝源VM內(nèi)存到目的VMM,目的VMM為目的VM分配內(nèi)存資源,接收傳送過來的內(nèi)存數(shù)據(jù)。步驟S704,當(dāng)拷貝幾輪后,剩下變動的內(nèi)存小到一定量級后,源VMM向目的VMM發(fā)送轉(zhuǎn)移網(wǎng)絡(luò)接口請求。,執(zhí)行步驟S704的同時,源VMM暫停源VM。步驟S708,目的VMM創(chuàng)建虛擬網(wǎng)卡,綁定虛擬機MAC地址。步驟S710,目的VMM通過虛擬網(wǎng)卡發(fā)送一個數(shù)據(jù)包給交換機,交換機收到此數(shù)據(jù)包后更新地址表,虛擬網(wǎng)卡開始緩存發(fā)送給此MAC地址的數(shù)據(jù)包。步驟S712,源VMM拷貝最后變動的內(nèi)存到目的VMM,同時可能還有交換機更新地址表前發(fā)送的數(shù)據(jù)包到達(dá)源VMM,此時源VMM負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)包到目的VMM的虛擬網(wǎng)卡。步驟S714,目的VMM返回拷貝完成應(yīng)答。步驟S716,源VMM釋放源VM資源。步驟S718,目的VMM啟動目的VM。步驟S720,目的VMM發(fā)送緩存的數(shù)據(jù)包給目的VM。步驟S722,目的VMM釋放虛擬網(wǎng)卡。從本優(yōu)選實施例中可以看出,虛擬機遷移過程中,數(shù)據(jù)包不會丟失,并保證原有的順序,同時目的VM啟動后,網(wǎng)絡(luò)立即可用,網(wǎng)絡(luò)失效時間明顯縮短。需要說明的是,本優(yōu)選實施例中,步驟S708至步驟S710與步驟S712至步驟S716 的順序不分先后。如果步驟S712至步驟S716在前,對虛擬網(wǎng)卡的創(chuàng)建以及虛擬網(wǎng)卡緩存交換機發(fā)送的數(shù)據(jù)包并沒有影響,也可以解決在虛擬機遷移過程中,由于虛擬機與外界的網(wǎng)絡(luò)連接中斷會導(dǎo)致業(yè)務(wù)數(shù)據(jù)丟失的問題。需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。本發(fā)明實施例提供了一種虛擬機遷移裝置,該虛擬機遷移裝置可以用于實現(xiàn)上述虛擬機遷移方法。圖8是根據(jù)本發(fā)明實施例的虛擬機遷移裝置的結(jié)構(gòu)框圖,如圖8所示,包括確定模塊81,第一緩存模塊82和發(fā)送模塊83。下面對其結(jié)構(gòu)進(jìn)行詳細(xì)介紹。確定模塊81,用于確定將業(yè)務(wù)從源VM遷移到目的VM ;第一緩存模塊82,連接至確定模塊81,用于對交換機發(fā)送給源VM的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存;發(fā)送模塊83,連接至第一緩存模塊82,用于在目的VM啟動之后,向目的VM發(fā)送第一緩存模塊82緩存的業(yè)務(wù)數(shù)據(jù)。圖9是根據(jù)本發(fā)明優(yōu)選實施例一的虛擬機遷移裝置的結(jié)構(gòu)框圖,如圖9所示,上述虛擬機遷移裝置還包括設(shè)置模塊84和指示模塊85。其中,設(shè)置模塊84,連接至確定模塊81,用于設(shè)置自身的MAC地址;指示模塊85, 連接至設(shè)置模塊84,用于指示交換機將業(yè)務(wù)數(shù)據(jù)發(fā)送到設(shè)置模塊84設(shè)置的MAC地址。圖10是根據(jù)本發(fā)明優(yōu)選實施例二的虛擬機遷移裝置的結(jié)構(gòu)框圖,如圖10所示,設(shè)置模塊84包括設(shè)置子模塊842,連接至確定模塊81,用于設(shè)置自身的MAC地址為目的VM的 MAC地址。圖11是根據(jù)本發(fā)明優(yōu)選實施例三的虛擬機遷移裝置的結(jié)構(gòu)框圖,如圖11所示,指示模塊85包括發(fā)送子模塊852,連接至設(shè)置模塊84,用于向交換機發(fā)送地址表更新數(shù)據(jù)包, 其中所述地址表更新數(shù)據(jù)包用于請求所述交換機學(xué)習(xí)到所述源虛擬機的MAC地址的位置。 本優(yōu)選實施例中,通過發(fā)送子模塊852直接將交換機地址表中的源VM的MAC地址更新為目的VM的MAC地址,其實現(xiàn)方式簡單、可靠。圖12是根據(jù)本發(fā)明優(yōu)選實施例四的虛擬機遷移裝置的結(jié)構(gòu)框圖,如圖12所示,上述裝置還包括第二緩存模塊86,連接至第一緩存模塊82,用于對源VM發(fā)送的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存。本優(yōu)選實施例中,將源VM接收到的業(yè)務(wù)數(shù)據(jù)再次轉(zhuǎn)發(fā)到第二緩存模塊86緩存,然后由發(fā)送模塊83將先后緩存的業(yè)務(wù)數(shù)據(jù)一并發(fā)送給目的VM,從而可以進(jìn)一步保證在虛擬機遷移過程的業(yè)務(wù)數(shù)據(jù)不丟失需要說明的是,裝置實施例中描述的虛擬機遷移裝置對應(yīng)于上述的方法實施例, 其具體的實現(xiàn)過程在方法實施例中已經(jīng)進(jìn)行過詳細(xì)說明,在此不再贅述。綜上所述,根據(jù)本發(fā)明的上述實施例,提供了一種虛擬機遷移方法及裝置。通過本發(fā)明,預(yù)留有一定空間緩存交換機發(fā)給源VM的業(yè)務(wù)數(shù)據(jù),并在目的VM啟動之后,將緩存的業(yè)務(wù)數(shù)據(jù)發(fā)送給目的VM,從而保證在虛擬機遷移過程網(wǎng)絡(luò)能夠盡快恢復(fù)正常運轉(zhuǎn),業(yè)務(wù)數(shù)據(jù)不丟失。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種虛擬機遷移方法,其特征在于包括確定將業(yè)務(wù)從源虛擬機遷移到目的虛擬機;對交換機發(fā)送給所述源虛擬機的所述業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存;在所述目的虛擬機啟動之后,向所述目的虛擬機發(fā)送所述緩存的業(yè)務(wù)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在對所述交換機發(fā)送給所述源虛擬機的所述業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存之前,還包括設(shè)置自身的媒體接入控制MAC地址;指示所述交換機將所述業(yè)務(wù)數(shù)據(jù)發(fā)送到所述MAC地址。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,設(shè)置自身的MAC地址包括設(shè)置自身的 MAC地址為所述目的虛擬機的MAC地址。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,指示所述交換機將所述業(yè)務(wù)數(shù)據(jù)發(fā)送到所述MAC地址包括向所述交換機發(fā)送地址表更新數(shù)據(jù)包,其中所述地址表更新數(shù)據(jù)包用于請求所述交換機學(xué)習(xí)到所述源虛擬機的MAC地址的位置。
5.根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,在向所述目的虛擬機發(fā)送所述緩存的業(yè)務(wù)數(shù)據(jù)之前,還包括對所述源虛擬機發(fā)送的所述業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存。
6.一種虛擬機遷移裝置,其特征在于包括確定模塊,用于確定將業(yè)務(wù)從源虛擬機遷移到目的虛擬機;第一緩存模塊,用于對交換機發(fā)送給所述源虛擬機的所述業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存;發(fā)送模塊,用于在所述目的虛擬機啟動之后,向所述目的虛擬機發(fā)送所述緩存的業(yè)務(wù)數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括設(shè)置模塊,用于設(shè)置自身的MAC地址;指示模塊,用于指示所述交換機將所述業(yè)務(wù)數(shù)據(jù)發(fā)送到所述MAC地址。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,設(shè)置模塊包括設(shè)置子模塊,用于設(shè)置自身的MAC地址為所述目的虛擬機的MAC地址。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,指示模塊包括發(fā)送子模塊,用于向所述交換機發(fā)送地址表更新數(shù)據(jù)包,其中所述地址表更新數(shù)據(jù)包用于請求所述交換機學(xué)習(xí)到所述源虛擬機的MAC地址的位置。
10.根據(jù)權(quán)利要求6至9中任一項所述的裝置,其特征在于,還包括第二緩存模塊,用于對所述源虛擬機發(fā)送的所述業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存。
全文摘要
本發(fā)明公開了一種虛擬機遷移方法及裝置,該方法包括確定將業(yè)務(wù)從源虛擬機遷移到目的虛擬機;對交換機發(fā)送給源虛擬機的業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)進(jìn)行緩存;在目的虛擬機啟動之后,向目的虛擬機發(fā)送緩存的業(yè)務(wù)數(shù)據(jù)。本發(fā)明解決了在虛擬機遷移過程中,由于虛擬機與外界的網(wǎng)絡(luò)連接中斷會導(dǎo)致業(yè)務(wù)數(shù)據(jù)丟失的問題,保證了虛擬機遷移過程中業(yè)務(wù)數(shù)據(jù)不丟失。
文檔編號H04L12/56GK102333037SQ20111032037
公開日2012年1月25日 申請日期2011年10月20日 優(yōu)先權(quán)日2011年10月20日
發(fā)明者馬蘇安 申請人:中興通訊股份有限公司