數(shù)據(jù)中心的業(yè)務(wù)遷移方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及通信業(yè)務(wù)領(lǐng)域,具體涉及一種數(shù)據(jù)中心的業(yè)務(wù)遷移方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]為了保證數(shù)據(jù)的安全性和業(yè)務(wù)連續(xù)性,通常需要在一個主用數(shù)據(jù)中心的異地建立一個災(zāi)備中心,用于主用數(shù)據(jù)中心的容災(zāi),當(dāng)主用數(shù)據(jù)中心出現(xiàn)自然災(zāi)害等原因而發(fā)生故障時,異地的災(zāi)備數(shù)據(jù)中心可以直接接管主數(shù)據(jù)中心的業(yè)務(wù)。在實際應(yīng)用中,系統(tǒng)必須要解決當(dāng)主用數(shù)據(jù)中心的服務(wù)器A出現(xiàn)故障時,系統(tǒng)如何將客戶端Client的訪問目的地址由服務(wù)器A快速切換到災(zāi)備數(shù)據(jù)中心的服務(wù)器B的問題。
[0003]現(xiàn)有技術(shù)一,提供了一種域名系統(tǒng)(Domain Name System, DNS)方案,在DNS服務(wù)器注冊各個虛擬機(jī)(Virtual Machine, VM)的IP地址和域名的對應(yīng)關(guān)系,DNS服務(wù)器實時檢測并更新各虛擬機(jī)的狀態(tài)。當(dāng)主用數(shù)據(jù)中心的虛擬機(jī)A故障時,客戶端需要重新向DNS服務(wù)器發(fā)起鏈接請求,DNS服務(wù)器向用客戶端返回災(zāi)備數(shù)據(jù)中心的虛擬機(jī)B的域名地址對應(yīng)的IP地址,然后,客戶端使用DNS服務(wù)器返回的IP地址向虛擬機(jī)B發(fā)送會話鏈接。
[0004]由于DNS服務(wù)器能夠容納的域名數(shù)量有限,導(dǎo)致采用DNS方案不能支持海量的服務(wù),擴(kuò)展性不強(qiáng);另外,對于TCP (Transmiss1n Control Protocol,傳輸控制協(xié)議)連接,當(dāng)主站點(diǎn)故障時,決定原TCP連接的五元組(源IP,源端口,目的IP,目的端口,TCP協(xié)議)發(fā)生變化,從而導(dǎo)致原有的連接關(guān)系被破壞,用戶需要重新發(fā)起鏈接請求,勢必會造成業(yè)務(wù)中斷,影響用戶的體驗。
[0005]現(xiàn)有技術(shù)二,提供了一種LISP (Locator/ID Separat1n Protocol)方案,即IPinIP的協(xié)議,LISP方案提出將路由地址(Routing Locator, RL0C)的IP和終端節(jié)點(diǎn)標(biāo)識(End-point Identifier7EID)的IP進(jìn)行區(qū)分和疊加封裝,在公網(wǎng)傳輸時只根據(jù)LocatorIP轉(zhuǎn)發(fā),只有到達(dá)站點(diǎn)邊緣時才會剝離外層IP,使用內(nèi)層標(biāo)識EID的IP進(jìn)行轉(zhuǎn)發(fā)。但是,根據(jù)LISP方案,虛擬機(jī)遷移后無法通知入口隧道路由器(Ingress Tunnel Router, ITR)快速切換新的Locator IP,虛擬機(jī)剛由站點(diǎn)A遷移到站點(diǎn)B時,原站點(diǎn)A的ITR并不知道,還是在用舊的Locator IP做為目的Locator IP封包發(fā)送,造成業(yè)務(wù)中斷,直到ITR獲取到新的目的Locator IP后才能再建立起連接恢復(fù)業(yè)務(wù)。另外,LISP方案會帶來虛擬機(jī)遷移后在新站點(diǎn)B的出口隧道路由器(Egress Tunnel Router7ETR)注冊EID延時問題,虛擬機(jī)遷移后,當(dāng)新站點(diǎn)B的ETR監(jiān)聽到本地出現(xiàn)此地址段為源IP地址的IP報文時才知道它此時需要向外發(fā)布對應(yīng)EID,通過映射服務(wù)器(Map-Server,MS)進(jìn)行注冊,整個注冊過程不夠及時。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實施例的目的是提供一種數(shù)據(jù)中心的業(yè)務(wù)遷移方法、裝置及系統(tǒng),能夠減少業(yè)務(wù)中斷時間,快速實現(xiàn)虛擬機(jī)的遷移。
[0007]第一方面,提供一種災(zāi)備數(shù)據(jù)中心的業(yè)務(wù)遷移方法,包括以下步驟:
[0008]隧道處理設(shè)備接收主數(shù)據(jù)中心故障的通知消息,使本地保存的所述主數(shù)據(jù)中心的服務(wù)器的隧道表項不可用,所述主數(shù)據(jù)中心的服務(wù)器的隧道表項包括所述主數(shù)據(jù)中心的服務(wù)器上部署的隧道處理模塊的IP地址;
[0009]所述隧道處理設(shè)備接收用戶接入路由器發(fā)送的業(yè)務(wù)訪問請求報文,所述業(yè)務(wù)請求報文中攜帶目的IP地址,所述目的IP地址為部署在所述主數(shù)據(jù)中心的目的虛擬機(jī)的IP地址;
[0010]所述隧道處理設(shè)備根據(jù)所述目的虛擬機(jī)的IP地址獲取備數(shù)據(jù)中心的服務(wù)器上部署的隧道處理模塊的IP地址,并封裝所述業(yè)務(wù)訪問請求報文,封裝報文的外層目的IP地址為所述備數(shù)據(jù)中心的服務(wù)器的隧道處理模塊的IP地址,其中,所述備數(shù)據(jù)中心的服務(wù)器上部署有與所述目的虛擬機(jī)的IP地址相應(yīng)的虛擬機(jī);
[0011]所述隧道處理設(shè)備將所述封裝報文發(fā)送給用戶接入路由器,以便所述用戶接入路由器根據(jù)封裝報文的外層目的IP地址將所述封裝報文發(fā)送給所述備數(shù)據(jù)中心的服務(wù)器的隧道處理模塊,從而實現(xiàn)數(shù)據(jù)中心業(yè)務(wù)由所述主數(shù)據(jù)中心向所述備數(shù)據(jù)中心的遷移。
[0012]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述使本地保存的所述主數(shù)據(jù)中心的服務(wù)器的隧道表項不可用的步驟之后進(jìn)一步包括:
[0013]所述隧道處理設(shè)備向備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器發(fā)送請求,以便獲取所述備數(shù)據(jù)中心的服務(wù)器的隧道表項;或者所述隧道處理設(shè)備接收備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器主動下發(fā)的服務(wù)器的隧道表項。
[0014]結(jié)合第一方面,在第一方面的第二種可能的實現(xiàn)方式中,所述隧道處理設(shè)備接收用戶接入路由器發(fā)送的業(yè)務(wù)訪問請求報文的步驟之后進(jìn)一步包括:所述隧道處理設(shè)備根據(jù)所述業(yè)務(wù)訪問請求報文向所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器發(fā)送請求,以便獲取備數(shù)據(jù)中心的服務(wù)器的隧道表項,所述備數(shù)據(jù)中心的服務(wù)器上部署有與所述目的虛擬機(jī)的IP地址相應(yīng)的虛擬機(jī)。
[0015]結(jié)合第一方面以及第一方面的第一種至第二種中的任一種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述隧道處理設(shè)備接收用戶接入路由器發(fā)送的業(yè)務(wù)訪問請求報文的步驟之前進(jìn)一步包括:用戶接入路由器接收用戶發(fā)送的業(yè)務(wù)訪問請求,替換所述從用戶接收的業(yè)務(wù)訪問請求報文中的源MAC地址和目的MAC地址,替換后的業(yè)務(wù)訪問請求報文的MAC地址信息如下:源MAC地址為用戶接入路由器的MAC地址,目的MAC地址為目的虛擬機(jī)VM的MAC地址。
[0016]結(jié)合第一方面以及第一方面的第一種至第三種中的任一種可能的實現(xiàn)方式,在第一方面的第四種可能的實現(xiàn)方式中,所述隧道處理設(shè)備接收主數(shù)據(jù)中心故障的通知消息之前進(jìn)一步包括:
[0017]隧道處理設(shè)備接收用戶接入路由器發(fā)送的業(yè)務(wù)訪問請求,所述業(yè)務(wù)訪問請求報文攜帶所述目的IP地址;
[0018]所述隧道處理設(shè)備根據(jù)所述目的IP地址向主數(shù)據(jù)中心的網(wǎng)絡(luò)控制器獲取主數(shù)據(jù)中心的服務(wù)器的隧道表項,以便所述隧道處理設(shè)備封裝所述業(yè)務(wù)訪問請求報文,封裝報文的外層目的地址為所述主數(shù)據(jù)中心的服務(wù)器的隧道處理模塊的IP地址。
[0019]結(jié)合第一方面的第一種或第二種可能的實現(xiàn)方式中,在第一方面的第五種可能的實現(xiàn)方式中,所述主數(shù)據(jù)中心的服務(wù)器的隧道表項包括:所述主數(shù)據(jù)中心的服務(wù)器上部署的目的虛擬機(jī)VM的IP地址以及相應(yīng)的MAC地址;
[0020]所述備數(shù)據(jù)中心的服務(wù)器的隧道表項包括:所述備數(shù)據(jù)中心的服務(wù)器上部署的隧道處理模塊的IP地址、備數(shù)據(jù)中心的服務(wù)器上部署的目的虛擬機(jī)VM的IP地址以及相應(yīng)的MAC地址;
[0021]所述主數(shù)據(jù)中心的服務(wù)器上部署的目的虛擬機(jī)VM的IP地址和所述備數(shù)據(jù)中心的服務(wù)器上部署的目的虛擬機(jī)VM的IP地址相同;
[0022]所述隧道處理設(shè)備根據(jù)所述目的虛擬機(jī)的IP地址獲取備數(shù)據(jù)中心的服務(wù)器上部署的隧道處理模塊的IP地址的步驟具體為:所述隧道處理設(shè)備根據(jù)所述目的虛擬機(jī)的IP地址查詢所述備數(shù)據(jù)中心的服務(wù)器的隧道表項,獲取備數(shù)據(jù)中心的服務(wù)器上部署的隧道處理模塊的IP地址。
[0023]結(jié)合第一方面以及第一方面的第一種至第五種中的任一種可能的實現(xiàn)方式,在第一方面的第六種可能的實現(xiàn)方式中,所述使本地保存的所述主數(shù)據(jù)中心的服務(wù)器的隧道表項不可用的具體方法為:
[0024]刪除本地保存的所述主數(shù)據(jù)中心的服務(wù)器的隧道表項,或者
[0025]標(biāo)識所述主數(shù)據(jù)中心的服務(wù)器的隧道表項為不可用。
[0026]第二方面,提供災(zāi)備數(shù)據(jù)中心的業(yè)務(wù)遷移方法,包括以下步驟:
[0027]備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器確認(rèn)主數(shù)據(jù)中心故障;
[0028]所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器發(fā)送消息給隧道處理設(shè)備及所述備數(shù)據(jù)中心的虛擬資源管理器,告知所述主數(shù)據(jù)中心故障,以便所述虛擬資源管理器指示備數(shù)據(jù)中心的服務(wù)器啟動虛擬機(jī);
[0029]所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器創(chuàng)建備數(shù)據(jù)中心的服務(wù)器的隧道表項;
[0030]所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器將所述備數(shù)據(jù)中心的服務(wù)器的隧道表項發(fā)送給所述隧道處理設(shè)備,以便所述隧道處理設(shè)備根據(jù)所述備數(shù)據(jù)中心的服務(wù)器的隧道表項封裝業(yè)務(wù)訪問請求報文,封裝報文的外層目的地址為所述備數(shù)據(jù)中心的服務(wù)器的隧道處理模塊的IP地址,從而實現(xiàn)數(shù)據(jù)中心業(yè)務(wù)由所述主數(shù)據(jù)中心向所述備數(shù)據(jù)中心的遷移。
[0031]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器確認(rèn)主數(shù)據(jù)中心故障的步驟具體為:
[0032]所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器發(fā)現(xiàn)備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器和主數(shù)據(jù)中心的網(wǎng)絡(luò)控制器之間的心跳丟失,則認(rèn)為主數(shù)據(jù)中心故障;或者
[0033]所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器接收隧道處理設(shè)備發(fā)送的用以告知主數(shù)據(jù)中心故障的消息,則認(rèn)為主數(shù)據(jù)中心故障;或者
[0034]所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器發(fā)現(xiàn)所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器與所述主數(shù)據(jù)中心的網(wǎng)絡(luò)控制器之間的心跳丟失,備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器發(fā)送消息給隧道處理設(shè)備,進(jìn)一步查詢隧道處理設(shè)備和主數(shù)據(jù)中心的網(wǎng)絡(luò)控制器之間的心跳狀態(tài),如果心跳丟失,則確認(rèn)主數(shù)據(jù)中心故障。
[0035]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器將所述備數(shù)據(jù)中心的服務(wù)器的隧道表項發(fā)送給所述隧道處理設(shè)備的步驟之前進(jìn)一步包括:所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器接收所述隧道處理設(shè)備發(fā)送的請求獲取所述備數(shù)據(jù)中心的服務(wù)器的隧道表項的請求消息。
[0036]結(jié)合第二方面以及第二方面的第一種至第二種中的任一種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器將所述備數(shù)據(jù)中心的服務(wù)器的隧道表項發(fā)送給隧道處理設(shè)備的步驟,具體為:備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器接收所述備數(shù)據(jù)中心的虛擬資源管理器發(fā)送的所述備數(shù)據(jù)中心的服務(wù)器上的已啟動的虛擬機(jī)信息,并根據(jù)接收到的虛擬機(jī)信息創(chuàng)建所述備數(shù)據(jù)中心的服務(wù)器的隧道表項,所述備數(shù)據(jù)中心的網(wǎng)絡(luò)控制器將創(chuàng)建的隧道表項下發(fā)給所述隧道處理設(shè)備。
[0037]第三方面,提供一種隧道處理設(shè)備,應(yīng)用于數(shù)據(jù)中心的業(yè)務(wù)遷移系統(tǒng),包括:
[0038]第一接收單元,用于接收主數(shù)據(jù)中心故障的通知消息;
[0039]處