数据中心网关间虚拟机位置信息同步的方法、网关及系统的制作方法_4

文档序号:9923781阅读:来源:国知局
定第一虚拟机的位置信息不存在冲突,并将第二网关保存的MAC路由中的所述第一虚拟机的位置信息更新为所述位置更新消息中的第一虚拟机的位置信息。
[0072]学习模块530用于当接收到发往所述第一虚拟机的报文,且所述第二网关没有保存所述第一虚拟机的MAC路由时,向所述第一虚拟机学习,得到所述第一虚拟机的当前位置信息。
[0073]请参阅图6,图6是本申请网关另一实施方式的结构示意图。在图5所示实施例的基础上,本实施方式中的网关还包括更新模块540和发送模块550,更新模块540包括第一更新单元541和第二更新单元542。
[0074]更新模块540用于在检测到第二虚拟机从第三数据中心迀移到所在的第二数据中心时,更新所述第二网关保存的所述第二虚拟机的序列号。
[0075]具体,更新模块540的第一更新单元541用于将所述第二网关保存的MAC路由表中的所述第二虚拟机的出接口更新为所述第二网关的接口。
[0076]第一更新单元541还可具体用于:当所述第二网关存储有网络侧MAC路由表和接入侧MAC路由表时,删除所述网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项;或当所述第二网关仅存储有一个MAC路由表时,将所述MAC路由表中所述第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
[0077]更新模块540的第二更新单元542用于更新所述第二网关保存的所述第二虚拟机的BGP表项,所述第二虚拟机的BGP表项包括所述第二虚拟机的序列号。
[0078]发送模块550用于在更新模块540更新完成所述第二虚拟机的序列号后,向除所述第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心的网关保存的所述第二虚拟机的MAC路由。
[0079]在其他实施方式中,删除模块还可用于在发送模块发送完成所述第二位置更新消息后,删除第二网关保存的第二虚拟机的MAC路由。
[0080]请参阅图7,图7是本申请网关再一实施方式的结构示意图。本实施方式的网关700可以为第二数据中心的第二网关,包括接收器710、处理器720、发送器730、存储器740以及总线750。
[0081]接收器710用于接收第一数据中心的第一网关发送的第一位置更新消息,其中,所述第一位置更新消息是由所述第一网关在检测到第一虚拟机跨数据中心迀移到所述第一数据中心时所发送的,用于通知所述第一虚拟机的位置信息发生改变。
[0082]处理器720用于在接收器710接收到所述第一位置更新消息时,根据所述第一位置更新消息删除所述第二网关700的存储器740保存的所述第一虚拟机的MAC路由,并当接收到发往所述第一虚拟机的报文,且所述第二网关的存储器740没有保存所述第一虚拟机的MAC路由时,通过发送器730向所述第一虚拟机学习,并通过接收器710接收得到所述第一虚拟机的当前位置信息。其中,发送器730用于当接收到发往所述第一虚拟机的报文,且所述第二网关的存储器740没有保存所述第一虚拟机的MAC路由时,向其他数据中心的网关发送请求第一虚拟机应答的ARP请求报文。接收器710还用于获得所述第一虚拟机的ARP应答报文,进而得到所述第一虚拟机的当前位置信息。
[0083]可选地,所述第一位置更新消息包括第一虚拟机的位置信息和代表所述第一虚拟机迀移次数的序列号。处理器720执行根据所述第一位置更新消息所述删除所述第二网关700的存储器740保存的所述第一虚拟机的MAC路由的步骤具体为:判断所述第一虚拟机的位置信息与第二网关700的存储器740保存的MAC路由中的第一虚拟机的位置信息是否相同,且所述第一位置更新消息的序列号与第二网关700的存储器740保存的所述第一虚拟机的序列号是否相同,在所述第一虚拟机的位置信息与所述第二网关700的存储器740保存的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关700的存储器740保存的所述第一虚拟机的序列号相同时,确定第一虚拟机的位置信息存在冲突,删除所述第二网关700的存储器740保存的所述第一虚拟机的MAC路由;在所述第一虚拟机的位置信息与所述第二网关700的存储器740的MAC路由表中的第一虚拟机的位置信息不同,且所述第一位置更新消息的序列号与所述第二网关700的存储器740保存的所述第一虚拟机的序列号不相同时,确定第一虚拟机的位置信息不存在冲突,并将第二网关700的存储器740保存的MAC路由中的所述第一虚拟机的位置信息更新为位置更新消息中的第一虚拟机的位置信息。
[0084]可选地,处理器720还用于在检测到第二虚拟机从第三数据中心迀移到所在的第二数据中心时,更新所述第二网关700的存储器740保存的所述第二虚拟机的序列号,并通过发送器730向除所述第二数据中心之外的其他数据中心的网关发送包括所述第二虚拟机的序列号的第二位置更新消息,以使除所述第二数据中心之外的其他数据中心的网关在接收到所述第二位置更新消息后,得知所述第二虚拟机的位置信息发生改变,并在确定所述第二虚拟机的位置信息存在冲突时,删除所述其他数据中心网关保存的所述第二虚拟机的MAC路由。
[0085]可选地,处理器720执行所述更新所述第二网关保存的所述第二虚拟机的序列号的步骤具体为:将所述第二网关700的存储器740保存的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口 ;更新所述第二网关700的存储器740保存的所述第二虚拟机的BGP表项,所述第二虚拟机的BGP表项包括所述第二虚拟机的序列号。
[0086]可选地,处理器720执行所述将所述第二网关700的存储器740保存的MAC路由表中的第二虚拟机的出接口更新为所述第二网关的接口的步骤具体为:当所述第二网关700的存储器740存储有网络侧MAC路由表和接入侧MAC路由表时,删除所述网络侧MAC路由表中所述第二虚拟机对应的表项,并在所述接入侧MAC路由表中添加所述第二虚拟机的出接口为所述第二网关的接口的表项;当所述第二网关700的存储器740仅存储有一个MAC路由表时,将所述MAC路由表中第二虚拟机的出接口由网络侧出接口改为所述第二网关的接口。
[0087]存储器740可以包括只读存储器和随机存取存储器,并向处理器720提供指令和数据。存储器740的一部分还可以包括非易失性随机存取存储器(英文mon-volatilerandom-access memory,简称:NVRAM) ο
[0088]存储器740存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
[0089]操作指令:包括各种操作指令,用于实现各种操作。
[0090]操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0091]在本发明实施例中,处理器720通过调用存储器740存储的操作指令(该操作指令可存储在操作系统中),来执行上述操作。
[0092]具体的应用中,所述网关的各个组件通过总线750耦合在一起,其中总线750除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线750。
[0093]处理器720可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器720中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器720可以是中央处理单元(英文:central processing unit,简称:CPU)、通用处理器、数字信号处理器(英文:digital signal processor,简称:DSP)、专用集成电路(英文:applicat1n_specific integrated circuit,简称:ASIC)、现成可编程门阵列(英文:field-programmable gate array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器740,处理器720读取存储器740中的信息,结合其硬件完成上述方法的步骤。
[0094]可以理解的是,图5-7所示的网关在上面的实施方式中均定义为第二数据中心的第二网关,这仅是为了能够更清楚进行说明,实际上,本申请所保护的网关应为网络系统中的任意数据中心的网关。
[0095]本申请还提供一种数据中心组成的网络系统的实施方式,该网络系统包括多个数据中心,每个数据中心包括至少一个网关和虚拟机,所述数据中心的虚拟机通过所在数据中心的网关与其他数据中心通信,所述网关为上面实施方式所述的网关。
[0096]上述方案中,当数据中心中的虚拟机的位置信息发生变化时,该数据中心的网关发送位置更新消息,以使其他所有数据中心的网关在接收到该位置更新消息时,删除该网关本地保存的该虚拟机的MAC路由,避免了在虚拟机的位置变化过程出现位置信息更新错误的状况,然后,当有流量访问该虚拟机时,其他数据中心的网关再通过向该虚拟机学习,得到所述虚拟机的准确位置信息,实现了数据中心间的虚拟机位置信息的准确同步,从而减少了由于虚拟机位置信息不正确而导致流量中断的可能性。而且,本申请方案可支持原来数据中心的通讯协议,无需更改原来的协议字段,且无需更改硬件结构。
[0097]在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[00
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1