一种虚拟机热迁移方法及其系统与流程

文档序号:12789328阅读:210来源:国知局
一种虚拟机热迁移方法及其系统与流程

本发明涉及虚拟化网络管理技术领域,特别是涉及一种虚拟机热迁移方法及其系统。



背景技术:

虚拟机运行在主机上,当主机出现故障、资源分配不均等情况时,可通过迁移虚拟机来保证虚拟机业务的正常运行。虚拟机热迁移指的是将正在运行的虚拟机从一台主机上移到另一台主机上的过程,该过程中无需中断虚拟机的业务。

虚拟机由源主机迁移至目的主机的过程中,客户端发送的报文会发送至源主机上的虚拟机进行处理,物理交换机的转发表对应的地址也为源主机内虚拟机的IP地址。当虚拟机迁移完成后,但物理交换机的转发表尚未更改为目的主机内虚拟机的IP地址时,客户端的报文仍会发送至源主机上,但此时源主机上的虚拟机已经不可用,故这部分报文就会丢失,导致网络业务中断。

因此,如何提供一种能够减少报文丢失情况出现的虚拟机热迁移方法及其系统是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种虚拟机热迁移方法及其系统,能够尽可能避免迁移过程中出现报文丢失,减少网络业务中断的情况出现,提高虚拟机热迁移过程的可靠性。

为解决上述技术问题,本发明提供了一种虚拟机热迁移方法,包括:

虚拟机管理平台发送虚拟机迁移指令至控制器;

所述控制器接收所述虚拟机迁移指令后,控制虚拟机从源主机向目的主机进行迁移,并在所述目的主机上建立报文缓存队列;

所述虚拟机管理平台检测到虚拟机的迁移完成剩余时间达到预设阈值时,发送地址更新指令至所述控制器;

所述控制器接收到所述地址更新指令后,控制物理交换机按照所述目的主机内虚拟机的IP地址更新转发表;

所述物理交换机将客户端发送的报文依据更新后的转发表发送至所述报文缓存队列内进行缓存;

所述虚拟机管理平台检测到迁移完成后,发送迁移完毕指令至所述控制器;

所述控制器将所述报文缓存队列内缓存的全部报文发送至所述目的主机内的虚拟机内,并销毁所述报文缓存队列。

优选地,所述控制物理交换机按照所述目的主机内虚拟机的IP地址更新转发表的过程具体为:

所述控制器控制所述目的主机向所述物理交换机广播所述目的主机内虚拟机的免费ARP,并控制所述源主机拦截所述免费ARP进入所述源主机内的虚拟机;

所述物理交换机接收到所述免费ARP后,依据所述免费ARP中携带的所述目的主机内虚拟机的IP地址更新转发表。

优选地,所述控制所述源主机拦截所述免费ARP进入所述源主机内的虚拟机的过程具体为:

所述控制器通过openflow协议下发流表至所述源主机,控制拦截所述免费ARP进入所述源主机内的虚拟机内。

为解决上述技术问题,本发明还提供了一种虚拟机热迁移系统,包括:

虚拟机管理平台,用于发送虚拟机迁移指令至控制器;检测到虚拟机的迁移完成剩余时间达到预设阈值时,发送地址更新指令至所述控制器;检测到迁移完成后,发送迁移完毕指令至所述控制器;

所述控制器,用于接收所述虚拟机迁移指令后,控制虚拟机从源主机向目的主机进行迁移,并在所述目的主机上建立报文缓存队列;接收到所述地址更新指令后,控制物理交换机按照所述目的主机内虚拟机的IP地址更新转发表;将所述报文缓存队列内缓存的全部报文发送至所述目的主机内的虚拟机内,并销毁所述报文缓存队列;

所述物理交换机,用于将客户端发送的报文依据更新后的转发表发送至所述报文缓存队列内进行缓存。

优选地,所述控制器具体包括:

迁移控制单元,用于接收所述虚拟机迁移指令后,控制虚拟机从源主机向目的主机进行迁移;

队列设置单元,用于接收所述虚拟机迁移指令后,在所述目的主机上建立报文缓存队列;

地址更新单元,用于接收到所述地址更新指令后,控制所述目的主机向所述物理交换机广播所述目的主机内虚拟机的免费ARP;供所述物理交换机接收到所述免费ARP后,依据所述免费ARP中携带的所述目的主机内虚拟机的IP地址更新转发表;

拦截控制单元,用于控制所述源主机拦截所述免费ARP进入所述源主机内的虚拟机;

缓存结束控制单元,用于将所述报文缓存队列内缓存的全部报文发送至所述目的主机内的虚拟机内,并销毁所述报文缓存队列。

优选地,所述拦截控制单元具体用于:

通过openflow协议下发流表至所述源主机,控制拦截所述免费ARP进入所述源主机内的虚拟机内。

本发明提供了一种虚拟机热迁移方法及其系统,包括在目的主机上建立报文缓存队列,当检测到虚拟机的迁移完成剩余时间达到预设阈值时,按照目的主机内虚拟机的IP地址更新物理交换机的转发表,之后物理交换机将客户端发送的报文发送至目的主机上的报文缓存队列进行缓存,而不再发送至源主机的虚拟机内,当迁移完成后,将报文缓存队列的全部报文发送至目的主机上的虚拟机内,由目的主机上的虚拟机进行处理,并销毁报文缓存队列。

即在虚拟机热迁移过程中,未更新转发表之前,物理交换机将报文发送至源主机上的虚拟机进行处理,更新转发表后,物理交换机会把报文发送至目的主机上的报文缓存队列,等迁移完成后,目的主机上的虚拟机会接收报文缓存队列内的报文依次进行处理,并在销毁报文缓存队列后,直接接收物理交换机发送的报文。可见,本发明能够实现虚拟机热迁移过程中网络业务的平稳过渡,尽可能避免了报文丢失(即丢包),减少了网络业务中断的情况出现,提高了虚拟机热迁移过程的可靠性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种虚拟机热迁移方法的过程的流程图;

图2为本发明提供的一种虚拟机热迁移的结构示意图。

具体实施方式

本发明的核心是提供一种虚拟机热迁移方法及其系统,能够尽可能避免迁移过程中出现报文丢失,减少网络业务中断的情况出现,提高虚拟机热迁移过程的可靠性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种虚拟机热迁移方法,参见图1所示,图1为本发明提供的一种虚拟机热迁移方的过程的流程图;该方法包括:

步骤s101:虚拟机管理平台发送虚拟机迁移指令至控制器;

步骤s102:控制器接收虚拟机迁移指令后,控制虚拟机从源主机向目的主机进行迁移,并在目的主机上建立报文缓存队列;

需要注意的是,建立报文缓存队列是在虚拟机迁移之前还是虚拟机迁移过程中,本发明并不做具体限定。

步骤s103:虚拟机管理平台检测到虚拟机的迁移完成剩余时间达到预设阈值时,发送地址更新指令至控制器;

可以理解的是,由于虚拟机迁移是需要一段时间的,例如需要10s(该时间长度与虚拟机内存大小有关),而报文缓存队列的存储时间是有限的,例如只能暂存报文2s或3s,因此物理交换机的转发表不能太早进行地址更新,如果过早更新,例如在迁移完成前6s内即进行了地址更新,那么之后的6s内物理交换机发送的报文需要一直缓存在报文缓存队列里,而报文缓存队列不能对报文存储过长时间,故导致部分报文已经达到报文缓存队列的暂存期限但迁移仍未完成,此时会使得这部分报文丢失,进而造成网络业务中断。故综合考虑物理交换机的转发表更新时间以及设置的报文缓存队列的暂存期限后,设置预设阈值,使得能够在合适的时间发起转发表的地址更新操作。

步骤s104:控制器接收到地址更新指令后,控制物理交换机按照目的主机内虚拟机的IP地址更新转发表;

步骤s105:物理交换机将客户端发送的报文依据更新后的转发表发送至报文缓存队列内进行缓存;

步骤s106:虚拟机管理平台检测到迁移完成后,发送迁移完毕指令至控制器;

步骤s107:控制器将报文缓存队列内缓存的全部报文发送至目的主机内的虚拟机内,并销毁报文缓存队列。

可以理解的是,若不销毁报文缓存队列,物理交换机会一直将报文发送至报文缓存队列内,这样会影响虚拟机的正常工作,因此,在将报文缓存队列内的全部报文发送至虚拟机后,需要对其进行销毁。

其中,步骤s104中,控制器接收到地址更新指令后的过程具体为:

控制器控制目的主机向物理交换机广播目的主机内虚拟机的免费ARP(Address Resolution Protocol,地址解析协议),并控制源主机拦截免费ARP进入源主机内的虚拟机;

物理交换机接收到免费ARP后,依据免费ARP中携带的目的主机内虚拟机的IP地址更新转发表。

可以理解的是,由于目的主机采用广播方式发送自身IP地址至物理交换机,此时,源主机若不对免费ARP进行拦截的话,该免费ARP会通过源主机的网口进入源主机内的虚拟机中,这种情况下,源主机内的虚拟机会重复发送一个信号至物理交换机,承认之前的免费ARP为自身的地址,这样会导致出现IP冲突,使得物理交换机的转发表内的地址最终变更为源主机的IP地址,从而导致出现网络业务中断的情况;因此,必须在源主机上设置拦截,使得免费ARP无法进入源主机内的虚拟机中。

另外,控制器优选先控制源主机拦截免费ARP进入源主机内的虚拟机,再控制目的主机向物理交换机广播免费ARP;当然,两者也可以同时进行,本发明对此不作特别限定。

进一步的,上述控制源主机拦截免费ARP进入源主机内的虚拟机的过程具体为:

控制器通过openflow协议下发流表至源主机,控制拦截免费ARP进入源主机内的虚拟机内。

本发明提供了一种虚拟机热迁移方法,包括在目的主机上建立报文缓存队列,当检测到虚拟机的迁移完成剩余时间达到预设阈值时,按照目的主机内虚拟机的IP地址更新物理交换机的转发表,之后物理交换机将客户端发送的报文发送至目的主机上的报文缓存队列进行缓存,而不再发送至源主机的虚拟机内,当迁移完成后,将报文缓存队列的全部报文发送至目的主机上的虚拟机内,由目的主机上的虚拟机进行处理,并销毁报文缓存队列。

即在虚拟机热迁移过程中,未更新转发表之前,物理交换机将报文发送至源主机上的虚拟机进行处理,更新转发表后,物理交换机会把报文发送至目的主机上的报文缓存队列,等迁移完成后,目的主机上的虚拟机会接收报文缓存队列内的报文依次进行处理,并在销毁报文缓存队列后,直接接收物理交换机发送的报文。可见,本发明能够实现虚拟机热迁移过程中网络业务的平稳过渡,尽可能避免了报文丢失(即丢包),减少了网络业务中断的情况出现,提高了虚拟机热迁移过程的可靠性。

本发明还提供了一种虚拟机热迁移系统,参见图2所示,图2为本发明提供的一种虚拟机热迁移的结构示意图。该系统包括:

虚拟机管理平台1,用于发送虚拟机迁移指令至控制器2;检测到虚拟机的迁移完成剩余时间达到预设阈值时,发送地址更新指令至控制器2;检测到迁移完成后,发送迁移完毕指令至控制器2;

控制器2,用于接收虚拟机迁移指令后,控制虚拟机从源主机向目的主机进行迁移,并在目的主机上建立报文缓存队列;接收到地址更新指令后,控制物理交换机3按照目的主机内虚拟机的IP地址更新转发表;将报文缓存队列内缓存的全部报文发送至目的主机内的虚拟机内,并销毁报文缓存队列;

物理交换机3,用于将客户端发送的报文依据更新后的转发表发送至报文缓存队列内进行缓存。

其中,控制器2具体包括:

迁移控制单元,用于接收虚拟机迁移指令后,控制虚拟机从源主机向目的主机进行迁移;

队列设置单元,用于接收虚拟机迁移指令后,在目的主机上建立报文缓存队列;

地址更新单元,用于接收到地址更新指令后,控制目的主机向物理交换机3广播目的主机内虚拟机的免费ARP;供物理交换机3接收到免费ARP后,依据免费ARP中携带的目的主机内虚拟机的IP地址更新转发表;

拦截控制单元,用于控制源主机拦截免费ARP进入源主机内的虚拟机;

缓存结束控制单元,用于将报文缓存队列内缓存的全部报文发送至目的主机内的虚拟机内,并销毁报文缓存队列。

作为优选地,拦截控制单元具体用于:

通过openflow协议下发流表至源主机,控制拦截免费ARP进入源主机内的虚拟机内。

本发明提供了一种虚拟机热迁移系统,包括在目的主机上建立报文缓存队列,当检测到虚拟机的迁移完成剩余时间达到预设阈值时,按照目的主机内虚拟机的IP地址更新物理交换机的转发表,之后物理交换机将客户端发送的报文发送至目的主机上的报文缓存队列进行缓存,而不再发送至源主机的虚拟机内,当迁移完成后,将报文缓存队列的全部报文发送至目的主机上的虚拟机内,由目的主机上的虚拟机进行处理,并销毁报文缓存队列。

即在虚拟机热迁移过程中,未更新转发表之前,物理交换机将报文发送至源主机上的虚拟机进行处理,更新转发表后,物理交换机会把报文发送至目的主机上的报文缓存队列,等迁移完成后,目的主机上的虚拟机会接收报文缓存队列内的报文依次进行处理,并在销毁报文缓存队列后,直接接收物理交换机发送的报文。可见,本发明能够实现虚拟机热迁移过程中网络业务的平稳过渡,尽可能避免了报文丢失(即丢包),减少了网络业务中断的情况出现,提高了虚拟机热迁移过程的可靠性。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1