一种虚拟网卡热迁移方法及其装置与流程

文档序号:12729261阅读:369来源:国知局
一种虚拟网卡热迁移方法及其装置与流程

本发明涉及虚拟化技术领域,特别是涉及一种虚拟网卡热迁移方法及其装置。



背景技术:

随着虚拟化技术的发展,虚拟机的应用越来越广泛,在基于开源软件Openvswitch(OVS)虚拟化网络环境中,虚拟环境中的网络由OVS创建的虚拟网桥和假网桥等组成,其中,虚拟机的虚拟网卡与假网桥相连并通过假网桥连接虚拟网桥,虚拟网桥连接物理网卡,从而实现信息的发送与接收。

当虚拟机的网络需要更换时,则需要进行虚拟网卡的迁移,目前迁移虚拟网卡的方式需要中断虚拟网卡的连接进行迁移,然后再重启虚拟机,这种方式会导致虚拟机上的网络中断,影响网络业务的运行。

因此,如何提供一种不需要关断虚拟机的虚拟网卡热迁移方法及其装置是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种虚拟网卡热迁移方法及其装置,在迁移过程中不关闭虚拟机,且能够尽可能避免迁移过程出现网络中断的情况。

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

执行预设命令;所述预设命令包括两条子命令,第一子命令用于删除原假网桥上的所述虚拟网卡的连接接口;第二子命令用于在目的假网桥上创建所述虚拟网卡的同名的连接接口;

依据所述目的假网桥的名称更新虚拟机对应的xml文件中的网卡连接状态。

优选地,所述预设命令具体为OVS命令,所述第一子命令为OVS接口断开命令,所述第二子命令为OVS接口新建命令。

优选地,所述执行预设命令之后,还包括:

重新设置所述虚拟网卡的QoS配置参数。

优选地,所述QoS配置参数包括所述虚拟网卡的速率和峰值。

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

迁移模块,用于执行预设命令;所述预设命令包括两条子命令,第一子命令用于删除原假网桥上的所述虚拟网卡的连接接口;第二子命令用于在目的假网桥上创建所述虚拟网卡的同名的连接接口;

文件更新模块,用于依据所述目的假网桥的名称更新虚拟机对应的xml文件中的网卡连接状态。

优选地,还包括:

参数重设模块,用于重新设置所述虚拟网卡的QoS配置参数。

本发明提供了一种虚拟网卡热迁移方法及其装置,通过执行预设命令来迁移虚拟网卡,该预设命令包括两部分,一部分用于断开虚拟网卡与原假网桥之间的连接,另一部分用于建立虚拟网卡与目的假网桥之间的连接,然后依据目的假网桥的名称修改虚拟机对应的xml文件。本发明将断开连接的命令与新建连接的命令整合在一起执行,保证了虚拟网卡迁移命令的即时生效,避免了出现断开连接与新建连接之间过长的时间间隔而导致的网络中断,也避免了断开连接后无法新建连接的情况出现,采用一条指令进行虚拟网卡的完整迁移,使得要么能成功的删除并创建连接,要么就不能删除,不会因为断开连接的命令或新建连接的命令执行不成功而中断网络。可见,本发明不需要关断虚拟机,且能够尽可能避免迁移过程出现网络中断的情况。

附图说明

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

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

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

具体实施方式

本发明的核心是提供一种虚拟网卡热迁移方法及其装置,在迁移过程中不关闭虚拟机,且能够尽可能避免迁移过程出现网络中断的情况。

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

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

步骤s101:执行预设命令;预设命令包括两条子命令,第一子命令用于删除原假网桥上的虚拟网卡的连接接口;第二子命令用于在目的假网桥上创建虚拟网卡的同名的连接接口;

步骤s102:依据目的假网桥的名称更新虚拟机对应的xml文件中的网卡连接状态。

可以理解的是,通过更新虚拟机对应的xml文件,能够保证下次虚拟机重启后,迁移不失效,即重启后虚拟网卡仍旧与目的假网桥连接。

具体的,预设命令具体为OVS命令,第一子命令为OVS接口断开命令,第二子命令为OVS接口新建命令。

例如,假设虚拟网卡的名称为vnet0,原网桥名和假网桥名分别为srcbr和srcfkbr,目的网桥名和假网桥名分别为destbr和destfkbr,可采用如下OVS命令实现虚拟网卡的暂时性迁移:

ovs-vsctl--del-port vnet0--add-port destfkbr vnet0

其中,ovs-vsctl del-port vnet0为OVS接口断开命令;ovs-vsctl add-port destfkbr vnet0为OVS接口新建命令。

作为优选地,步骤s101之后,还包括:

重新设置虚拟网卡的QoS配置参数。

其中,QoS配置参数包括虚拟网卡的速率和峰值。

可以理解的是,虚拟网卡迁移后,虚拟网卡的QoS配置可能会失效,为是的虚拟网卡迁移后的QoS配置正常,还需要对虚拟网卡进行再次进行QoS的配置:

ovs-vsctl set Interface vnet0 ingress_policing_rate=xxx#设置网卡的速率,xxx是整数,单位为kb

ovs-vsctl set Interface vnet0 ingress_policing_burst=yyy#设置网卡峰值,yyy是整数,单位为kb

另外,步骤s101的迁移为暂时性迁移,一旦虚拟机重启则会失效,故需要把虚拟网卡的连接状态更新到虚拟机对应的xml文件(位于/etc/libvirt/qemu/下),从而保证重启(包括正常重启,关机后再启动,以及强制重启)后迁移不失效,修改内容如下:

本发明提供了一种虚拟网卡热迁移方法,通过执行预设命令来迁移虚拟网卡,该预设命令包括两部分,一部分用于断开虚拟网卡与原假网桥之间的连接,另一部分用于建立虚拟网卡与目的假网桥之间的连接,然后依据目的假网桥的名称修改虚拟机对应的xml文件。本发明将断开连接的命令与新建连接的命令整合在一起执行,保证了虚拟网卡迁移命令的即时生效,避免了出现断开连接与新建连接之间过长的时间间隔而导致的网络中断,也避免了断开连接后无法新建连接的情况出现,采用一条指令进行虚拟网卡的完整迁移,使得要么能成功的删除并创建连接,要么就不能删除,不会因为断开连接的命令或新建连接的命令执行不成功而中断网络。可见,本发明不需要关断虚拟机,且能够尽可能避免迁移过程出现网络中断的情况。

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

迁移模块1,用于执行预设命令;预设命令包括两条子命令,第一子命令用于删除原假网桥上的虚拟网卡的连接接口;第二子命令用于在目的假网桥上创建虚拟网卡的同名的连接接口;

文件更新模块3,用于依据目的假网桥的名称更新虚拟机对应的xml文件中的网卡连接状态。

作为优选地,该装置还包括:

参数重设模块2,用于重新设置虚拟网卡的QoS配置参数。

本发明提供了一种虚拟网卡热迁移装置,通过执行预设命令来迁移虚拟网卡,该预设命令包括两部分,一部分用于断开虚拟网卡与原假网桥之间的连接,另一部分用于建立虚拟网卡与目的假网桥之间的连接,然后依据目的假网桥的名称修改虚拟机对应的xml文件。本发明将断开连接的命令与新建连接的命令整合在一起执行,保证了虚拟网卡迁移命令的即时生效,避免了出现断开连接与新建连接之间过长的时间间隔而导致的网络中断,也避免了断开连接后无法新建连接的情况出现,采用一条指令进行虚拟网卡的完整迁移,使得要么能成功的删除并创建连接,要么就不能删除,不会因为断开连接的命令或新建连接的命令执行不成功而中断网络。可见,本发明不需要关断虚拟机,且能够尽可能避免迁移过程出现网络中断的情况。

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

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

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