專利名稱:保持虛擬機器的遠程操作不中斷的方法
技術(shù)領(lǐng)域:
一種虛擬機器的管理方法,特別是有關(guān)于一種保持虛擬機器的遠程操作不中斷的 方法。
背景技術(shù):
隨著集成電路快速發(fā)展,連帶的讓中央處理單元的運算能力的提高。因此單一臺 服務(wù)器可以同時運行多臺虛擬機器(Virtual Machine),借以提供給每一使用者獨立的運 作環(huán)境。每一臺虛擬機器可以視為各自獨立的計算機。在虛擬機器中亦具有內(nèi)存、儲存空 間、運算能力與網(wǎng)絡(luò)連結(jié)功能,所以在虛擬機器中可以運行獨自的操作系統(tǒng),也可以通過虛 擬機器連接因特網(wǎng)。因此,為了能降低計算機硬件成本的開銷,已經(jīng)有許多公司在單一服務(wù)器上運行 多臺虛擬機器的方式提供給各種不同需求的運作環(huán)境給員工進行工作。一般而言,為能確 保每一個虛擬機器的運作能力,所以會限定單一服務(wù)器中所運行虛擬機器的數(shù)量。當(dāng)服務(wù) 器所能分享的運算能力下降時,則需將部分虛擬機器搬遷至另一服務(wù)器中運行。請參考圖1所示,其為公知虛擬機器遷移示意圖。由于將虛擬機器110搬移時,在 不同服務(wù)器上的虛擬機器110的媒體存取控制地址(Media AccessControl address,簡稱 MAC)會保持不變。但是不同服務(wù)器連接到交換機時會被分配到不同的通訊端口(port)。而且在交換 器中具有一個MAC表(MAC Table),MAC表用來表示來源MAC和交換器的通訊端口的對應(yīng)關(guān) 系。換言之,就是從哪個通訊端口接收封包,封包的來源MAC和該通訊端口就會建立一種對 應(yīng)關(guān)系。交換器就是根據(jù)該對應(yīng)關(guān)系來進行封包的轉(zhuǎn)發(fā),對新接收到的封包,如果封包中的 目標MAC在MAC表里有通訊端口對應(yīng),則只將該封包轉(zhuǎn)發(fā)給對應(yīng)通訊端口。如果沒有,才廣 播給所有通訊端口。但這個映射關(guān)系并不是一直存在的。當(dāng)該通訊端口一段時間內(nèi)都沒有 再接收進來對應(yīng)來源MAC的封包,該映射關(guān)系就會被清除。除此之外,當(dāng)虛擬機器110從舊服務(wù)器遷移至新服務(wù)器時,虛擬機器110并不會得 知提供服務(wù)的機器已經(jīng)異動。因此,虛擬機器110會通過新服務(wù)器連接至交換器。這時候, 新服務(wù)器在交換器上所占用的通訊端口將與舊服務(wù)器所占用的通訊端口不同。所以,當(dāng)交 換器欲發(fā)送封包至虛擬機器110時,則會按照舊有的路線將封包發(fā)送給舊的服務(wù)器。如此 一來,虛擬機器110就無法再順利接收到封包。由于虛擬機器110在從舊服務(wù)器搬遷到新的服務(wù)器,所耗費的時間可能超過映像 關(guān)系的保存時間,進而導(dǎo)致交換器將該筆映射刪除掉。這樣一來,虛擬機器110需要重新建 立映像關(guān)系,將會浪費許多時間在網(wǎng)絡(luò)連通上。
發(fā)明內(nèi)容
鑒于以上的問題,本發(fā)明的主要目的在于提供一種保持虛擬機器的遠程操作不中 斷的方法,保持虛擬機器的遠程操作不中斷的方法。
為達上述目的,本發(fā)明所揭露的保持虛擬機器的遠程操作不中斷的方法包括以下 步驟步驟a.對第一計算機的虛擬機器進行快照程序,并產(chǎn)生快照副本;步驟b.將快照副本復(fù)制至第二計算機;步驟c.根據(jù)快照副本在第二計算機中產(chǎn)生新的虛擬機器,但不啟動第二計算機 中的虛擬機器;步驟d.獲取虛擬機器的虛擬網(wǎng)絡(luò)卡的媒體存取控制地址;步驟e.產(chǎn)生相應(yīng)虛擬網(wǎng)絡(luò)卡的地址解析協(xié)議封包;步驟f.通過第二計算機的實體網(wǎng)絡(luò)卡廣播虛擬機器的地址解析協(xié)議封包至交換 器;步驟g.暫停第一計算機中所運行的虛擬機器;步驟h.在步驟a 步驟g之間第一計算機的虛擬機器所產(chǎn)生的異動復(fù)制到第二 計算機的虛擬機器;步驟i.啟動第二計算機中所運行的虛擬機器;以及步驟j.關(guān)閉第一計算機的虛擬機器。上述的保持虛擬機器的遠程操作不中斷的方法,其中,該快照副本包括該第一計 算機的一內(nèi)存信息、一周邊裝置信息與該虛擬網(wǎng)絡(luò)卡的硬件信息。上述的保持虛擬機器的遠程操作不中斷的方法,其中,在該步驟e中更包括將該 虛擬網(wǎng)絡(luò)卡的媒體存取控制地址寫入該地址解析協(xié)議封包中的一來源字段。上述的保持虛擬機器的遠程操作不中斷的方法,其中,步驟f 后更包括在步驟 a 步驟g之間該第一計算機的該虛擬機器所產(chǎn)生的異動復(fù)制到該第二計算機的該虛擬機
o上述的保持虛擬機器的遠程操作不中斷的方法,其中,根據(jù)該來源字段所記錄的 該媒體存取控制地址,用以在該交換器中更新該第二計算機的該虛擬機器的該媒體存取控 制地址對該交換器的通訊端口的對應(yīng)關(guān)系。本發(fā)明提供一種在虛擬機器遷移至新的實體計算機時仍能保持操作不中斷的處 理方法,換言之就是使用者對虛擬機器的操作不會因為實體計算機的異動而受到中斷。本 發(fā)明在虛擬機器從第一計算機中搬移前進行快照程序,并依據(jù)上述步驟進行搬移,使得虛 擬機器可以實現(xiàn)無縫的搬移。如此一來,在虛擬機器搬移完成后,即立刻自動在交換機上重 新建立了對虛擬機器網(wǎng)卡和交換機通訊端口的映像關(guān)系,無需等待舊的映射關(guān)系失效后再 由交換機建立該映射關(guān)系,否則,這個等待期間外界對虛擬機器的訪問就會中斷了。以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1為公知虛擬機器遷移示意圖;圖2為本發(fā)明的架構(gòu)示意圖;圖3為本發(fā)明的運作流程示意圖;圖4A為本發(fā)明運作示意圖;圖4B為本發(fā)明運作示意圖4C為本發(fā)明運作示意圖;圖4D為本發(fā)明運作示意圖。其中,附圖標記110-虛擬機器120-交換器210-虛擬機器220-交換器230-第一計算機240-第二計算機
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明技術(shù)方案進行詳細的描述,以更進一步了解 本發(fā)明的目的、方案及功效,但并非作為本發(fā)明所附權(quán)利要求保護范圍的限制。本發(fā)明可應(yīng)用在具有提供虛擬機器服務(wù)的計算機(例如服務(wù)器、個人計算機或 筆記型計算機等)。為能清楚說明本發(fā)明的整體架構(gòu)還請參考圖2所示,其為本發(fā)明的架構(gòu) 示意圖。在圖2中包括交換器220、第一計算機230與第二計算機240。第一計算機230與 第二計算機240均能運行虛擬機器210的服務(wù)。本發(fā)明對于虛擬機器210運行的操作系統(tǒng) 與虛擬的硬件環(huán)境并不限定。首先,在第一計算機230中運行虛擬機器210,并將虛擬機器210從第一計算機 230遷移到第二計算機240。接下來,請參考圖3所示,其為本發(fā)明的運作流程示意圖。步驟a.由第一計算機該虛擬機器進行快照程序,并產(chǎn)生快照副本;步驟b.將快照副本復(fù)制至第二計算機;步驟c.根據(jù)快照副本在第二計算機中產(chǎn)生新的虛擬機器,且不啟動第二計算機 中的虛擬機器;步驟d.獲取在第二計算機上的虛擬機器的虛擬網(wǎng)絡(luò)卡的媒體存取控制地址;步驟e.產(chǎn)生相應(yīng)虛擬網(wǎng)絡(luò)卡的地址解析協(xié)議封包;步驟f.通過第二計算機的實體網(wǎng)絡(luò)卡發(fā)送虛擬機器的地址解析協(xié)議封包至交換 器;步驟g.暫停第一計算機中所運行的虛擬機器;步驟h.在步驟a 步驟g之間第一計算機的虛擬機器所產(chǎn)生的異動復(fù)制到第二 計算機的虛擬機器;步驟i.啟動第二計算機中所運行的虛擬機器;以及步驟j.關(guān)閉第一計算機的虛擬機器。為能清楚說明本發(fā)明運作流程,還請同時配合圖4A、 圖4D所示。在第一計算機 230上對虛擬機器210進行快照程序(snapshot),快照程序用以對虛擬機器210的環(huán)境信 息(例如虛擬的中央處理器、內(nèi)存大小、儲存空間或相關(guān)硬件信息)進行備份復(fù)制(如圖 4A的第二計算機240中以虛線表示的虛擬機器210)。在完成快照程序后,第一計算機230 會將快照數(shù)據(jù)傳送到第二計算機240。當(dāng)?shù)诙嬎銠C240在完成虛擬機器210的快照數(shù)據(jù) 接收后,第二計算機240根據(jù)快照數(shù)據(jù)創(chuàng)建相同虛擬硬件環(huán)境的虛擬機器210(對應(yīng)步驟
5a 步驟c)。但值得注意的是,這時候在第二計算機240上的虛擬機器210是尚未被啟動 的。第二計算機240在創(chuàng)建虛擬機器210的過程中,第二計算機會根據(jù)從第一計算機 傳遞過來的虛擬機器的配置信息創(chuàng)建出虛擬機器的各種設(shè)備,包括虛擬網(wǎng)卡,且虛擬網(wǎng)卡 的MAC和在第一計算機上的虛擬機器210是絕對保持一致不變的,所以在本發(fā)明中在第二 計算機240創(chuàng)建好虛擬機器并獲取虛擬機器MAC地址后,第二計算機240會通過虛擬網(wǎng)絡(luò) 卡發(fā)出地址解析協(xié)議封包(Address Resolution Protocol簡稱ARP)。在此一 ARP封包中, 會將虛擬網(wǎng)絡(luò)卡的媒體存取控制地址寫入地址解析協(xié)議封包中的來源字段里(對應(yīng)步驟 d 步驟f),但不需對ARP封包的內(nèi)容寫入任何數(shù)據(jù)或隨意寫入一些不影響網(wǎng)絡(luò)的虛假數(shù) 據(jù)。由于第二計算機240可以得知虛擬機器210的MAC地址(虛擬機器的MAC在不同 服務(wù)器上都保持不變,這是由虛擬機器的配置信息決定的),所以可以由第二計算機240代 替虛擬機器210發(fā)送ARP封包給交換器220。而此一步驟的主要目的是要將虛擬機器210 的MAC地址廣播給交換器220,因此不需對ARP封包的內(nèi)容作任何添加。接著,在運行步驟a 步驟f的期間,對于第一計算機230的虛擬機器210所產(chǎn)生 的異動進行備份,并將異動部分復(fù)制到第二機器的虛擬機器210中。由于在此期間,第一計 算機230的虛擬機器210并未停止運作,因此可能會有部分異動的數(shù)據(jù)。為確保虛擬機器 210在搬移前后的數(shù)據(jù)一致性,所以在第一計算機230的虛擬機器210停止前,將有異動的 數(shù)據(jù)復(fù)制到第二計算機240的虛擬機器210中(對應(yīng)步驟g 步驟h)。當(dāng)把異動的數(shù)據(jù)復(fù)制到第二計算機240的虛擬機器210后,隨即啟動第二計算機 240中所運行的虛擬機器210。并通過第二計算機240的實體網(wǎng)絡(luò)卡發(fā)送虛擬機器210的 ARP封包。在網(wǎng)絡(luò)解析封包中已加入虛擬機器210的MAC地址(換言之,虛擬機器的MAC位 址地址保持不變)。當(dāng)交換器220接收到此一封包時,交換器220會向各層級的網(wǎng)絡(luò)設(shè)備進 行更新數(shù)據(jù)的動作。換言之,借助第二計算機240發(fā)送代表虛擬機器210的ARP封包給交 換器220,借以更新各網(wǎng)絡(luò)設(shè)備的MAC表格。最后,將第一計算機230中的虛擬機器210關(guān) 閉(如圖4D第一計算機中以虛線表示的虛擬機器210)。如此一來,就可以達到無縫遷移的 目的(對應(yīng)步驟i 步驟j)。本發(fā)明提供一種在虛擬機器210遷移至新計算機時保持網(wǎng)絡(luò)連通的處理方法。本 發(fā)明在虛擬機器210從第一計算機230中搬移前進行快照程序,并依據(jù)上述步驟進行搬移, 使得虛擬機器210可以無縫的搬移。如此一來,即可在搬移虛擬機器210后立即自動在交 換器220上重新建立對虛擬機器210的映射關(guān)系。當(dāng)然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟 悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變 形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
一種保持虛擬機器的遠程操作不中斷的方法,當(dāng)運行一虛擬機器的實體設(shè)備變動時仍可保持該虛擬機器的遠程操作不中斷,其特征在于,該保持虛擬機器的遠程操作不中斷的方法包括以下步驟步驟a.對一第一計算機該虛擬機器進行一快照程序,并產(chǎn)生一快照副本;步驟b.將該快照副本復(fù)制至一第二計算機;步驟c.根據(jù)該快照副本在該第二計算機中產(chǎn)生新的該虛擬機器,且不啟動該第二計算機中的該虛擬機器;步驟d.獲取該虛擬機器的一虛擬網(wǎng)絡(luò)卡的媒體存取控制地址;步驟e.產(chǎn)生相應(yīng)該虛擬網(wǎng)絡(luò)卡的一地址解析協(xié)議封包;步驟f.通過該第二計算機的一實體網(wǎng)絡(luò)卡發(fā)送該虛擬機器的該地址解析協(xié)議封包至一交換器;步驟g.暫停該第一計算機中所運行的該虛擬機器;步驟h.啟動該第二計算機中所運行的該虛擬機器;以及步驟i.關(guān)閉該第一計算機的該虛擬機器。
2.如權(quán)利要求1所述的保持虛擬機器的遠程操作不中斷的方法,其特征在于,該快照 副本包括該第一計算機的一內(nèi)存信息、一周邊裝置信息與該虛擬網(wǎng)絡(luò)卡的硬件信息。
3.如權(quán)利要求1所述的保持虛擬機器的遠程操作不中斷的方法,其特征在于,在該步 驟e中更包括將該虛擬網(wǎng)絡(luò)卡的媒體存取控制地址寫入該地址解析協(xié)議封包中的一來源字段。
4.如權(quán)利要求1所述的保持虛擬機器的遠程操作不中斷的方法,其特征在于,步驟f后 更包括在步驟a 步驟g之間該第一計算機的該虛擬機器所產(chǎn)生的異動復(fù)制到該第二計 算機的該虛擬機器。
5.如權(quán)利要求1所述的保持虛擬機器的遠程操作不中斷的方法,其特征在于,根據(jù)該 來源字段所記錄的該媒體存取控制地址,用以在該交換器中更新該第二計算機的該虛擬機 器的該媒體存取控制地址對該交換器的通訊端口的對應(yīng)關(guān)系。
全文摘要
一種保持虛擬機器的遠程操作不中斷的方法,當(dāng)運行虛擬機器的實體設(shè)備變動時仍可保持虛擬機器的遠程操作不中斷。包括對第一計算機的虛擬機器進行快照程序;將快照結(jié)果傳送至第二計算機,并根據(jù)快照結(jié)果創(chuàng)建相同的虛擬機器;獲取新創(chuàng)建的虛擬機器的虛擬網(wǎng)絡(luò)卡的媒體存取控制地址;由第二計算機以廣播(broadcast)方式向交換器發(fā)送新創(chuàng)建的虛擬機器的地址解析協(xié)議封包;停止第一計算機中的虛擬機器的運作,并運行第二計算機中的虛擬機器。采用本發(fā)明的方法,使用者對虛擬機器的操作不會因為實體計算機的異動而受到中斷。
文檔編號H04L29/06GK101876883SQ20091025330
公開日2010年11月3日 申請日期2009年11月30日 優(yōu)先權(quán)日2009年11月30日
發(fā)明者張洪素, 陳玄同 申請人:英業(yè)達股份有限公司