計(jì)算裝置之間虛擬機(jī)的遷移的制作方法
【專利摘要】本發(fā)明涉及計(jì)算裝置之間虛擬機(jī)的遷移,其中在一個(gè)示例中,系統(tǒng)包括第一計(jì)算裝置和第二計(jì)算裝置,第一計(jì)算裝置被配置為:運(yùn)行虛擬機(jī),其中虛擬機(jī)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合;停止虛擬機(jī)的運(yùn)行;并為虛擬機(jī)創(chuàng)建檢驗(yàn)點(diǎn)數(shù)據(jù),第二計(jì)算裝置被配置為使用至少某些檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行虛擬機(jī);并通過(guò)使用與第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)的第二附接電路使虛擬機(jī)與VPN通信耦合。系統(tǒng)可還包括通過(guò)第一附接電路與第一計(jì)算裝置通信耦合的第一提供商邊緣(PE)路由裝置,以及通過(guò)第二附接電路與第二計(jì)算裝置通信耦合的第二PE路由裝置。
【專利說(shuō)明】計(jì)算裝置之間虛擬機(jī)的遷移
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)涉及計(jì)算機(jī)網(wǎng)絡(luò),并且更具體地,涉及計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)網(wǎng)絡(luò)裝置的管理。
【背景技術(shù)】
[0002]數(shù)據(jù)中心是一種存放網(wǎng)站、為用戶提供數(shù)據(jù)服務(wù)和備份和/或其他基于網(wǎng)絡(luò)的服 務(wù)的專用設(shè)施。例如,數(shù)據(jù)中心通常用于提供軟件即服務(wù)(SaaS)、平臺(tái)即服務(wù)(PaaS)和/ 或基礎(chǔ)即服務(wù)(IaaS),它們統(tǒng)稱為云計(jì)算服務(wù)。相對(duì)簡(jiǎn)單形式的數(shù)據(jù)中心一般包括存放例 如聯(lián)網(wǎng)和存儲(chǔ)系統(tǒng)、冗余電源和環(huán)境控制的基礎(chǔ)設(shè)備的單個(gè)設(shè)施。云服務(wù)可由多個(gè)地理上 分散的數(shù)據(jù)中心提供。
[0003]數(shù)據(jù)中心的計(jì)算裝置向客戶裝置提供各種服務(wù)。通常,這些計(jì)算裝置被配置為運(yùn) 行管理程序和一個(gè)或多個(gè)應(yīng)用,該管理程序運(yùn)行各種操作系統(tǒng)(一般稱為“客操作系統(tǒng)”), 該一個(gè)或多個(gè)應(yīng)用在各個(gè)客操作系統(tǒng)上運(yùn)行。這些應(yīng)用包括對(duì)客戶裝置提供例如數(shù)據(jù)存儲(chǔ) 和檢索服務(wù)的服務(wù)的應(yīng)用。一個(gè)客操作系統(tǒng)和在該客操作系統(tǒng)上運(yùn)行的應(yīng)用統(tǒng)稱為“虛擬 機(jī)”。因此,計(jì)算裝置的管理程序可運(yùn)行多個(gè)虛擬機(jī)。另外,數(shù)據(jù)中心可包括各自運(yùn)行多個(gè) 虛擬機(jī)的一個(gè)或多個(gè)計(jì)算裝置。
[0004]在某些情況下,存放在分開(kāi)的數(shù)據(jù)中心的計(jì)算裝置上的虛擬機(jī)可通過(guò)例如虛擬專 用網(wǎng)絡(luò)(VPN)通信耦合。這樣,客戶裝置可與VPN連接,并可訪問(wèn)與該VPN連接的任何虛擬 機(jī)。因此,存儲(chǔ)到VPN的數(shù)據(jù)實(shí)際上可存儲(chǔ)在完全不同的物理位置的分開(kāi)的硬件裝置內(nèi),例 如,分開(kāi)的數(shù)據(jù)中心內(nèi)。
[0005]數(shù)據(jù)中心的管理員可能希望將虛擬機(jī)從一個(gè)數(shù)據(jù)中心移動(dòng)到另一個(gè)。例如,管理 員可以移動(dòng)存放虛擬機(jī)的計(jì)算裝置,以對(duì)計(jì)算裝置進(jìn)行維護(hù)。另一個(gè)示例為,管理員可以將 虛擬機(jī)移動(dòng)到與最經(jīng)常使用虛擬機(jī)提供的服務(wù)的客戶裝置最近的計(jì)算裝置。通常,將虛擬 機(jī)從一個(gè)數(shù)據(jù)中心移動(dòng)到另一個(gè),或從一個(gè)計(jì)算裝置移動(dòng)到另一個(gè),要求維持虛擬機(jī)的操 作系統(tǒng)的狀態(tài),隨后在目的地計(jì)算裝置上將虛擬機(jī)從維持狀態(tài)下重啟。
【發(fā)明內(nèi)容】
[0006]總體上,本公開(kāi)描述了在計(jì)算裝置之間遷移虛擬機(jī)的技術(shù)。在某些情況下,虛擬機(jī) 的維持狀態(tài)可能不包括將虛擬機(jī)在目的地計(jì)算裝置上激活的足夠信息。例如,當(dāng)目的地計(jì) 算裝置具有與虛擬機(jī)從其移動(dòng)的原始計(jì)算裝置不同的附接到虛擬專用網(wǎng)絡(luò)的附接電路時(shí), 虛擬機(jī)的客操作系統(tǒng)的網(wǎng)絡(luò)堆??赡苄枰亟?。由此,本公開(kāi)提供了在移動(dòng)虛擬機(jī)之后重 建客操作系統(tǒng)的網(wǎng)絡(luò)堆棧的技術(shù)。
[0007]在一個(gè)示例中,方法包括:在第一計(jì)算裝置停止運(yùn)行虛擬機(jī)之后,由第二計(jì)算裝置 接收虛擬機(jī)的檢驗(yàn)點(diǎn)數(shù)據(jù),其中虛擬機(jī)在由第一計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò) 第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合;由第二計(jì)算裝置使用至少某些檢驗(yàn)點(diǎn)數(shù)據(jù) 來(lái)運(yùn)行虛擬機(jī);并通過(guò)使用與第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)的第二附接電路使虛 擬機(jī)與VPN通信耦合。[0008]在另一個(gè)示例中,裝置包括被配置為在分開(kāi)的計(jì)算裝置停止運(yùn)行虛擬機(jī)之后使用 虛擬機(jī)的至少某些檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行虛擬機(jī)的網(wǎng)絡(luò)接口和控制單元,其中虛擬機(jī)在由分開(kāi)的 計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合, 其中控制單元被配置為運(yùn)行虛擬機(jī)并使虛擬機(jī)使用網(wǎng)絡(luò)接口通過(guò)具有與第一組網(wǎng)絡(luò)參數(shù) 不同的第二組網(wǎng)絡(luò)參數(shù)的第二附接電路與VPN通信耦合。
[0009]在另一個(gè)示例中,第一計(jì)算裝置被配置為運(yùn)行虛擬機(jī),其中虛擬機(jī)在由分開(kāi)的計(jì) 算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合;停 止虛擬機(jī)的運(yùn)行;并為虛擬機(jī)創(chuàng)建檢驗(yàn)點(diǎn)數(shù)據(jù),第二計(jì)算裝置被配置為使用至少某些檢驗(yàn) 點(diǎn)數(shù)據(jù)運(yùn)行虛擬機(jī);并通過(guò)使用與第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)的第二附接電路 使虛擬機(jī)與VPN通信耦合。系統(tǒng)可還包括通過(guò)第一附接電路與第一計(jì)算裝置通信耦合的第 一提供商邊緣(PE)路由裝置,以及通過(guò)第二附接電路與第二計(jì)算裝置通信耦合的第二 PE 路由裝置。另外,系統(tǒng)可包括網(wǎng)絡(luò)管理系統(tǒng),該網(wǎng)絡(luò)管理系統(tǒng)被配置為使虛擬機(jī)從第一計(jì)算 裝置遷移到第二計(jì)算裝置,并對(duì)第二 PE路由裝置發(fā)送指示虛擬機(jī)已遷移到第二計(jì)算裝置 的消息。
[0010]在另一個(gè)示例中,例如計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的計(jì)算機(jī)可讀介質(zhì)包含(例如,編碼 有)使計(jì)算裝置的處理器進(jìn)行以下操作的指令:在分開(kāi)的計(jì)算裝置停止運(yùn)行虛擬機(jī)之后,接 收虛擬機(jī)的檢驗(yàn)點(diǎn)數(shù)據(jù),其中虛擬機(jī)在由分開(kāi)的計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò) 第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合;使用至少某些檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行虛擬機(jī);并 通過(guò)使用與第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)的第二附接電路使虛擬機(jī)與VPN通信 耦合。
[0011]在另一個(gè)示例中,方法包括:由提供商邊緣(PE)路由裝置確定虛擬機(jī)已從第一計(jì) 算裝置遷移到第二計(jì)算裝置,其中虛擬機(jī)在由第一計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通 過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合,并且其中PE路由裝置與第二計(jì)算裝置通 信耦合;以及響應(yīng)于虛擬機(jī)已遷移到第二計(jì)算裝置的確定,將因特網(wǎng)控制消息協(xié)議(ICMP) 路由器通告消息發(fā)送給包括使虛擬機(jī)通過(guò)第二附接電路與VPN通信耦合的第二組網(wǎng)絡(luò)參 數(shù)的第二計(jì)算裝置,其中第二組網(wǎng)絡(luò)參數(shù)與第一組網(wǎng)絡(luò)參數(shù)不同,并且其中第二附接電路 將虛擬機(jī)與PE路由裝置耦合。
[0012]在附圖和以下描述中說(shuō)明了一個(gè)或多個(gè)示例的細(xì)節(jié)。通過(guò)說(shuō)明書(shū)和附圖以及權(quán)利 要求,其他特征、目的和優(yōu)點(diǎn)得以明確。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1是示出了根據(jù)本公開(kāi)的技術(shù)的虛擬機(jī)(VM)可在數(shù)據(jù)中心之間移動(dòng)的示例系 統(tǒng)的框圖。
[0014]圖2是示出了數(shù)據(jù)中心包括的一組示例裝置的框圖。
[0015]圖3是示出了計(jì)算裝置的一組示例部件的框圖。
[0016]圖4是示出了在使用不同類型的附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合的計(jì)算 裝置之間遷移虛擬機(jī)的示例方法的流程圖。
【具體實(shí)施方式】[0017]圖1是示出了根據(jù)本公開(kāi)的技術(shù)的虛擬機(jī)(VM)可在數(shù)據(jù)中心之間移動(dòng)的示例系 統(tǒng)100的框圖。系統(tǒng)100包括客戶裝置102A到102M (客戶裝置102)、網(wǎng)絡(luò)管理系統(tǒng)116 (NMS116)、提供商邊緣(PE)路由裝置106A到106N和數(shù)據(jù)中心108A到108N(數(shù)據(jù)中心108)。 數(shù)據(jù)中心108的裝置通過(guò)鏈接112A到112N (鏈接112)與相應(yīng)的PE路由裝置106通信耦 合??蛻粞b置102和PE路由裝置106還通過(guò)可表示因特網(wǎng)的網(wǎng)絡(luò)104通信耦合。
[0018]另外,任何或所有數(shù)據(jù)中心108可在計(jì)算機(jī)網(wǎng)絡(luò)的開(kāi)放系統(tǒng)互連(OSI)模型的第 二層形成虛擬網(wǎng)絡(luò)。例如,任何或所有數(shù)據(jù)中心108可形成因特網(wǎng)協(xié)議虛擬專用網(wǎng)絡(luò)(IP VPN)。如圖1的示例所示,數(shù)據(jù)中心108A和數(shù)據(jù)中心108N與共用VPN118連接。VPN118可 與根據(jù)E.Rosen和Y.Rekhter,“BGP/MPLS IP Virtual Private Networks(VPN)”,RFC4364, 2006年2月(將其全部?jī)?nèi)容通過(guò)引用結(jié)合于本文中)的IP VPN對(duì)應(yīng)。PE路由裝置106為各 個(gè)VPN維持虛擬路由轉(zhuǎn)發(fā)(VRF)表。這樣,PE路由裝置106將VPN的路由轉(zhuǎn)發(fā)信息與其他 VPN和一般網(wǎng)絡(luò)流量隔離。客戶裝置102還可通過(guò)網(wǎng)絡(luò)104與VPN連接。由此,網(wǎng)絡(luò)104可 包括也為各種VPN維持VRF的網(wǎng)絡(luò)裝置,例如,路由裝置。
[0019]數(shù)據(jù)中心108表示由二層交換機(jī)互連的一批裝置,例如,計(jì)算裝置。這種裝置的 示例如圖2所示,更多的細(xì)節(jié)如下文所述。數(shù)據(jù)中心108的計(jì)算裝置運(yùn)行VMllOA到IlON (VMllO)的相應(yīng)組。VMllO 一般運(yùn)行為客戶裝置102提供服務(wù)的應(yīng)用。例如,VMllO允許客 戶裝置102將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)中心108的存儲(chǔ)裝置(未顯示),并從該存儲(chǔ)裝置檢索數(shù)據(jù)。
[0020]通常,各個(gè)VMllO包括提供運(yùn)行一個(gè)或多個(gè)應(yīng)用的應(yīng)用空間的操作系統(tǒng)(OS),以 向客戶裝置102提供服務(wù)。VMllO的OS由數(shù)據(jù)中心108的計(jì)算裝置的管理程序運(yùn)行。因 此,數(shù)據(jù)中心108的計(jì)算裝置可運(yùn)行相應(yīng)的操作系統(tǒng),該操作系統(tǒng)反過(guò)來(lái)提供運(yùn)行管理程 序的應(yīng)用空間,并且該管理程序反過(guò)來(lái)運(yùn)行相應(yīng)的VMllO的OS。由此,VMllO的OS可稱為 “客OS”,因?yàn)檫@些客OS并不是計(jì)算裝置的操作系統(tǒng),而是在底層管理程序的資源與在客OS 的應(yīng)用空間內(nèi)運(yùn)行的應(yīng)用之間提供接口。
[0021]鏈接112在某些情況下也表示附接電路,例如,到VPN118或另一個(gè)VPN的附接電 路。可使用不同類型的附接電路來(lái)連接IP VPN。例如,鏈接112A可表示虛擬局域網(wǎng)(VLAN), 而鏈接112N可表示通用路由封裝(GRE)隧道。附接電路的另一個(gè)示例是IP安全(IPSec) 隧道??蛇x地,可使用兩個(gè)或多個(gè)相同類型的附接電路來(lái)連接IP VPN,但這些附接電路的不 同在于這些附接電路可具有不同網(wǎng)絡(luò)參數(shù)。例如,兩個(gè)不同VLAN可具有不同VLAN標(biāo)簽,而 兩個(gè)不同GRE可具有不同GRE會(huì)話密鑰。通常,存放在VMllO上的例如Linux的客OS通過(guò) 由鏈接112表示的附接電路與例如VPN118的第二層VPN連接。
[0022]VMllO的各個(gè)OS維持其本身相應(yīng)的網(wǎng)絡(luò)堆棧。例如,VMllO的各個(gè)OS可在對(duì)客戶 裝置102提供服務(wù)時(shí)維持與一個(gè)或多個(gè)客戶裝置102的網(wǎng)絡(luò)會(huì)話的網(wǎng)絡(luò)會(huì)話數(shù)據(jù)。VMllO 還被分配唯一的媒體訪問(wèn)控制(MAC)地址和IP地址,從而可通過(guò)網(wǎng)絡(luò)104到達(dá)。網(wǎng)絡(luò)堆棧 包括用于與相應(yīng)的PE路由裝置106連接的相應(yīng)的附接電路專用的數(shù)據(jù)。在上述示例中, VMl IOA可維持通過(guò)鏈接112A到PE路由裝置106A的VLAN連接的數(shù)據(jù),而VMl ION可維持通 過(guò)鏈接112N到PE路由裝置106N的GRE隧道連接的數(shù)據(jù)。
[0023]網(wǎng)絡(luò)管理系統(tǒng)116 —般使例如管理員114的用戶能夠維護(hù)例如PE路由裝置106 的網(wǎng)絡(luò)裝置和數(shù)據(jù)中心108的裝置。根據(jù)本公開(kāi)的技術(shù),管理員114可使用匪SI 16在數(shù)據(jù) 中心108之間移動(dòng)VM110。例如,管理員114可使一個(gè)VMllOA從數(shù)據(jù)中心108A移動(dòng)到數(shù)據(jù)中心108N。VM的這種移動(dòng)在本公開(kāi)中也稱為VM遷移。在圖1的示例中,將一個(gè)VMllOA 從數(shù)據(jù)中心108A遷移到數(shù)據(jù)中心108N將允許遷移的VM保持與VPN118連接。管理員114 可能出于各種原因遷移VM,例如,為了對(duì)運(yùn)行VM的計(jì)算裝置進(jìn)行維護(hù),或在確定使用VM提 供的服務(wù)的一個(gè)客戶裝置102在空間上距數(shù)據(jù)中心108A比距數(shù)據(jù)中心108N更近之后遷移 VM。
[0024]當(dāng)管理員114使用匪S116將一個(gè)VM從一個(gè)數(shù)據(jù)中心108的計(jì)算裝置遷移到另一 個(gè)時(shí),匪S116將指示此次VM遷移的細(xì)節(jié)的消息提供給PE路由裝置。例如,匪S116可提供 被遷移VM的MAC地址的指示、被遷移VM的IP地址和VM遷移到的一個(gè)數(shù)據(jù)中心108的計(jì) 算裝置的指示。特別地,WS116將該信息提供給與遷移VM的目的地計(jì)算裝置通信耦合的一 個(gè)PE路由裝置106。例如,當(dāng)NMS116將一個(gè)VMllOA遷移到數(shù)據(jù)中心108N的計(jì)算裝置時(shí), 匪S116將該信息提供給通過(guò)鏈接112N與數(shù)據(jù)中心108N的計(jì)算裝置通信耦合的PE路由裝 置 106N。
[0025]繼續(xù)以上示例,PE路由裝置106N隨后可更新與VPN118關(guān)聯(lián)的VRF。特別地,PE 路由裝置106N可確保與數(shù)據(jù)中心108N的目的地計(jì)算裝置相關(guān)聯(lián)的輸出接口也與遷移的虛 擬機(jī)的MAC地址和/或IP地址相關(guān)聯(lián)。這樣,當(dāng)PE路由裝置106N接收指定了遷移的虛擬 機(jī)的MAC地址和/或IP地址的VPN118的網(wǎng)絡(luò)流量時(shí),PE路由裝置106N可確定通過(guò)與遷 移的虛擬機(jī)的目的地計(jì)算裝置連接的網(wǎng)絡(luò)接口來(lái)發(fā)送網(wǎng)絡(luò)流量。
[0026]這樣,管理員114表示可決定將VM從一個(gè)附接點(diǎn)(例如,數(shù)據(jù)中心的計(jì)算裝置)移 動(dòng)到另一個(gè)(各個(gè)都與相同IP VPN連接)的外部方的示例。在該示例中,管理員114可使 VM從一個(gè)數(shù)據(jù)中心轉(zhuǎn)移(relocate)到另一個(gè)。通過(guò)在開(kāi)始VM遷移時(shí)的VM移動(dòng),可暫???操作系統(tǒng),并將檢驗(yàn)點(diǎn)存入文件中。文件隨后可跨網(wǎng)絡(luò)復(fù)制到接收VM,并在該目的地重啟。 即,不同數(shù)據(jù)中心的目的地計(jì)算裝置可在檢驗(yàn)點(diǎn)重啟被遷移的VM。
[0027]常規(guī)VM移動(dòng)流程的一個(gè)問(wèn)題在于,當(dāng)VM從一個(gè)附接電路移動(dòng)到另一個(gè)(例如, VLAN A到VLAN B、GRE隧道A到GRE隧道B等)時(shí),被遷移VM的客OS的網(wǎng)絡(luò)堆??砂?新附接電路的無(wú)效參數(shù),或到IP VPN的附接電路可完全不存在。例如,當(dāng)Linux/VM在兩個(gè) VLAN之間轉(zhuǎn)移時(shí),Linux地址解析協(xié)議(ARP)緩存可包含在目的地VLAN中不可尋址的源 VLAN的以太網(wǎng)MAC地址。類似地,當(dāng)Linux VM從VLAN附接電路轉(zhuǎn)移到GRE附接電路時(shí)(例 如,如將其全部?jī)?nèi)容通過(guò)引用結(jié)合于本文中的可在http://tools.1etf.0rg/html/draft-m arques-13vpn-end-system-00 獲得的由 P.Marques 等所著的,“BGP Signaled IP/VPNs”, d raft-marques-13vpn-end-system-00, Network Working Group, Internet Draft,2011年 10月6日”中所描述的),需要建立在Linux IP堆棧與IP VPN的虛擬路由和轉(zhuǎn)發(fā)(VRF)功 能之間的GRE隧道。
[0028]在可在http://tools.1etf.0rg/html/draft-xu-virtual-subnet-06 獲得的 X.Xu 所著的,“Virtual Subnet: A Scalable Data Center Interconnection Solution,,, draft-xu-virtual-subnet-06, Network Working Group, Internet Draft, 2011 年 8 月 27 日中,主張當(dāng)VM到達(dá)接收方提供商邊緣(PE)的目的地時(shí),Linux/VM發(fā)送免費(fèi)ARP。然而, Linux/VM本身不會(huì)這樣做。如果被遷移的客操作系統(tǒng)中的網(wǎng)絡(luò)堆棧在移動(dòng)事件之后沒(méi)有重 組,則例如傳輸控制協(xié)議(TCP)的正在進(jìn)行的會(huì)話層連接中斷或終止。
[0029]如上所述,VM110A可維持鏈接112A表示的附接電路專用的數(shù)據(jù)。另外,由鏈接112N表示的附接電路并不一定是與鏈接112A表示的附接電路相同類型的附接電路。因此, 在將VM從數(shù)據(jù)中心108A的計(jì)算裝置遷移到數(shù)據(jù)中心108N的計(jì)算裝置之后,被遷移的VM 的網(wǎng)絡(luò)堆棧可能需要重建以適應(yīng)新的類型的附接電路。盡管常規(guī)客操作系統(tǒng)會(huì)完全在其中斷處繼續(xù)并且不運(yùn)行任何專用于移動(dòng)功能,但是本公開(kāi)提供了使客OS確定它已移動(dòng)到新附接點(diǎn)(例如,一個(gè)新的數(shù)據(jù)中心108)并且作為回應(yīng)連接到與新附接點(diǎn)連接的附接電路(例如,一個(gè)鏈接112)的技術(shù)。
[0030]客操作系統(tǒng)通過(guò)VM移動(dòng)的問(wèn)題如今已在第二層解決。通過(guò)定義跨通過(guò)第二層VPN 潛在地連接在一起的數(shù)據(jù)中心的大型以太網(wǎng),形成了有效地作為單個(gè)附接電路的聯(lián)網(wǎng)解決方案。假定各個(gè)第二層以太網(wǎng)地址都可從該附接電路中的任何點(diǎn)尋址,則當(dāng)VM遷移時(shí),客操作系統(tǒng)的ARP緩存不會(huì)變得不一致。這種方法的潛在缺點(diǎn)是,需要?jiǎng)?chuàng)建潛在地跨多個(gè)數(shù)據(jù)中心的潛在地具有關(guān)聯(lián)生成樹(shù)的大型以太網(wǎng)。為了保持生成樹(shù)一致,需要相當(dāng)量的信令。 使用單個(gè)第二層技術(shù)的這種VM移動(dòng)解決方案無(wú)法實(shí)現(xiàn)混合附接電路類型:例如,無(wú)法將VM 和客操作系統(tǒng)從VLAN附接電路移動(dòng)到GRE附接電路:難以查看如何將Linux/VM從VLAN斷開(kāi)以及通過(guò)GRE隧道、IPSEC隧道或其他第二層附接類型來(lái)重新附接VM。本公開(kāi)提供了可在具有不同類型的附接電路的附接點(diǎn)之間遷移VM的技術(shù)。
[0031]根據(jù)本公開(kāi)的技術(shù),管理員114可使用匪S116來(lái)使PE路由裝置將路由器通告消息發(fā)送給VM移動(dòng)到的數(shù)據(jù)中心的計(jì)算裝置。路由器通告消息可與根據(jù)S.Deering,“ICMP Router Discovery Messages”,RFC1256, 1991 年 9 月;C.Perkins, “IP Mobility Support for IPv4”,RFC3344, 2002 年 8 月;或 C.Perkins, “IP Mobility Support for IPv4, Revised”, RFC5944, 2010年11月(將其全部?jī)?nèi)容通過(guò)引用結(jié)合于本文中)的因特網(wǎng)控制消息協(xié)議(ICMP)消息對(duì)應(yīng)。路由器通告消息包括被遷移的VM的客OS重新附接到VPNl 18 所需的所有參數(shù),這些參數(shù)包括附接電路的指示和用于連接到附接電路的參數(shù)。^S116可通過(guò)將ICMP路由器通告消息發(fā)送到VM的MAC地址和/或IP地址來(lái)向VM發(fā)送ICMP路由器通告消息。VM的MAC地址和IP地址在將VM從一個(gè)數(shù)據(jù)中心108移動(dòng)到另一個(gè)之后通常不改變。
[0032]例如,如果附接電路是VLAN,則參數(shù)可包括VLAN標(biāo)簽和關(guān)于如何更新客操作系統(tǒng)的地址解析協(xié)議(ARP)緩存的指令。另一個(gè)示例為,如果附接電路是GRE隧道,則路由器通告可包括依照RFC3344的PE “家鄉(xiāng)代理(home agent,本地代理)”地址的參數(shù)、用于建立 GRE附接電路的協(xié)議(例如,客戶移動(dòng)IP、XMPP等)、VM的潛在的新默認(rèn)網(wǎng)關(guān)和GRE會(huì)話密鑰。路由器通告還可額外包括使被遷移的轉(zhuǎn)移的客操作系統(tǒng)通過(guò)IEEE802.1x或其他認(rèn)證協(xié)議重新認(rèn)證到IP VPN的附接電路的指令??赡苄枰笳?其他認(rèn)證協(xié)議)在客操作系統(tǒng)與IP VPN之間建立安全附接電路。
[0033]根據(jù)上述示例,一個(gè)VM110A可遷移到數(shù)據(jù)中心108N的計(jì)算裝置哦。鏈接112N可表示GRE隧道,而鏈接112A可表示VLAN。由此,如上所述,管理員114可使用匪SI 16使PE 路由裝置106N向在數(shù)據(jù)中心108N的計(jì)算裝置上運(yùn)行的被遷移VM發(fā)送用于連接到由鏈接 112N表示的GRE隧道的參數(shù)。接收這些參數(shù)之后,被遷移VM的OS可重建其網(wǎng)絡(luò)堆棧以連接到由鏈接112N表示的GRE隧道,從而連接到PE路由裝置106N。可選地,如上所述,如果一個(gè)VM110N將`遷移到數(shù)據(jù)中心108A的計(jì)算裝置,則管理員114可使用匪S116使PE路由裝置106A向被遷移的VM發(fā)送用于連接到由鏈接112A表示的VLAN的參數(shù)。在接收這些參數(shù)之后,被遷移的VM的OS可重建其網(wǎng)絡(luò)堆棧以連接到由鏈接112A表示的VLAN,從而連接 到PE路由裝置106A。
[0034]這樣,本公開(kāi)的技術(shù)可用移動(dòng)功能(例如,軟件代理)來(lái)擴(kuò)展VM的客操作系統(tǒng),該功 能的任務(wù)在于在VM轉(zhuǎn)移到IP VPN中的新附接點(diǎn)之后將客操作系統(tǒng)重新附接到IP VPN0如 上所述,當(dāng)轉(zhuǎn)移的客操作系統(tǒng)安裝到目的地計(jì)算裝置中以重啟被遷移的VM時(shí),與(或?qū)⑴c) VM連接的PE將路由器通告ICMP消息(與客戶移動(dòng)IP移動(dòng)事件相似)提交到轉(zhuǎn)移的客操作 系統(tǒng)和VM。
[0035]因此,本公開(kāi)的技術(shù)允許VM通過(guò)不同類型的附接電路在與IP VPN連接的不同數(shù) 據(jù)中心的計(jì)算裝置之間轉(zhuǎn)移。用移動(dòng)代理擴(kuò)展客操作系統(tǒng)的一個(gè)潛在優(yōu)點(diǎn)在于,其允許被 遷移的VM的客操作系統(tǒng)在VM遷移之后重建附接電路。因?yàn)榫W(wǎng)絡(luò)堆棧內(nèi)部參數(shù)在這種移動(dòng) 之后可能變得不一致,所以可使用移動(dòng)代理修補(bǔ)用于通過(guò)附接電路連接到PE的參數(shù)。
[0036]存放被遷移的VM的PE可通過(guò)使VM和客操作系統(tǒng)能夠接收數(shù)據(jù)報(bào)的任何介質(zhì)來(lái) 請(qǐng)求ICMP路由器通告。例如,PE可通過(guò)將單播消息發(fā)送到與被遷移的VM關(guān)聯(lián)的IP地址 和MAC地址來(lái)向VM和客操作系統(tǒng)請(qǐng)求ICMP路由器通告。
[0037]圖1的系統(tǒng)100表示包括第一計(jì)算裝置和第二計(jì)算裝置的系統(tǒng)的示例,該第一計(jì) 算裝置被配置為運(yùn)行使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦 合的虛擬機(jī);停止虛擬機(jī)的運(yùn)行;并為虛擬機(jī)創(chuàng)建檢驗(yàn)點(diǎn)數(shù)據(jù),該第二計(jì)算裝置被配置為 使用至少某些檢驗(yàn)點(diǎn)數(shù)據(jù)來(lái)運(yùn)行虛擬機(jī);并通過(guò)使用與第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò) 參數(shù)的第二附接電路使虛擬機(jī)與VPN通信耦合。
[0038]圖2是示出了數(shù)據(jù)中心120包括的一組示例裝置的框圖。圖1的數(shù)據(jù)中心108可 各自包括與圖2的數(shù)據(jù)中心120相似的部件。在圖2的示例中,數(shù)據(jù)中心120包括交換機(jī) 122、計(jì)算裝置124A到124N (計(jì)算裝置124)和數(shù)據(jù)存儲(chǔ)128A到128N (數(shù)據(jù)存儲(chǔ)128)。各 個(gè)計(jì)算裝置124運(yùn)行VM126A到126N (VMl26)的相應(yīng)組。例如,各個(gè)計(jì)算裝置124可運(yùn)行 相應(yīng)的管理程序,這些管理程序使計(jì)算裝置124運(yùn)行多個(gè)虛擬機(jī),各個(gè)虛擬機(jī)包括其自身 的操作系統(tǒng)(本文中稱為“客”操作系統(tǒng))和供一個(gè)或多個(gè)應(yīng)用在客操作系統(tǒng)上運(yùn)行的應(yīng)用 空間。
[0039]計(jì)算裝置124還與相應(yīng)的數(shù)據(jù)存儲(chǔ)128耦合。在多個(gè)示例中,各個(gè)數(shù)據(jù)存儲(chǔ)128 可包括一個(gè)或多個(gè)物理存儲(chǔ)單元,例如,硬盤(pán)驅(qū)動(dòng)、閃存驅(qū)動(dòng)或其他存儲(chǔ)介質(zhì)。另外,在某些 示例中,一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)128可與多個(gè)計(jì)算裝置124連接。通常,計(jì)算裝置124維持存 儲(chǔ)在各個(gè)數(shù)據(jù)存儲(chǔ)128中的數(shù)據(jù)。例如,由計(jì)算裝置124運(yùn)行的VM126可提供用于訪問(wèn)(從 中檢索數(shù)據(jù)和/或?qū)?shù)據(jù)存儲(chǔ)在其中)相應(yīng)的數(shù)據(jù)存儲(chǔ)128的服務(wù)。
[0040]計(jì)算裝置124通過(guò)交換機(jī)122互連(即,通信耦合)。交換機(jī)122表示在OSI模型 的第二層連接多個(gè)裝置的第二層裝置的示例。交換機(jī)122可運(yùn)行例如以太網(wǎng)的第二層協(xié)議 以實(shí)現(xiàn)這種互連。這樣,計(jì)算裝置124和交換機(jī)122可形成物理的第二層網(wǎng)絡(luò)。因此,計(jì)算 裝置124可通過(guò)經(jīng)由交換機(jī)122進(jìn)行通信來(lái)訪問(wèn)由其他計(jì)算裝置124管理的資源,例如數(shù) 據(jù)存儲(chǔ)128的數(shù)據(jù)。例如,計(jì)算裝置124N可通過(guò)經(jīng)由交換機(jī)122向計(jì)算裝置124A發(fā)送對(duì) 數(shù)據(jù)的請(qǐng)求來(lái)檢索數(shù)據(jù)存儲(chǔ)128A的數(shù)據(jù)。
[0041]在某些示例中,一個(gè)或多個(gè)VM126可形成虛擬專用網(wǎng)絡(luò)(VPN)。因此,這些VM可形 成虛擬專用網(wǎng)絡(luò)(VPN),而不是形成物理的第二層網(wǎng)絡(luò)。PE路由器(圖2中未示出)可維持與VPN關(guān)聯(lián)的VRF表,并且VM可使用例如VLAN、GRE隧道、IPSec隧道或其他類型的附接電 路的第一類型的附接電路與VPN通信耦合。VRF可包括VPN的地址,并且PE路由器一般使 用與附接電路關(guān)聯(lián)的網(wǎng)絡(luò)協(xié)議來(lái)確定是應(yīng)根據(jù)VRF還是應(yīng)根據(jù)通用路由轉(zhuǎn)發(fā)表來(lái)路由和 轉(zhuǎn)發(fā)網(wǎng)絡(luò)數(shù)據(jù)。
[0042]另外,一個(gè)VM126可遷移到分開(kāi)的數(shù)據(jù)中心的計(jì)算裝置,并且/或者一個(gè)計(jì)算裝置 124可被配置為開(kāi)始從分開(kāi)的數(shù)據(jù)中心運(yùn)行遷移的虛擬機(jī)。在不同數(shù)據(jù)中心的計(jì)算裝置之 間的遷移的虛擬機(jī)的附接電路可以不同。例如,源計(jì)算裝置可提供VLAN附接電路以與VPN 的裝置通信,而目的地計(jì)算裝置可提供GRE隧道以與VPN的裝置通信。
[0043]根據(jù)本公開(kāi)的技術(shù),當(dāng)一個(gè)計(jì)算裝置124接收遷移的虛擬機(jī)時(shí),該一個(gè)計(jì)算裝置 124還可接收遷移的虛擬機(jī)的網(wǎng)絡(luò)參數(shù)。計(jì)算裝置可開(kāi)始運(yùn)行遷移的虛擬機(jī),并向遷移的虛 擬機(jī)提供網(wǎng)絡(luò)參數(shù),以使遷移的虛擬機(jī)為該一個(gè)計(jì)算裝置124的附接電路重建網(wǎng)絡(luò)堆棧。 這樣,遷移的虛擬機(jī)可使用不同類型的附接電路與VPN重新連接。
[0044]圖3是示出了計(jì)算裝置130的一組示例部件的框圖。例如數(shù)據(jù)中心120 (圖2)的 計(jì)算裝置124和/或數(shù)據(jù)中心108 (圖1)的計(jì)算裝置的各個(gè)數(shù)據(jù)中心的計(jì)算裝置可包括 與計(jì)算裝置130相似的部件。在圖3的示例中,計(jì)算裝置130包括控制單元132、網(wǎng)絡(luò)接口 146和存儲(chǔ)接口 148。
[0045]控制單元132可包括硬件、軟件、固件或其組合,以用于實(shí)施屬于控制單元132的 技術(shù)。當(dāng)包括軟件或固件時(shí),應(yīng)理解還可提供必要的硬件,例如,一個(gè)或多個(gè)處理單元和/ 或諸如硬盤(pán)驅(qū)動(dòng)器、閃存、光學(xué)介質(zhì)、磁性介質(zhì)、只讀存儲(chǔ)器(ROM)或其組合的計(jì)算機(jī)可讀介 質(zhì)。處理單元可是基于硬件的,因此,處理單元可包括一個(gè)或多個(gè)微處理器、現(xiàn)場(chǎng)可編程門(mén) 陣列(FPGA)、數(shù)字信號(hào)處理器(DSP )、邏輯電路或其任何組合。
[0046]在圖3的示例中,控制單元132包括管理程序140、網(wǎng)絡(luò)協(xié)議142和存儲(chǔ)管理單元 144。存儲(chǔ)管理單元144表示通過(guò)存儲(chǔ)接口 148與存儲(chǔ)介質(zhì)交互的單元,例如,用于從存儲(chǔ) 介質(zhì)讀取數(shù)據(jù)和/或?qū)?shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì)的單元。例如,存儲(chǔ)接口 148可包括將計(jì)算裝置 130與存儲(chǔ)介質(zhì)耦合的通用串行總線(USB)、串行ATA (SATA)接口、光纖信道接口、火線接 口或其他接口。在某些示例中,待存儲(chǔ)在存儲(chǔ)介質(zhì)中的數(shù)據(jù)可通過(guò)網(wǎng)絡(luò)接口 146而不是存 儲(chǔ)接口 148來(lái)通信。存儲(chǔ)接口 148可包括例如可與物理線纜連接的物理端口的必要硬件以 及潛在地包括關(guān)聯(lián)的邏輯電路,以用于將數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)可讀介質(zhì)。
[0047]網(wǎng)絡(luò)接口 146允許計(jì)算裝置130通過(guò)網(wǎng)絡(luò)進(jìn)行通信。網(wǎng)絡(luò)接口 146可支持有線和 /或無(wú)線網(wǎng)絡(luò)通信。網(wǎng)絡(luò)接口 146 —般將跨網(wǎng)絡(luò)通信的電信號(hào)和/或光信號(hào)轉(zhuǎn)換成由控制 單元132使用的數(shù)據(jù),或從該數(shù)據(jù)轉(zhuǎn)換電信號(hào)和/或光信號(hào)。由此,網(wǎng)絡(luò)接口 146提供第一 層的網(wǎng)絡(luò)功能,并且在某些情況下提供第二層的網(wǎng)絡(luò)功能。例如,網(wǎng)絡(luò)接口 146可與網(wǎng)絡(luò)接 口卡(NIC)、根據(jù)IEEE802.11系列協(xié)議通信的無(wú)線適配器等對(duì)應(yīng)。
[0048]網(wǎng)絡(luò)協(xié)議142表示通過(guò)網(wǎng)絡(luò)在OSI模型的第二層或第二層以上進(jìn)行通信的協(xié)議。 例如,網(wǎng)絡(luò)協(xié)議142可包括建立或維持例如VLAN、GRE隧道、IPSec隧道等的附接電路的指 令??刂茊卧?32可運(yùn)行一個(gè)或多個(gè)網(wǎng)絡(luò)協(xié)議142,從而例如經(jīng)由網(wǎng)絡(luò)接口 146跨網(wǎng)絡(luò)接收 和/或發(fā)送數(shù)據(jù)。
[0049]管理程序140表示計(jì)算裝置130的資源與虛擬機(jī)138A到138N (虛擬機(jī)138)之間 的中間層。因此,虛擬機(jī)138通過(guò)管理程序140訪問(wèn)計(jì)算裝置130的資源。相似地,管理程序140接收虛擬機(jī)138的輸入(例如,網(wǎng)絡(luò)通信),并將輸入提供給合適的一個(gè)虛擬機(jī)138。 各個(gè)虛擬機(jī)138包括相應(yīng)的一個(gè)操作系統(tǒng)(OS) 136A到136N (0S136),這些操作系統(tǒng)提供 相應(yīng)的應(yīng)用空間134A到134N(應(yīng)用空間134)。這樣,虛擬機(jī)138可在對(duì)應(yīng)的應(yīng)用空間134 內(nèi)運(yùn)行一個(gè)或多個(gè)應(yīng)用。應(yīng)用可提供各種服務(wù),例如,數(shù)據(jù)存儲(chǔ)和/或操縱(manipuation) 服務(wù)。因?yàn)?S136是虛擬機(jī)138的OS,而非計(jì)算裝置130的主機(jī)OS,所以0S136還可稱為 “客OS”或“客操作系統(tǒng)”。
[0050]根據(jù)本公開(kāi)的技術(shù),0S136可通過(guò)網(wǎng)絡(luò)接口 146與VPN通信耦合。另外,計(jì)算裝置 130表示使虛擬機(jī)138與VPN連接的附接點(diǎn)的示例。由此,虛擬機(jī)138可使用例如VLAN、GRE 隧道、IPSec隧道等的特定類型的附接電路與VPN通信耦合。
[0051]在某些情況下,虛擬機(jī)可遷移到計(jì)算裝置130。即,計(jì)算裝置130可接收虛擬機(jī)的 檢驗(yàn)點(diǎn)數(shù)據(jù),以及虛擬機(jī)(包括操作系統(tǒng))的一組指令,其包括操作系統(tǒng)和在由操作系統(tǒng)提 供的應(yīng)用空間內(nèi)運(yùn)行的一個(gè)或多個(gè)應(yīng)用的指令。控制單元132通過(guò)使用檢驗(yàn)點(diǎn)數(shù)據(jù)從(如 由分開(kāi)的計(jì)算裝置運(yùn)行的)虛擬機(jī)的前一狀態(tài)恢復(fù)運(yùn)行來(lái)運(yùn)行操作系統(tǒng)和應(yīng)用的指令。在 由分開(kāi)的計(jì)算裝置運(yùn)行期間,虛擬機(jī)可通過(guò)第一類型的附接電路與VPN連接。然而,當(dāng)由計(jì) 算裝置130的控制單元132運(yùn)行時(shí),虛擬機(jī)可能需要使用不同類型的附接電路與VPN連接。
[0052]因此,根據(jù)本公開(kāi)的技術(shù),控制單元132可接收前往遷移的虛擬機(jī)的因特網(wǎng)控制 消息協(xié)議(ICMP)路由器通告消息。為了示例的目的,假定遷移的虛擬機(jī)是虛擬機(jī)138N。在 該示例中,計(jì)算裝置130的控制單元132將通過(guò)網(wǎng)絡(luò)接口 146接收ICMP路由器通告。然 后,管理程序140將確定ICMP路由器通告消息前往的網(wǎng)絡(luò)地址(例如,MAC地址和/或IP地 址)并確定與該MAC地址和/或IP地址對(duì)應(yīng)的虛擬機(jī)138。在該示例中,管理程序140將 確定虛擬機(jī)138N具有與ICMP路由器通告消息的目的地地址匹配的MAC地址和/或IP地 址。由此,管理程序140將對(duì)虛擬機(jī)138N提供ICMP路由器通告消息。
[0053]另外,根據(jù)本公開(kāi)的技術(shù),在一個(gè)虛擬機(jī)138遷移到不同計(jì)算裝置的情況下,各個(gè) 虛擬機(jī)138運(yùn)行具有將對(duì)應(yīng)的一個(gè)0S136重新附接到VPN的任務(wù)的應(yīng)用(例如,軟件代理)。 對(duì)于以上示例,在虛擬機(jī)138N從管理程序140接收ICMP路由器通告消息之后,虛擬機(jī)138N 的0S136N將ICMP路由器通告消息提供給該應(yīng)用。該應(yīng)用反過(guò)來(lái)從ICMP路由器通告消息 中提取網(wǎng)絡(luò)參數(shù),并使用提取的網(wǎng)絡(luò)參數(shù)重建0S136N的網(wǎng)絡(luò)堆棧。例如,應(yīng)用可與到PE路 由裝置(該P(yáng)E裝置與計(jì)算裝置130通信耦合)的現(xiàn)有附接電路連接,或者如果這樣的附接電 路尚不存在,則建立該附接電路。
[0054]ICMP路由器通告消息一般包括使0S136N重新附接到IP VPN所需的所有參數(shù),并 且可包括指定具有適當(dāng)參數(shù)的一個(gè)或多個(gè)附接電路的列表。對(duì)于VLAN附接電路,參數(shù)可包 括VLAN標(biāo)簽和如何更新0S136N的ARP緩存的指令。如果新附接電路是GRE隧道,則ICMP 路由器通告可包括依照RFC3344的PE “家鄉(xiāng)代理”地址的參數(shù)、用于建立GRE附接電路的 協(xié)議(例如,客戶移動(dòng)IP、XMPP等)、還可能包括虛擬機(jī)138N的新默認(rèn)網(wǎng)關(guān)和GRE會(huì)話密鑰。 ICMP路由器通告可額外包括使0S136N通過(guò)IEEE802.1x或其他認(rèn)證協(xié)議將附接電路重新認(rèn) 證到IP VPN的指令??赡苄枰褂煤笳?其他認(rèn)證協(xié)議)在0S136N與IP VPN之間建立安全 附接電路。這樣,使用ICMP路由器通告消息中指定的網(wǎng)絡(luò)參數(shù),虛擬機(jī)138N可重建0S136N 的網(wǎng)絡(luò)堆棧,并建立或重建通往虛擬機(jī)138N在遷移到計(jì)算裝置130之前附接到的VPN的附 接電路。[0055]在某些示例中,計(jì)算裝置130的控制單元132接收將一個(gè)虛擬機(jī)138 (例如,虛擬 機(jī)138A)遷移到不同計(jì)算裝置的指令。響應(yīng)于這些指令,控制單元132存儲(chǔ)虛擬機(jī)138A的 檢驗(yàn)點(diǎn)數(shù)據(jù),在本示例中,檢驗(yàn)點(diǎn)數(shù)據(jù)表示0S136A和在應(yīng)用空間134A內(nèi)運(yùn)行的應(yīng)用的當(dāng)前 狀態(tài)??刂茊卧?32隨后可將檢驗(yàn)點(diǎn)數(shù)據(jù)發(fā)送給虛擬機(jī)138A的遷移到的目的地計(jì)算裝置。 在某些情況下,控制單元132還可對(duì)目的地計(jì)算裝置提供用于0S136A和在應(yīng)用空間134A 內(nèi)運(yùn)行的應(yīng)用的指令。如上所述,為了與VPN連接,虛擬機(jī)138A在由控制單元132運(yùn)行時(shí) 通信耦合到的VPN的附接電路可與通信耦合到目的地計(jì)算裝置的附接電路不同。虛擬機(jī) 138A可使用本公開(kāi)的技術(shù)從而在由目的地計(jì)算裝置運(yùn)行時(shí)使用不同類型的附接電路重新 附接到VPN。
[0056]這樣,計(jì)算裝置130表示包括網(wǎng)絡(luò)接口和控制單元的計(jì)算裝置的示例,該控制單 元被配置為在分開(kāi)的計(jì)算裝置停止運(yùn)行虛擬機(jī)之后使用虛擬機(jī)的至少某些檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn) 行虛擬機(jī),其中虛擬機(jī)在由分開(kāi)的計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路 與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合。控制單元被配置為運(yùn)行虛擬機(jī),并使虛擬機(jī)使用網(wǎng)絡(luò)接 口通過(guò)具有與第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)的第二附接電路與VPN通信耦合。
[0057]圖4是示出了在使用不同類型的附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合的計(jì)算 裝置之間遷移虛擬機(jī)的示例方法的流程圖。圖4的方法被描述為由PE路由器(例如,一個(gè) PE路由裝置106 (圖1))和虛擬機(jī)(例如,VMllO (圖1)、VM126 (圖2)或VM138 (圖3)中的 一個(gè))進(jìn)行。通常,假定PE路由器表示通過(guò)附接電路與遷移的虛擬機(jī)的目的地計(jì)算裝置通 信耦合的PE路由器。
[0058]例如,對(duì)于圖1,假定虛擬機(jī)從數(shù)據(jù)中心108A的計(jì)算裝置遷移到數(shù)據(jù)中心108N的 計(jì)算裝置,則PE路由器可與PE路由裝置106N對(duì)應(yīng)并且附接電路可與鏈接112N對(duì)應(yīng)。另外, 繼續(xù)以上示例,鏈接112N可表示與由鏈接112A表示的附接電路不同類型的附接電路。另 外,使用該方法,虛擬機(jī)可在從數(shù)據(jù)中心108A的計(jì)算裝置遷移之后的恢復(fù)在數(shù)據(jù)中心108N 的計(jì)算裝置上的運(yùn)行之后重新連接到VPN118,并且當(dāng)在數(shù)據(jù)中心108A的計(jì)算裝置上運(yùn)行 時(shí),虛擬機(jī)也可與VPNl 18通信耦合。
[0059]PE路由器最初從網(wǎng)絡(luò)管理系統(tǒng)(WS)(例如圖1的匪S116)接收指示虛擬機(jī)已遷 移到連接的計(jì)算裝置的消息(200)。即,PE路由器接收指示虛擬機(jī)已遷移到與PE路由器通 信耦合的計(jì)算裝置的消息。遷移的虛擬機(jī)將在目的地計(jì)算裝置(即,虛擬機(jī)的遷移到的計(jì)算 裝置)與PE路由器之間建立附接電路或附接至該附接電路。來(lái)自匪S的消息可指示虛擬機(jī) 的IP地址和/或MAC地址,以及指示目的地計(jì)算裝置。
[0060]使用來(lái)自匪S的這種信息,PE路由器可更新與VPN關(guān)聯(lián)的VRF,以指示前往虛擬機(jī) 的流量將被轉(zhuǎn)發(fā)到目的地計(jì)算裝置。這樣,PE路由器可接收前往虛擬機(jī)的VPN的流量,并 使用與VPN關(guān)聯(lián)的VRF來(lái)確定如何轉(zhuǎn)發(fā)前往虛擬機(jī)的流量。
[0061]另外,響應(yīng)于從匪S接收該指示,PE路由器創(chuàng)建ICMP路由器通告消息(202),該 ICMP路由器通告消息包括用于連接到在目的地計(jì)算裝置與PE路由器之間的附接電路的網(wǎng) 絡(luò)參數(shù)。如上所述,ICMP路由器通告消息包括使遷移的虛擬機(jī)的客操作系統(tǒng)重新附接到 VPN所需的所有參數(shù)。PE路由器隨后將ICMP路由器通告消息發(fā)送給虛擬機(jī)(204)。例如, PE路由器可將ICMP路由器通告消息發(fā)送給地址是遷移的虛擬機(jī)的MAC地址和/或IP地址 的目的地計(jì)算裝置。[0062]這樣,圖4的方法表示以下方法的一個(gè)示例,該方法包括:由提供商邊緣(PE)路由 裝置確定虛擬機(jī)已從第一計(jì)算裝置遷移到第二計(jì)算裝置,其中虛擬機(jī)在由第一計(jì)算裝置運(yùn) 行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合,并且其中PE 路由裝置與第二計(jì)算裝置通信耦合;以及響應(yīng)于確定虛擬機(jī)已遷移到第二計(jì)算裝置,將因 特網(wǎng)控制消息協(xié)議(ICMP)路由器通告消息發(fā)送給包括使虛擬機(jī)通過(guò)第二附接電路與VPN 通信耦合的第二組網(wǎng)絡(luò)參數(shù)的第二計(jì)算裝置,其中第二組網(wǎng)絡(luò)參數(shù)與第一組網(wǎng)絡(luò)參數(shù)不 同,并且其中第二附接電路將虛擬機(jī)與PE路由裝置耦合。
[0063]目的地計(jì)算裝置接收虛擬機(jī)的檢驗(yàn)點(diǎn)數(shù)據(jù),并從由檢驗(yàn)點(diǎn)數(shù)據(jù)表示的狀態(tài)恢復(fù)虛 擬機(jī)的運(yùn)行。另外,虛擬機(jī)隨后接收ICMP路由器通告消息(206)。具體地,目的地計(jì)算裝置 接收ICMP路由器通告消息,并且目的地計(jì)算裝置的管理程序?qū)CMP路由器通告消息引導(dǎo) 至遷移的虛擬機(jī)。
[0064]遷移的虛擬機(jī)的客操作系統(tǒng)隨后可將ICMP路由器通告消息引導(dǎo)至在虛擬機(jī)的應(yīng) 用空間內(nèi)運(yùn)行的特定應(yīng)用,其中應(yīng)用包括用于將客操作系統(tǒng)重新附接到VPN的移動(dòng)功能。 由此,應(yīng)用從ICMP路由器通告消息中提取網(wǎng)絡(luò)參數(shù)(208),并使用網(wǎng)絡(luò)參數(shù)重建客操作系 統(tǒng)的網(wǎng)絡(luò)堆棧(210 )。這樣,虛擬機(jī)附接至PE路由器的附接電路,并從而可重建與VPN的通 信連接(212)。
[0065]這樣,圖4的方法還表示以下方法的一個(gè)示例,該方法包括:在第一計(jì)算裝置停止 運(yùn)行虛擬機(jī)之后,由第二計(jì)算裝置接收虛擬機(jī)的檢驗(yàn)點(diǎn)數(shù)據(jù),其中虛擬機(jī)在由第一計(jì)算裝 置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合;由第二 計(jì)算裝置使用至少某些檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行虛擬機(jī);并通過(guò)使用與第一組網(wǎng)絡(luò)參數(shù)不同的第二 組網(wǎng)絡(luò)參數(shù)的第二附接電路使虛擬機(jī)與VPN通信耦合。
[0066]本公開(kāi)的技術(shù)可根據(jù)各種示例實(shí)施。在一個(gè)示例中,計(jì)算裝置包括網(wǎng)絡(luò)接口和控 制單元,控制單元被配置為在分開(kāi)的計(jì)算裝置停止運(yùn)行虛擬機(jī)之后使用虛擬機(jī)的至少某些 檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行虛擬機(jī),其中虛擬機(jī)在由分開(kāi)的計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò) 第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合,其中控制單元被配置為運(yùn)行虛擬機(jī)并使虛 擬機(jī)使用網(wǎng)絡(luò)接口通過(guò)具有與第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)的第二附接電路與 VPN通信耦合。
[0067]在可附加于以上示例來(lái)實(shí)施的另一個(gè)示例中,控制單元被配置為確定第二附接電 路的第二組網(wǎng)絡(luò)參數(shù),并基于第二組網(wǎng)絡(luò)參數(shù)為虛擬機(jī)的客操作系統(tǒng)構(gòu)建網(wǎng)絡(luò)堆棧。
[0068]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,第一附接電路包括第一類型的 附接電路,并且其中第二附接電路包括與第一類型的附接電路不同的第二類型的附接電 路。
[0069]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,當(dāng)?shù)诙浇与娐钒ㄌ摂M局域 網(wǎng)(VLAN)時(shí),第二組網(wǎng)絡(luò)參數(shù)包括VLAN標(biāo)簽和用于更新客操作系統(tǒng)的地址解析協(xié)議(ARP) 緩存的指令。
[0070]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,當(dāng)?shù)诙浇与娐钒ㄍㄓ寐酚?封裝(GRE)隧道時(shí),第二組網(wǎng)絡(luò)參數(shù)包括GRE隧道的提供商邊緣(PE)路由裝置的家鄉(xiāng)代理 地址、GRE隧道的協(xié)議和GRE會(huì)話密鑰。
[0071]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,第二組網(wǎng)絡(luò)參數(shù)還包括表示虛擬機(jī)的新默認(rèn)網(wǎng)關(guān)的數(shù)據(jù)。
[0072]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,第二組網(wǎng)絡(luò)參數(shù)還包括用于使 客操作系統(tǒng)使用認(rèn)證協(xié)議將第二類型的附接電路重新認(rèn)證到VPN的指令。
[0073]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,為了確定第二組網(wǎng)絡(luò)參數(shù),控 制單元被配置為從與計(jì)算裝置通信耦合的提供商邊緣(PE)路由裝置接收消息,其中消息包 括指定第二組網(wǎng)絡(luò)參數(shù)的數(shù)據(jù)。
[0074]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,消息包括ICMP路由器通告消
肩、O
[0075]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,消息還包括第二附接電路的類 型的指示。
[0076]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,虛擬機(jī)包括多個(gè)虛擬機(jī)中的一 個(gè),其中控制單元進(jìn)一步被配置為運(yùn)行管理多個(gè)虛擬機(jī)的管理程序。
[0077]在另一個(gè)示例中,計(jì)算機(jī)可讀介質(zhì)具有存儲(chǔ)在其上的在運(yùn)行時(shí)使計(jì)算裝置的處理 器進(jìn)行以下操作的指令:在分開(kāi)的計(jì)算裝置停止運(yùn)行虛擬機(jī)之后,接收虛擬機(jī)的檢驗(yàn)點(diǎn)數(shù) 據(jù),其中虛擬機(jī)在由分開(kāi)的計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬 專用網(wǎng)絡(luò)(VPN)通信耦合;使用至少某些檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行虛擬機(jī);并通過(guò)使用與第一組網(wǎng) 絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)的第二附接電路使虛擬機(jī)與VPN通信耦合。
[0078]在可附加于以上示例來(lái)實(shí)施的另一個(gè)示例中,使處理器運(yùn)行虛擬機(jī)以使虛擬機(jī)通 過(guò)第二附接電路與VPN通信耦合的指令包括,使處理器確定第二附接電路的第二組網(wǎng)絡(luò)參 數(shù)并基于第二組網(wǎng)絡(luò)參數(shù)為虛擬機(jī)的客操作系統(tǒng)構(gòu)建網(wǎng)絡(luò)堆棧的指令。
[0079]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,第一附接電路包括第一類型的 附接電路,并且其中第二附接電路包括于第一類型的附接電路不同的第二類型的附接電 路。
[0080]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,當(dāng)?shù)诙浇与娐钒ㄌ摂M局域 網(wǎng)(VLAN)時(shí),第二組網(wǎng)絡(luò)參數(shù)包括VLAN標(biāo)簽和用于更新客操作系統(tǒng)的地址解析協(xié)議(ARP) 緩存的指令。
[0081]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,當(dāng)?shù)诙浇与娐钒ㄍㄓ寐酚?封裝(GRE)隧道時(shí),第二組網(wǎng)絡(luò)參數(shù)包括GRE隧道的提供商邊緣(PE)路由裝置的家鄉(xiāng)代理 地址、GRE隧道的協(xié)議和GRE會(huì)話密鑰。
[0082]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,第二組網(wǎng)絡(luò)參數(shù)還包括表示虛 擬機(jī)的新默認(rèn)網(wǎng)關(guān)的數(shù)據(jù)。
[0083]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,第二組網(wǎng)絡(luò)參數(shù)還包括使客操 作系統(tǒng)使用認(rèn)證協(xié)議將第二類型的附接電路重新認(rèn)證到VPN的指令。
[0084]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,使處理器確定第二組網(wǎng)絡(luò)參數(shù) 的指令包括使處理器從與第二計(jì)算裝置通信耦合的提供商邊緣(PE)路由裝置接收消息的 指令,其中消息包括指定第二組網(wǎng)絡(luò)參數(shù)的數(shù)據(jù)。
[0085]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,使處理器接收消息的指令包括 使處理器接收ICMP路由器通告消息的指令。
[0086]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,所述消息還包括第二附接電路的指示。
[0087]在另一個(gè)示例中,系統(tǒng)包括第一計(jì)算裝置和第二計(jì)算裝置,該第一計(jì)算裝置被 配置為運(yùn)行虛擬機(jī),其中虛擬機(jī)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò) (VPN)通信耦合;停止虛擬機(jī)的運(yùn)行;并為虛擬機(jī)創(chuàng)建檢驗(yàn)點(diǎn)數(shù)據(jù),該第二計(jì)算裝置被配置 為使用至少某些檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行虛擬機(jī);并通過(guò)使用與第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò) 參數(shù)的第二附接電路使虛擬機(jī)與VPN通信耦合。
[0088]在可附加于以上示例來(lái)實(shí)施的另一個(gè)示例中,系統(tǒng)還包括通過(guò)第一附接電路與第 一計(jì)算裝置通信耦合的第一提供商邊緣(PE)路由裝置,以及通過(guò)第二附接電路與第二計(jì)算 裝置通信耦合的第二 PE路由裝置。
[0089]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,第一附接電路包括第一類型的 附接電路,并且其中第二附接電路包括于第一類型的附接電路不同的第二類型的附接電 路。
[0090]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,系統(tǒng)還包括網(wǎng)絡(luò)管理系統(tǒng) (NMS),該網(wǎng)絡(luò)管理系統(tǒng)(NMS)被配置為使虛擬機(jī)從第一計(jì)算裝置遷移到第二計(jì)算裝置并對(duì) 第二 PE路由裝置發(fā)送指示虛擬機(jī)已遷移到第二計(jì)算裝置的消息,其中第二 PE路由裝置被 配置為向第二計(jì)算裝置發(fā)送包括使虛擬機(jī)通過(guò)第二附接電路與VPN通信耦合的第二組網(wǎng) 絡(luò)參數(shù)的消息。
[0091]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,消息包括ICMP消息。
[0092]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,當(dāng)?shù)诙浇与娐钒ㄌ摂M局域 網(wǎng)(VLAN)時(shí),第二組網(wǎng)絡(luò)參數(shù)包括VLAN標(biāo)簽和用于更新客操作系統(tǒng)的地址解析協(xié)議(ARP) 緩存的指令。
[0093]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,當(dāng)?shù)诙浇与娐钒ㄍㄓ寐酚?封裝(GRE)隧道時(shí),第二組網(wǎng)絡(luò)參數(shù)包括第二 PE路由裝置的家鄉(xiāng)代理地址、GRE隧道的協(xié)議 和GRE會(huì)話密鑰。
[0094]在另一個(gè)示例中,方法包括:由提供商邊緣(PE)路由裝置確定虛擬機(jī)已從第一計(jì) 算裝置遷移到第二計(jì)算裝置,其中虛擬機(jī)在由第一計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通 過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合,并且其中PE路由裝置與第二計(jì)算裝置通 信耦合;以及響應(yīng)于虛擬機(jī)已遷移到第二計(jì)算裝置的確定,向包括第二組網(wǎng)絡(luò)參數(shù)的第二 計(jì)算裝置發(fā)送使虛擬機(jī)通過(guò)第二附接電路與VPN通信耦合的消息,其中第二組網(wǎng)絡(luò)參數(shù)與 第一組網(wǎng)絡(luò)參數(shù)不同,并且其中第二附接電路將虛擬機(jī)與PE路由裝置耦合。
[0095]在可附加于以上示例來(lái)實(shí)施的另一個(gè)示例中,確定虛擬機(jī)已遷移包括從網(wǎng)絡(luò)管理 系統(tǒng)(匪S)接收指示虛擬機(jī)已遷移到第二計(jì)算裝置的信息。
[0096]在可附加于以上示例來(lái)實(shí)施的另一個(gè)示例中,第一附接電路包括第一類型的附接 電路,并且其中第二附接電路包括于第一類型的附接電路不同的第二類型的附接電路。
[0097]在可附加于以上示例來(lái)實(shí)施的另一個(gè)示例中,確定第二組網(wǎng)絡(luò)參數(shù)包括從與第二 計(jì)算裝置通信耦合的提供商邊緣(PE)路由裝置接收消息,其中該消息包括基于PE路由裝 置的配置數(shù)據(jù)指定第二組網(wǎng)絡(luò)參數(shù)的數(shù)據(jù)。
[0098]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,為了確定第二組網(wǎng)絡(luò)參數(shù),控 制單元被配置為從與計(jì)算裝置通信耦合的提供商邊緣(PE)路由裝置接收消息,其中該消息包括指定第二組網(wǎng)絡(luò)參數(shù)的數(shù)據(jù)。
[0099]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,使處理器確定第二組網(wǎng)絡(luò)參數(shù) 的指令包括使處理器從與第二計(jì)算裝置通信耦合的提供商邊緣(PE)路由裝置接收消息的 指令,其中該消息包括指定第二組網(wǎng)絡(luò)參數(shù)的數(shù)據(jù)。
[0100]在可附加于以上任何示例來(lái)實(shí)施的另一個(gè)示例中,該消息包括因特網(wǎng)控制消息協(xié) 議(ICMP)路由器通告消息。
[0101]本公開(kāi)中描述的技術(shù)可至少部分實(shí)施為硬件、軟件、固件或其任何組合。例如,所 述技術(shù)的各個(gè)方面可在一個(gè)或多個(gè)處理器內(nèi)實(shí)施,這些處理器包括一個(gè)或多個(gè)微處理器、 數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或任何其他等效 的集成或分立邏輯電路以及這些部件的任何組合。術(shù)語(yǔ)“處理器”或“處理電路” 一般可指 任何前述邏輯電路,這些邏輯電路是分立的或與其他邏輯電路或任何其他等效電路結(jié)合。 包括硬件的控制單元還可實(shí)施本公開(kāi)的一個(gè)或多個(gè)技術(shù)。
[0102]這些硬件、軟件和固件可在同一裝置內(nèi)或分開(kāi)的裝置內(nèi)實(shí)施,以支持本公開(kāi)中所 描述的各種操作和功能。另外,任何所描述單元、模塊或部件可一起實(shí)施,或作為分立但可 共同操作的邏輯裝置而分開(kāi)實(shí)施。對(duì)模塊或單元不同特征的描述旨在突出不同的功能方 面,并不一定意味著這些模塊或單元必須由分開(kāi)硬件或軟件部件實(shí)現(xiàn)。而是,與一個(gè)或多個(gè) 模塊或單元相關(guān)聯(lián)的功能可由分開(kāi)硬件或軟件部件進(jìn)行,或集成在共用或分開(kāi)硬件或軟件 部件內(nèi)。
[0103]本公開(kāi)中描述的技術(shù)還可體現(xiàn)或編碼在包含指令的計(jì)算機(jī)可讀介質(zhì)中,例如,計(jì) 算機(jī)可讀存儲(chǔ)介質(zhì)中。嵌入或編碼在計(jì)算機(jī)可讀介質(zhì)中的指令可使可編程處理器或其他處 理器(例如,當(dāng)執(zhí)行該指令時(shí))執(zhí)行方法。計(jì)算機(jī)可讀介質(zhì)可包括非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì)和瞬態(tài)通信介質(zhì)。有形并且非瞬態(tài)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可包括隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、 只讀存儲(chǔ)器(ROM)、可編程只讀存儲(chǔ)器(PROM)、可擦可編程只讀存儲(chǔ)器(EPROM)、電可擦可 編程只讀存儲(chǔ)器(EEPROM)閃存、硬盤(pán)、CD-ROM、軟盤(pán)、磁帶、磁性介質(zhì)、光學(xué)介質(zhì)或其他計(jì)算 機(jī)可讀存儲(chǔ)介質(zhì)。應(yīng)理解,術(shù)語(yǔ)“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”指物理存儲(chǔ)介質(zhì)并非信號(hào)、載波或 其他瞬態(tài)介質(zhì)。
[0104]已描述了各種示例。這些和其他示例在所附權(quán)利要求的范圍內(nèi)。
【權(quán)利要求】
1.一種用于在計(jì)算裝置之間遷移虛擬機(jī)的方法,包括:在第一計(jì)算裝置停止運(yùn)行虛擬機(jī)之后,由第二計(jì)算裝置接收所述虛擬機(jī)的檢驗(yàn)點(diǎn)數(shù)據(jù),其中所述虛擬機(jī)在由所述第一計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合,其中所述檢驗(yàn)點(diǎn)數(shù)據(jù)表示所述虛擬機(jī)的狀態(tài)信息;由所述第二計(jì)算裝置使用至少某些所述檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行所述虛擬機(jī),從而將所述虛擬機(jī)的運(yùn)行從所述第一計(jì)算裝置移動(dòng)到所述第二計(jì)算裝置;并且使用與所述第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)通過(guò)第二附接電路使所述虛擬機(jī)與所述虛擬專用網(wǎng)絡(luò)通信耦合。
2.根據(jù)權(quán)利要求1所述的方法,其中,通過(guò)所述第二附接電路使所述虛擬機(jī)與所述虛擬專用網(wǎng)絡(luò)通信耦合包括:為所述第二附接電路 確定所述第二組網(wǎng)絡(luò)參數(shù);并且基于所述第二組網(wǎng)絡(luò)參數(shù)為所述虛擬機(jī)的客操作系統(tǒng)構(gòu)建網(wǎng)絡(luò)堆棧。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述第一附接電路包括第一類型的附接電路,并且其中,所述第二附接電路包括與所述第一類型的附接電路不同的第二類型的附接電路。
4.根據(jù)權(quán)利要求1至3中的任一項(xiàng)所述的方法,其中,當(dāng)所述第二附接電路包括虛擬局域網(wǎng)(VLAN)時(shí),所述第二組網(wǎng)絡(luò)參數(shù)包括虛擬局域網(wǎng)標(biāo)簽和用于更新所述客操作系統(tǒng)的地址解析協(xié)議(ARP )緩存的指令。
5.根據(jù)權(quán)利要求1至3中的任一項(xiàng)所述的方法,其中,當(dāng)所述第二附接電路包括通用路由封裝(GRE)隧道時(shí),所述第二組網(wǎng)絡(luò)參數(shù)包括所述通用路由封裝隧道的提供商邊緣(PE) 路由裝置的家鄉(xiāng)代理地址、所述通用路由封裝隧道的協(xié)議和通用路由封裝會(huì)話密鑰。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述第二組網(wǎng)絡(luò)參數(shù)還包括表示所述虛擬機(jī)的新默認(rèn)網(wǎng)關(guān)的數(shù)據(jù)。
7.根據(jù)權(quán)利要求1至6中的任一項(xiàng)所述的方法,其中,所述第二組網(wǎng)絡(luò)參數(shù)還包括使所述客操作系統(tǒng)使用認(rèn)證協(xié)議將所述第二類型的附接電路重新認(rèn)證到所述虛擬專用網(wǎng)絡(luò)的指令。
8.根據(jù)權(quán)利要求2至3中的任一項(xiàng)所述的方法,其中,確定所述第二組網(wǎng)絡(luò)參數(shù)包括: 從與所述第二計(jì)算裝置通信耦合的提供商邊緣(PE)路由裝置接收消息,其中所述消息包括基于所述提供商邊緣路由裝置的配置數(shù)據(jù)指定所述第二組網(wǎng)絡(luò)參數(shù)的數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的方法,其中,接收所述消息包括:接收包含指定所述第二組網(wǎng)絡(luò)參數(shù)的數(shù)據(jù)的因特網(wǎng)控制消息協(xié)議(ICMP)路由器通告消息從而使所述虛擬機(jī)通過(guò)所述第二附接電路與所述虛擬專用網(wǎng)絡(luò)耦合。
10.根據(jù)權(quán)利要求8所述的方法,其中,所述消息還包括所述第二附接電路的類型的指/Jn o
11.一種計(jì)算裝置,包括用于進(jìn)行權(quán)利要求1至10中的任一項(xiàng)所述的方法的設(shè)備。
12.根據(jù)權(quán)利要求11所述的計(jì)算裝置,其中,所述設(shè)備包括網(wǎng)絡(luò)接口和控制單元。
13.—種系統(tǒng),包括:第一計(jì)算裝置,被配置為運(yùn)行虛擬機(jī),其中所述虛擬機(jī)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合;停止所述虛擬機(jī)的運(yùn)行;并為所述虛擬機(jī)創(chuàng)建檢驗(yàn)點(diǎn)數(shù)據(jù),其中所述檢驗(yàn)點(diǎn)數(shù)據(jù)表示所述虛擬機(jī)的狀態(tài)信息;以及第二計(jì) 算裝置,被配置為使用至少某些所述檢驗(yàn)點(diǎn)數(shù)據(jù)運(yùn)行所述虛擬機(jī);并使用與所述第一組網(wǎng)絡(luò)參數(shù)不同的第二組網(wǎng)絡(luò)參數(shù)通過(guò)第二附接電路使所述虛擬機(jī)與所述虛擬專用網(wǎng)絡(luò)通信耦合。
14.一種方法,包括:由路由裝置確定虛擬機(jī)已從第一計(jì)算裝置遷移到第二計(jì)算裝置,其中所述虛擬機(jī)在由所述第一計(jì)算裝置運(yùn)行時(shí)使用第一組網(wǎng)絡(luò)參數(shù)通過(guò)第一附接電路與虛擬專用網(wǎng)絡(luò)(VPN)通信耦合,并且其中所述路由裝置與所述第二計(jì)算裝置通信耦合;并且響應(yīng)于所述虛擬機(jī)已遷移到所述第二計(jì)算裝置的確定,將消息從所述路由裝置發(fā)送到所述第二計(jì)算裝置,所述第二計(jì)算裝置包括使所述虛擬機(jī)通過(guò)第二附接電路與所述虛擬專用網(wǎng)絡(luò)通信耦合的第二組網(wǎng)絡(luò)參數(shù),其中所述第二組網(wǎng)絡(luò)參數(shù)與所述第一組網(wǎng)絡(luò)參數(shù)不同,并且其中所述第二附接電路使所述虛擬機(jī)與所述路由裝置耦合。
【文檔編號(hào)】G06F9/455GK103530176SQ201310272044
【公開(kāi)日】2014年1月22日 申請(qǐng)日期:2013年7月1日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】亨德里克斯·G·P·博希, 揚(yáng)·梅德維德 申請(qǐng)人:叢林網(wǎng)絡(luò)公司