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