虛擬機(jī)遷移方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及虛擬機(jī)迀移方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,虛擬機(jī)迀移技術(shù)也得到廣泛的應(yīng)用。
[0003]現(xiàn)有技術(shù)中,當(dāng)虛擬機(jī)(Virtual Machine,VM)從位置標(biāo)識分離協(xié)議(LocatorIdentifier Separat1n Protocol,LISP)網(wǎng)絡(luò)中的第一數(shù)據(jù)中心迀移到第二數(shù)據(jù)中心之后,并且遠(yuǎn)端服務(wù)器學(xué)習(xí)到虛擬機(jī)迀入第二數(shù)據(jù)中心的路由地址之前,遠(yuǎn)端服務(wù)器向第一數(shù)據(jù)中心的已經(jīng)迀出的虛擬機(jī)發(fā)送數(shù)據(jù)報文時,第一數(shù)據(jù)中心的路由器會根據(jù)已經(jīng)生成的NULLO路由將該已經(jīng)迀出的虛擬機(jī)對應(yīng)的數(shù)據(jù)報文丟棄,從而使得在虛擬機(jī)迀移過程中,遠(yuǎn)端服務(wù)器和虛擬機(jī)之間的流量會出現(xiàn)短暫中斷,降低了用戶體驗。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提虛擬機(jī)迀移方法及裝置,以解決現(xiàn)有技術(shù)中在虛擬機(jī)迀移過程中,遠(yuǎn)端服務(wù)器和虛擬機(jī)之間的流量會出現(xiàn)短暫中斷,降低了用戶體驗的問題。
[0005]根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種虛擬機(jī)迀移方法,所述方法應(yīng)用于位置標(biāo)識分離協(xié)議LISP網(wǎng)絡(luò)中的第一數(shù)據(jù)中心的路由器上,包括:
[0006]當(dāng)虛擬機(jī)VM從所述第一數(shù)據(jù)中心迀移到所述LISP網(wǎng)絡(luò)中的第二數(shù)據(jù)中心后,接收映射服務(wù)器發(fā)送的所述虛擬機(jī)對應(yīng)的映射通知報文;
[0007]根據(jù)所述映射通知報文生成所述虛擬機(jī)對應(yīng)的導(dǎo)流路由;
[0008]當(dāng)接收到遠(yuǎn)端服務(wù)器發(fā)送的針對所述虛擬機(jī)的數(shù)據(jù)報文時,則根據(jù)所述虛擬機(jī)對應(yīng)的導(dǎo)流路由將所述數(shù)據(jù)報文轉(zhuǎn)發(fā)至迀入所述第二數(shù)據(jù)中心的虛擬機(jī)。
[0009]根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種虛擬機(jī)迀移裝置,所述裝置應(yīng)用于位置標(biāo)識分離協(xié)議LISP網(wǎng)絡(luò)中的第一數(shù)據(jù)中心的路由器上,包括:
[0010]接收單元,用于當(dāng)虛擬機(jī)VM從所述第一數(shù)據(jù)中心迀移到所述LISP網(wǎng)絡(luò)中的第二數(shù)據(jù)中心后,接收映射服務(wù)器發(fā)送的所述虛擬機(jī)對應(yīng)的映射通知報文;
[0011]導(dǎo)流路由生成單元,用于根據(jù)所述映射通知報文生成所述虛擬機(jī)對應(yīng)的導(dǎo)流路由;
[0012]轉(zhuǎn)發(fā)單元,用于當(dāng)接收到遠(yuǎn)端服務(wù)器發(fā)送的針對所述虛擬機(jī)的數(shù)據(jù)報文時,則根據(jù)所述虛擬機(jī)對應(yīng)的導(dǎo)流路由將所述數(shù)據(jù)報文轉(zhuǎn)發(fā)至迀入所述第二數(shù)據(jù)中心的虛擬機(jī)。
[0013]應(yīng)用本發(fā)明實(shí)施例,當(dāng)虛擬機(jī)從第一數(shù)據(jù)中心迀移到LISP網(wǎng)絡(luò)中的第二數(shù)據(jù)中心后,接收映射服務(wù)器發(fā)送的虛擬機(jī)對應(yīng)的映射通知報文,根據(jù)映射服務(wù)器發(fā)送的映射通知報文生成已迀移的虛擬機(jī)對應(yīng)的導(dǎo)流路由,當(dāng)接收到遠(yuǎn)端服務(wù)器發(fā)送的針對已迀移的虛擬機(jī)的數(shù)據(jù)報文時,則根據(jù)該已迀移的虛擬機(jī)對應(yīng)的導(dǎo)流路由將接收到的數(shù)據(jù)報文轉(zhuǎn)發(fā)至迀入第二數(shù)據(jù)中心的虛擬機(jī),從而保證了在虛擬機(jī)迀移過程中,遠(yuǎn)端服務(wù)器和迀移的虛擬機(jī)之間的流量不會出現(xiàn)短暫中斷,進(jìn)而提高了用戶體驗。
【附圖說明】
[0014]圖1是應(yīng)用本發(fā)明實(shí)施例虛擬機(jī)迀移的應(yīng)用場景示意圖;
[0015]圖2是本發(fā)明虛擬機(jī)迀移方法的一個實(shí)施例流程圖;
[0016]圖3是本發(fā)明虛擬機(jī)迀移方法的另一個實(shí)施例流程圖;
[0017]圖4是本發(fā)明虛擬機(jī)迀移方法中映射通知報文的報文格式的示意圖;
[0018]圖5是本發(fā)明虛擬機(jī)迀移方法的另一個實(shí)施例流程圖;
[0019]圖6是本發(fā)明虛擬機(jī)迀移方法中映射請求報文的報文格式的示意圖;
[0020]圖7是本發(fā)明虛擬機(jī)迀移裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
[0021]圖8是本發(fā)明虛擬機(jī)迀移裝置的一個實(shí)施例框圖。
【具體實(shí)施方式】
[0022]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
[0023]參見圖1,為應(yīng)用本發(fā)明實(shí)施例虛擬機(jī)迀移的應(yīng)用場景示意圖:
[0024]圖1中示出了一種LISP網(wǎng)絡(luò)的組網(wǎng)架構(gòu)。該架構(gòu)中包括:第一數(shù)據(jù)中心、第二數(shù)據(jù)中心、映射服務(wù)器和遠(yuǎn)端服務(wù)器。其中,LISP網(wǎng)絡(luò)也可以包括除了第一數(shù)據(jù)中心和第二數(shù)據(jù)中心之外的其他數(shù)據(jù)中心,本發(fā)明實(shí)施例中只是以第一數(shù)據(jù)中心和第二數(shù)據(jù)中心為例,來說明本發(fā)明提出的虛擬機(jī)迀移方法。另外,映射服務(wù)器可以獨(dú)立與各個數(shù)據(jù)中心之外,也可以與位于其中的一個數(shù)據(jù)中心上。
[0025]另外,第一數(shù)據(jù)中心和第二數(shù)據(jù)中心皆有路由器,并且每個路由器皆能夠?qū)?shù)據(jù)報文進(jìn)行LISP隧道封裝(Ingress Tunnel Router,ITR)和LISP隧道解封裝(EngressTunnel Router,ETR)。每個數(shù)據(jù)中心可以包括一個或多個虛擬機(jī),而且各個數(shù)據(jù)中心的虛擬機(jī)可能會發(fā)生迀移,比如:第一數(shù)據(jù)中心的虛擬機(jī)可以迀移到第二數(shù)據(jù)中心。
[0026]現(xiàn)有技術(shù)中,當(dāng)虛擬機(jī)從LISP網(wǎng)絡(luò)中的第一數(shù)據(jù)中心迀移到第二數(shù)據(jù)中心之后,并且遠(yuǎn)端服務(wù)器學(xué)習(xí)到虛擬機(jī)迀入第二數(shù)據(jù)中心的路由地址之前,遠(yuǎn)端服務(wù)器向第一數(shù)據(jù)中心的已經(jīng)迀出的虛擬機(jī)發(fā)送數(shù)據(jù)報文時,第一數(shù)據(jù)中心的路由器會根據(jù)已經(jīng)生成的NULLO路由將該已經(jīng)迀出的虛擬機(jī)對應(yīng)的數(shù)據(jù)報文丟棄,從而使得在虛擬機(jī)迀移過程中,遠(yuǎn)端服務(wù)器和虛擬機(jī)之間的流量會出現(xiàn)短暫中斷,降低了用戶體驗。
[0027]而本發(fā)明實(shí)施例中,當(dāng)虛擬機(jī)從LISP網(wǎng)絡(luò)中的第一數(shù)據(jù)中心迀移到第二數(shù)據(jù)中心之后,并且遠(yuǎn)端服務(wù)器學(xué)習(xí)到虛擬機(jī)迀入第二數(shù)據(jù)中心的路由地址之前,遠(yuǎn)端服務(wù)器向第一數(shù)據(jù)中心的已經(jīng)迀出的虛擬機(jī)發(fā)送數(shù)據(jù)報文時,第一數(shù)據(jù)中心的路由器會生成該已經(jīng)迀出的虛擬機(jī)對應(yīng)的導(dǎo)流路由,并通過該導(dǎo)流路由將接收到的數(shù)據(jù)報文轉(zhuǎn)發(fā)至已經(jīng)迀入第二數(shù)據(jù)中心的虛擬機(jī),從而保證了在虛擬機(jī)迀移過程中,遠(yuǎn)端服務(wù)器和迀移的虛擬機(jī)之間的流量不會出現(xiàn)短暫中斷,進(jìn)而提高了用戶體驗。
[0028]下面結(jié)合附圖對本發(fā)明虛擬機(jī)迀移的實(shí)施例進(jìn)行詳細(xì)描述。
[0029]參見圖2,為本發(fā)明虛擬機(jī)迀移方法的一個實(shí)施例流程圖,該實(shí)施例應(yīng)用于LISP網(wǎng)絡(luò)中的第一數(shù)據(jù)中心的路由器上,該第一數(shù)據(jù)中心可以為圖1中的第一數(shù)據(jù)中心,包括以下步驟:
[0030]步驟210:當(dāng)虛擬機(jī)從第一數(shù)據(jù)中心迀移到LISP網(wǎng)絡(luò)中的第二數(shù)據(jù)中心后,接收映射服務(wù)器發(fā)送的虛擬機(jī)對應(yīng)的映射通知(Map-Notify)報文。
[0031]本實(shí)施例中,若虛擬機(jī)VMl從第一數(shù)據(jù)中心迀移到LISP網(wǎng)絡(luò)中的第二數(shù)據(jù)中心后,當(dāng)?shù)诙?shù)據(jù)中心的路由器檢測到VMl后,會向映射服務(wù)器注冊VMl的主機(jī)地址。映射服務(wù)器接收到第二數(shù)據(jù)中心的路由器注冊的VMl的主機(jī)地址后,會向第一數(shù)據(jù)中心的路由器發(fā)送映射通知報文,該映射通知報文通知第一數(shù)據(jù)中心其原有的VMl已經(jīng)迀出。
[0032]步驟220:根據(jù)映射服務(wù)器發(fā)送的映射通知報文生成已迀移的虛擬機(jī)對應(yīng)的導(dǎo)流路由。
[0033]本實(shí)施例中,第一數(shù)據(jù)中心的路由器接收到路由器發(fā)送的映射通知報文,會生成一條特殊的路由,即導(dǎo)流路由,用于遠(yuǎn)端服務(wù)器學(xué)習(xí)已迀移的虛擬機(jī)的新的地址之前,將遠(yuǎn)端服務(wù)器發(fā)送至第一數(shù)據(jù)中心的該已迀移的虛擬機(jī)對應(yīng)的數(shù)據(jù)報文轉(zhuǎn)發(fā)至已迀移的虛擬機(jī)的新的地址,使得遠(yuǎn)端服務(wù)器和迀移的虛擬機(jī)之間的流量不會出現(xiàn)短暫中斷。
[0034]步驟230:當(dāng)接收到遠(yuǎn)端服務(wù)器發(fā)送的針對已迀移的虛擬機(jī)的數(shù)據(jù)報文時,則根據(jù)該已迀移的虛擬機(jī)對應(yīng)的導(dǎo)流路由將接收到的數(shù)據(jù)報文轉(zhuǎn)發(fā)至迀入第二數(shù)據(jù)中心的虛擬機(jī)。
[0035]由上述實(shí)施例可見,當(dāng)虛擬機(jī)從第一數(shù)據(jù)中心迀移到LISP網(wǎng)絡(luò)中的第二數(shù)據(jù)中心后,接收映射服務(wù)器發(fā)送的虛擬機(jī)對應(yīng)的映射通知報文,根據(jù)映射服務(wù)器發(fā)送的映射通知報文生成已迀移的虛擬機(jī)對應(yīng)的導(dǎo)流路由,當(dāng)接收到遠(yuǎn)端服務(wù)器發(fā)送的針對已迀移的虛擬機(jī)的數(shù)據(jù)報文時,則根據(jù)該已迀移的虛擬機(jī)對應(yīng)的導(dǎo)流路由將接收到的數(shù)據(jù)報文轉(zhuǎn)發(fā)至迀入第二數(shù)據(jù)中心的虛擬機(jī),從而保證了在虛擬機(jī)迀移過程中,遠(yuǎn)端服務(wù)器和迀移的虛擬機(jī)之間的流量不會出現(xiàn)短暫中斷,進(jìn)而提高了用戶體驗。
[0036]在一個實(shí)施例中,執(zhí)行步驟220中根據(jù)映射服務(wù)器發(fā)送的映射通知報文生成已迀移的虛擬機(jī)對應(yīng)的導(dǎo)流路由時,如圖3所示,包括以下步驟:
[0037]步驟31