CN115499298A - 一种虚拟机热迁移方法、装置、设备及介质 - Google Patents
一种虚拟机热迁移方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115499298A CN115499298A CN202211422892.5A CN202211422892A CN115499298A CN 115499298 A CN115499298 A CN 115499298A CN 202211422892 A CN202211422892 A CN 202211422892A CN 115499298 A CN115499298 A CN 115499298A
- Authority
- CN
- China
- Prior art keywords
- source node
- port
- virtual machine
- ovn
- migration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Abstract
本申请公开了一种虚拟机热迁移方法、装置、设备及介质,涉及云计算技术领域。通过基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;设置源节点的端口同时绑定源节点和目的节点;生成绑定后的源节点对应的流表,以用于通过流表访问绑定端口的源节点和目的节点;当端口接收到流量时,由源节点对流量进行处理,直至虚拟机迁移结束。由此可知,上述方案具体通过设置源节点的端口同时绑定源节点和目的节点,允许一个端口绑定两个节点;送往此端口的流量报文能够同时送到两个节点。目的节点提前收到流量报文且具备流表提供的转发功能,保证在迁移过程中没有报文丢失的情况,从而实现热迁移零丢包,提升产品的实用性及业务稳定性保障。
Description
技术领域
本申请涉及云计算技术领域,特别是涉及一种虚拟机热迁移方法、装置、设备及介质。
背景技术
在当前云计算、云服务大热的时代,公司业务和个人业务都在推行云服务。OpenStack云计算管理平台是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。云服务提供了虚拟机服务,业务运行中的网络数据的快速转发奠定了云服务性能的基础。目前比较先进的方案是基于开放式虚拟网络(Open Virtual Network,OVN)控制器重新对开放式虚拟交换标准(Open vSwitch,OVS)流表进行规划,使OVS不仅仅提供二层转发,也提供三层转发。这样三层转发直接在OVS进程内就可以完成,提高了转发效率,减少了系统资源的消耗,并且OVN还具有先天分布式的优势。
在实际使用过程中,虚拟机跨节点之间的迁移是云服务常用的功能。客户希望迁移过程中可以实现业务不中断,即能够达到零丢包的效果。原生OpenStack方案中,可通过提前创建接口设备(网络转发由多种接口配合实现)来保障迁移之前就能提供数据转发,从而实现零丢包。但基于OVN方案的数据转发由流表实现,无法通过提前创建接口来实现零丢包,导致虚拟机热迁移功能无法实现业务不中断。
鉴于上述问题,如何实现虚拟机热迁移过程中业务不中断,是该领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种虚拟机热迁移方法、装置、设备及介质,以实现虚拟机热迁移过程中业务不中断。
为解决上述技术问题,本申请提供一种虚拟机热迁移方法,包括:
基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;
设置所述源节点的端口同时绑定所述源节点和所述目的节点;
生成绑定后的所述源节点对应的流表,以用于通过所述流表访问绑定所述端口的所述源节点和所述目的节点;
当所述端口接收到流量时,由所述源节点对所述流量进行处理,直至所述虚拟机迁移结束。
优选地,所述设置所述源节点的端口同时绑定所述源节点和所述目的节点包括:
通过nova和neutron-server更改所述端口的绑定关系,以将所述端口同时绑定至所述源节点和所述目的节点;
通过所述neutron-server下发所述绑定关系至ovn北向数据库,以修改所述ovn北向数据库中logical_switch_port表中所述端口的所述绑定关系;
通过ovn-northd获取所述ovn北向数据库中的所述绑定关系,并更新ovn南向数据库中port_binding表中所述端口的所述绑定关系。
优选地,所述生成绑定后的所述源节点对应的流表包括:
通过其余各节点的ovn-controller获取所述ovn南向数据库中的所述绑定关系;
根据所述绑定关系和OVS生成所述流表。
优选地,所述当所述端口接收到流量时,由所述源节点对所述流量进行处理包括:
当所述端口接收到流量时,通过所述端口将所述流量传输至所述源节点和所述目的节点;
通过所述源节点将所述流量转发至所述虚拟机的网卡,以对所述流量中的报文进行处理。
优选地,在所述虚拟机迁移结束之后,还包括:
通过所述nova和所述neutron_server删除所述端口与所述源节点的所述绑定关系;
删除所述ovn北向数据库和所述ovn南向数据库中的所述端口与所述源节点的所述绑定关系;
删除所述源节点的所述流表。
优选地,所述删除所述ovn北向数据库和所述ovn南向数据库中的所述端口与所述源节点的所述绑定关系包括:
通过所述neutron-server下发删除所述端口与所述源节点的所述绑定关系的信息至所述ovn北向数据库,以删除所述ovn北向数据库中所述logical_switch_port表中所述端口与所述源节点的所述绑定关系;
通过ovn-northd获取所述ovn北向数据库中的删除的所述绑定关系,并删除所述ovn南向数据库中所述port_binding表中所述端口与所述源节点的所述绑定关系。
优选地,在删除所述源节点的所述流表之后,还包括:
当所述端口再次接收到所述流量时,由所述目的节点对所述流量进行处理。
优选地,所述当所述端口再次接收到所述流量时,由所述目的节点对所述流量进行处理包括:
当所述端口再次接收到所述流量时,通过所述端口将所述流量传输至所述目的节点;
通过所述目的节点将所述流量转发至所述虚拟机的网卡,以对所述流量中的报文进行处理。
优选地,在删除所述源节点的所述流表之后,还包括:
通过所述nova删除所述源节点的所述端口。
优选地,在所述通过所述nova删除所述源节点的所述端口之后,还包括:
删除所述源节点的所述虚拟机的资源。
优选地,在所述虚拟机迁移结束之后,还包括:
输出所述虚拟机迁移完成的提示信息。
优选地,在所述虚拟机迁移结束之后,还包括:
生成所述虚拟机的迁移日志,以记录所述虚拟机的迁移过程。
为解决上述技术问题,本申请还提供一种虚拟机热迁移装置,包括:
迁移模块,用于基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;
绑定模块,用于设置所述源节点的端口同时绑定所述源节点和所述目的节点;
生成模块,用于生成绑定后的所述源节点对应的流表,以用于通过所述流表访问绑定所述端口的所述源节点和所述目的节点;
处理模块,用于当所述端口接收到流量时,由所述源节点对所述流量进行处理,直至所述虚拟机迁移结束。
为解决上述技术问题,本申请还提供一种虚拟机热迁移设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的虚拟机热迁移方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的虚拟机热迁移方法的步骤。
本申请所提供的虚拟机热迁移方法,通过基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;设置源节点的端口同时绑定源节点和目的节点;生成绑定后的源节点对应的流表,以用于通过流表访问绑定端口的源节点和目的节点;当端口接收到流量时,由源节点对流量进行处理,直至虚拟机迁移结束。由此可知,上述方案在使用OpenStack开源项目OVN的网络环境中,不改变原有流量架构设计的基础上,修改和扩充原有表项的属性;具体通过设置源节点的端口同时绑定源节点和目的节点,允许一个端口绑定两个节点;送往此端口的流量报文能够同时送到两个节点。目的节点提前收到流量报文且具备流表提供的转发功能,保证在迁移过程中没有报文丢失的情况,从而实现热迁移零丢包,提升产品的实用性及业务稳定性保障。
此外,本申请实施例还提供了一种虚拟机热迁移装置、设备及介质,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种虚拟机热迁移方法的流程图;
图2为本申请实施例提供的一种虚拟机热迁移装置的示意图;
图3为本申请实施例提供的一种虚拟机热迁移设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种虚拟机热迁移方法、装置、设备及介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
OVS是一款开源的“虚拟交换机”,控制协议方面它不但支持OpenFlow (一种网络通信协议)的所有特性,而且扩展了部分OpenFlow的功能。其中,OpenFlow是一种网络通信协议,属于数据链路层,能够控制网上交换器或路由器的转发平面(forwarding plane),借此改变网络数据包所走的网络路径。然而长期以来,OVS一直缺乏一个统一的网络模型,于是OVN诞生。OVN旨在为OVS提供一个控制平面,通过一个统一的网络模型为容器、虚拟机提供相同的网络服务。
OVN提供的是一个轻量级控制器,提供了比OVS更高层的抽象。OVN的轻量级不但体现在OVN本身的代码少、模型简单,而且它的流表设计(Pipeline)也容易理解。OVN是一系列守护程序,它们将虚拟网络配置转换为OpenFlow,并将其安装到OVS中。因此,目前比较先进的三层转发方案是基于OVN控制器重新对OVS流表进行规划,使OVS不仅仅提供二层转发,也提供三层转发,这样三层转发直接在OVS进程内就可以完成,提高了转发效率,减少了系统资源的消耗,并且OVN还具有先天分布式的优势。
在云服务实际使用过程中,虚拟机跨节点之间的迁移是云服务常用的功能。客户希望迁移过程中可以实现业务不中断,即能够达到零丢包的效果。原生OpenStack方案中,可通过提前创建接口设备(网络转发由多种接口配合实现)来保障迁移之前就能提供数据转发,从而实现零丢包。但基于OVN方案的数据转发由流表实现,无法通过提前创建接口来实现零丢包,导致虚拟机热迁移功能无法实现业务不中断。因此本申请实施例提供一种虚拟机热迁移的方法,能够实现迁移过程中业务不中断。图1为本申请实施例提供的一种虚拟机热迁移方法的流程图。如图1所示,方法包括:
S10:基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移。
在具体实施中,首先基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移。可以理解的是,虚拟机迁移前位于源节点,虚拟机迁移后位于目的节点,迁移过程中主要复制虚拟机的内存数据到目的节点,并在目的节点中构建新的虚拟机。源节点和目的节点均为OVN分布式网络环境中的节点(chassis),具体为虚拟环境中的物理节点,可作为计算节点,也可作为网络节点,还可即为网络节点又为计算节点;同时节点需要部署ovn-controller以及OVS相关的进程。
S11:设置源节点的端口同时绑定源节点和目的节点。
进一步地,设置源节点的端口(port)同时绑定源节点和目的节点。端口port是指交换机的网口;对于硬件交换机来说,port是网卡接口组;对于软交换机来说,port是插入到网桥上的接口。在OVN分布式网络环境中,各节点均绑定一个端口,以用于通过端口访问对应节点。而在本实施例中将源节点的端口同时绑定源节点和目的节点,使对源节点的流量访问能够同时访问到目的节点。
Network,SDN)实现网络虚拟化的原则,在实现上充分利用了Linux系统上的各种网络相关的技术;neutron-server是其提供服务的一个进程。 Defined 作为一种优选的实施例,设置源节点的端口同时绑定源节点和目的节点,具体通过nova及neutron-server实现。nova是OpenStack云计算管理平台的计算组织控制器,用于管理OpenStack云中实例的生命周期的所有活动,是管理计算资源、网络认证所需的可扩展性平台。而neutron是OpenStack项目中负责提供网络服务的组件,它基于软件定义网络的思想,实现了网络虚拟化下的资源管理。neutron的设计目标是实现“网络即服务(Networking as a Service)”,在设计上遵循了基于软件定义网络(Software
具体地,通过nova响应虚拟机热迁移的动作,通知neutron-server进行更新,具体更新源节点的端口的绑定关系,同时绑定端口至源节点和目的节点;记录该端口同时绑定源节点和目的节点,并分别标记两个节点为active和inactive。进一步neutron-server下发绑定关系至ovn北向数据库,以修改ovn北向数据库中logical_switch_port表中端口的绑定关系。此时ovn-northd感知到并获取ovn北向数据库中的更新后的绑定关系,更新ovn南向数据库中port_binding表中端口的绑定关系。
需要注意的是,ovn北向数据库和ovn南向数据库是使用ovs-db的轻量级数据库。ovn-northd用于连接其上方的ovn北向数据库和下方的ovn南向数据库;它将传统网络概念中的逻辑网络配置(取自ovn北向数据库)转换为其下方ovn南向数据库中的逻辑数据路径流。通过ovn-northd使得ovn北向数据库中的绑定关系的更新同步到ovn南向数据库中,从而使得所有其余节点上的ovn-controller都感知到此端口绑定了两个节点。
此外,ovn-controller是一个在集群中的每个Hypervisor(又称虚拟机监视器(virtual machine monitor,VMM),是用来建立与执行虚拟机器的软件、固件或硬件)上的OVN agent,北向连接ovn南向数据库。它将南向数据库中的逻辑流转换为OpenFlow forOpen vSwitch。它还处理某些流量,例如动态主机配置协议(Dynamic Host ConfigurationProtocol,DHCP)和域名系统(Domain Name System,DNS)。
S12:生成绑定后的源节点对应的流表,以用于通过流表访问绑定端口的源节点和目的节点。
进一步地,生成绑定后的源节点对应的流表。流表即转发流表,由于端口绑定有两个节点(源节点和目的节点),因此所有通过转发流表送到此端口的流量同时送到源节点和目的节点。
可以理解的是,由于其余节点上的ovn-controller都通过ovn南向数据库中的port_binding表感知到此端口绑定了两个节点,因此具体通过其余各节点的ovn-controller获取ovn南向数据库中的绑定关系,进一步根据绑定关系和OVS生成流表,以用于通过流表实现对源节点和目的节点的访问。
S13:当端口接收到流量时,由源节点对流量进行处理,直至虚拟机迁移结束。
在虚拟机热迁移过程中,当端口接收到流量时,由源节点对流量进行处理直至虚拟机迁移结束。
可以理解的是,由于虚拟机热迁移结束前,源节点中的虚拟机正常工作,而目的节点中的虚拟机未构建完成,因此作为一种优选的实施例,当端口接收到流量时,通过端口将流量传输至源节点和目的节点;源节点根据流表将流量转发至虚拟机的网卡,以对流量中的报文进行处理。由于目的节点中的虚拟机还在构建中,不具有应答报文的功能,因此不对报文进行处理。
本实施例中,通过基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;设置源节点的端口同时绑定源节点和目的节点;生成绑定后的源节点对应的流表,以用于通过流表访问绑定端口的源节点和目的节点;当端口接收到流量时,由源节点对流量进行处理,直至虚拟机迁移结束。由此可知,上述方案在使用OpenStack开源项目OVN的网络环境中,不改变原有流量架构设计的基础上,修改和扩充原有表项的属性;具体通过设置源节点的端口同时绑定源节点和目的节点,允许一个端口绑定两个节点;送往此端口的流量报文能够同时送到两个节点。目的节点提前收到流量报文且具备流表提供的转发功能,保证在迁移过程中没有报文丢失的情况,从而实现热迁移零丢包,提升产品的实用性及业务稳定性保障。
在上述实施例的基础上,作为一种优选的实施例,在虚拟机迁移结束之后,还包括:
通过nova和neutron_server删除端口与源节点的绑定关系;
删除ovn北向数据库和ovn南向数据库中的端口与源节点的绑定关系;
删除源节点的流表。
可以理解的是,在通过nova迁移虚拟机完成后,由于目的节点上的虚拟机一直能收到报文,因此在虚拟机构建完成后能够直接提供服务,从而实现零丢包。此时虚拟机之前所在的源节点不再参与其他节点与虚拟机间的服务,因此作为一种优选的实施例,在迁移完成之后对源节点中的相关内容进行删除。
具体地,nova通知neutron_server删除端口与源节点的绑定关系,neutron-server删除端口与源节点的绑定关系,并同步更新到ovn北向数据库和ovn南向数据库中,从而使得ovn北向数据库和ovn南向数据库删除端口与源节点的绑定关系。最终,所有节点的ovn-cotroller均删除此端口与源节点的绑定关系,此端口的源节点删除对应的流表。
为实现删除ovn北向数据库和ovn南向数据库中的端口与源节点的绑定关系,作为一种优选的实施例,具体通过neutron-server下发删除端口与源节点的绑定关系的信息至ovn北向数据库,以删除ovn北向数据库中logical_switch_port表中端口与源节点的绑定关系。进一步通过ovn-northd获取ovn北向数据库中的删除的绑定关系,并删除ovn南向数据库中port_binding表中端口与源节点的绑定关系,最终实现了数据库中端口与源节点的绑定关系的删除。
在上述实施例的基础上,作为一种优选的实施例,在删除源节点的流表之后,还包括:
当端口再次接收到流量时,由目的节点对流量进行处理。
在具体实施中,由于虚拟机迁移完成之后删除了端口与源节点的绑定关系,并删除了源节点对应的流表,则当端口再次接收到流量时,由目的节点对流量进行处理。
具体地,当端口再次接收到流量时,通过端口将流量传输至目的节点;通过目的节点将流量转发至虚拟机的网卡,以对流量中的报文进行处理。而源节点即使收到对应的报文(比如广播),由于源节点没有了此端口的流表,故认为不是送到本节点的流量,对报文直接丢弃。
在上述实施例的基础上,作为一种优选的实施例,在删除源节点的流表之后,还包括:
通过nova删除源节点的端口。
在具体实施中,为进一步节省分布式资源,作为一种优选的实施例,在删除源节点的流表之后,进一步通过nova删除源节点上的端口。此外,进一步删除源节点的虚拟机的资源,释放了源节点的存储空间,并最终实现了虚拟机的热迁移。
为更好地提升虚拟机热迁移的操作体验,作为一种优选的实施例,在虚拟机迁移结束之后,还包括:
输出虚拟机迁移完成的提示信息。
可以理解的是,在虚拟机迁移结束之后输出虚拟机迁移完成的提示信息,可使用户及时获知虚拟机迁移完成,以便于后续对虚拟机的相关操作或访问。
此外,在输出提示信息后还可生成虚拟机的迁移日志,以记录虚拟机的迁移过程。用户可通过迁移日志了解到整个虚拟机的迁移过程,以对迁移进行回溯或审计,提高了虚拟机热迁移的安全性。
在上述实施例中,对于虚拟机热迁移方法进行了详细描述,本申请还提供虚拟机热迁移装置对应的实施例。
图2为本申请实施例提供的一种虚拟机热迁移装置的示意图。如图2所示,虚拟机热迁移装置包括:
迁移模块10,用于基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移。
绑定模块11,用于设置源节点的端口同时绑定源节点和目的节点。
生成模块12,用于生成绑定后的源节点对应的流表,以用于通过流表访问绑定端口的源节点和目的节点。
处理模块13,用于当端口接收到流量时,由源节点对流量进行处理,直至虚拟机迁移结束。
作为一种优选的实施例,设置源节点的端口同时绑定源节点和目的节点包括:
通过nova和neutron-server更改端口的绑定关系,以将端口同时绑定至源节点和目的节点;
通过neutron-server下发绑定关系至ovn北向数据库,以修改ovn北向数据库中logical_switch_port表中端口的绑定关系;
通过ovn-northd获取ovn北向数据库中的绑定关系,并更新ovn南向数据库中port_binding表中端口的绑定关系。
作为一种优选的实施例,生成绑定后的源节点对应的流表包括:
通过其余各节点的ovn-controller获取ovn南向数据库中的绑定关系;
根据绑定关系和OVS生成流表。
作为一种优选的实施例,当端口接收到流量时,由源节点对流量进行处理包括:
当端口接收到流量时,通过端口将流量传输至源节点和目的节点;
通过源节点将流量转发至虚拟机的网卡,以对流量中的报文进行处理。
作为一种优选的实施例,在虚拟机迁移结束之后,还包括:
通过nova和neutron_server删除端口与源节点的绑定关系;
删除ovn北向数据库和ovn南向数据库中的端口与源节点的绑定关系;
删除源节点的流表。
作为一种优选的实施例,删除ovn北向数据库和ovn南向数据库中的端口与源节点的绑定关系包括:
通过neutron-server下发删除端口与源节点的绑定关系的信息至ovn北向数据库,以删除ovn北向数据库中logical_switch_port表中端口与源节点的绑定关系;
通过ovn-northd获取ovn北向数据库中的删除的绑定关系,并删除ovn南向数据库中port_binding表中端口与源节点的绑定关系。
作为一种优选的实施例,在删除源节点的流表之后,还包括:
当端口再次接收到流量时,由目的节点对流量进行处理。
作为一种优选的实施例,当端口再次接收到流量时,由目的节点对流量进行处理包括:
当端口再次接收到流量时,通过端口将流量传输至目的节点;
通过目的节点将流量转发至虚拟机的网卡,以对流量中的报文进行处理。
作为一种优选的实施例,在删除源节点的流表之后,还包括:
通过nova删除源节点的端口。
作为一种优选的实施例,在通过nova删除源节点的端口之后,还包括:
删除源节点的虚拟机的资源。
作为一种优选的实施例,在虚拟机迁移结束之后,还包括:
输出虚拟机迁移完成的提示信息。
作为一种优选的实施例,在虚拟机迁移结束之后,还包括:
生成虚拟机的迁移日志,以记录虚拟机的迁移过程。
本实施例中,虚拟机热迁移装置包括迁移模块、绑定模块、生成模块和处理模块。通过基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;设置源节点的端口同时绑定源节点和目的节点;生成绑定后的源节点对应的流表,以用于通过流表访问绑定端口的源节点和目的节点;当端口接收到流量时,由源节点对流量进行处理,直至虚拟机迁移结束。由此可知,上述方案在使用OpenStack开源项目OVN的网络环境中,不改变原有流量架构设计的基础上,修改和扩充原有表项的属性;具体通过设置源节点的端口同时绑定源节点和目的节点,允许一个端口绑定两个节点;送往此端口的流量报文能够同时送到两个节点。目的节点提前收到流量报文且具备流表提供的转发功能,保证在迁移过程中没有报文丢失的情况,从而实现热迁移零丢包,提升产品的实用性及业务稳定性保障。
图3为本申请实施例提供的一种虚拟机热迁移设备的示意图。如图3所示,虚拟机热迁移设备包括:
存储器20,用于存储计算机程序。
处理器21,用于执行计算机程序时实现如上述实施例中所提到的虚拟机热迁移方法的步骤。
本实施例提供的虚拟机热迁移设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图形处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的虚拟机热迁移方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于虚拟机热迁移方法涉及到的数据。
在一些实施例中,虚拟机热迁移设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图3中示出的结构并不构成对虚拟机热迁移设备的限定,可以包括比图示更多或更少的组件。
本实施例中,虚拟机热迁移设备包括存储器和处理器。存储器用于存储计算机程序,处理器用于执行计算机程序时实现如上述实施例中所提到的虚拟机热迁移方法的步骤。通过基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;设置源节点的端口同时绑定源节点和目的节点;生成绑定后的源节点对应的流表,以用于通过流表访问绑定端口的源节点和目的节点;当端口接收到流量时,由源节点对流量进行处理,直至虚拟机迁移结束。由此可知,上述方案在使用OpenStack开源项目OVN的网络环境中,不改变原有流量架构设计的基础上,修改和扩充原有表项的属性;具体通过设置源节点的端口同时绑定源节点和目的节点,允许一个端口绑定两个节点;送往此端口的流量报文能够同时送到两个节点。目的节点提前收到流量报文且具备流表提供的转发功能,保证在迁移过程中没有报文丢失的情况,从而实现热迁移零丢包,提升产品的实用性及业务稳定性保障。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。通过基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;设置源节点的端口同时绑定源节点和目的节点;生成绑定后的源节点对应的流表,以用于通过流表访问绑定端口的源节点和目的节点;当端口接收到流量时,由源节点对流量进行处理,直至虚拟机迁移结束。由此可知,上述方案在使用OpenStack开源项目OVN的网络环境中,不改变原有流量架构设计的基础上,修改和扩充原有表项的属性;具体通过设置源节点的端口同时绑定源节点和目的节点,允许一个端口绑定两个节点;送往此端口的流量报文能够同时送到两个节点。目的节点提前收到流量报文且具备流表提供的转发功能,保证在迁移过程中没有报文丢失的情况,从而实现热迁移零丢包,提升产品的实用性及业务稳定性保障。
以上对本申请所提供的一种虚拟机热迁移方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种虚拟机热迁移方法,其特征在于,包括:
基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;
设置所述源节点的端口同时绑定所述源节点和所述目的节点;
生成绑定后的所述源节点对应的流表,以用于通过所述流表访问绑定所述端口的所述源节点和所述目的节点;
当所述端口接收到流量时,由所述源节点对所述流量进行处理,直至所述虚拟机迁移结束。
2.根据权利要求1所述的虚拟机热迁移方法,其特征在于,所述设置所述源节点的端口同时绑定所述源节点和所述目的节点包括:
通过nova和neutron-server更改所述端口的绑定关系,以将所述端口同时绑定至所述源节点和所述目的节点;
通过所述neutron-server下发所述绑定关系至ovn北向数据库,以修改所述ovn北向数据库中logical_switch_port表中所述端口的所述绑定关系;
通过ovn-northd获取所述ovn北向数据库中的所述绑定关系,并更新ovn南向数据库中port_binding表中所述端口的所述绑定关系。
3.根据权利要求2所述的虚拟机热迁移方法,其特征在于,所述生成绑定后的所述源节点对应的流表包括:
通过其余各节点的ovn-controller获取所述ovn南向数据库中的所述绑定关系;
根据所述绑定关系和OVS生成所述流表。
4.根据权利要求1所述的虚拟机热迁移方法,其特征在于,所述当所述端口接收到流量时,由所述源节点对所述流量进行处理包括:
当所述端口接收到流量时,通过所述端口将所述流量传输至所述源节点和所述目的节点;
通过所述源节点将所述流量转发至所述虚拟机的网卡,以对所述流量中的报文进行处理。
5.根据权利要求2所述的虚拟机热迁移方法,其特征在于,在所述虚拟机迁移结束之后,还包括:
通过所述nova和所述neutron_server删除所述端口与所述源节点的所述绑定关系;
删除所述ovn北向数据库和所述ovn南向数据库中的所述端口与所述源节点的所述绑定关系;
删除所述源节点的所述流表。
6.根据权利要求5所述的虚拟机热迁移方法,其特征在于,所述删除所述ovn北向数据库和所述ovn南向数据库中的所述端口与所述源节点的所述绑定关系包括:
通过所述neutron-server下发删除所述端口与所述源节点的所述绑定关系的信息至所述ovn北向数据库,以删除所述ovn北向数据库中所述logical_switch_port表中所述端口与所述源节点的所述绑定关系;
通过ovn-northd获取所述ovn北向数据库中的删除的所述绑定关系,并删除所述ovn南向数据库中所述port_binding表中所述端口与所述源节点的所述绑定关系。
7.根据权利要求5所述的虚拟机热迁移方法,其特征在于,在删除所述源节点的所述流表之后,还包括:
当所述端口再次接收到所述流量时,由所述目的节点对所述流量进行处理。
8.根据权利要求7所述的虚拟机热迁移方法,其特征在于,所述当所述端口再次接收到所述流量时,由所述目的节点对所述流量进行处理包括:
当所述端口再次接收到所述流量时,通过所述端口将所述流量传输至所述目的节点;
通过所述目的节点将所述流量转发至所述虚拟机的网卡,以对所述流量中的报文进行处理。
9.根据权利要求5所述的虚拟机热迁移方法,其特征在于,在删除所述源节点的所述流表之后,还包括:
通过所述nova删除所述源节点的所述端口。
10.根据权利要求9所述的虚拟机热迁移方法,其特征在于,在所述通过所述nova删除所述源节点的所述端口之后,还包括:
删除所述源节点的所述虚拟机的资源。
11.根据权利要求1至10任意一项所述的虚拟机热迁移方法,其特征在于,在所述虚拟机迁移结束之后,还包括:
输出所述虚拟机迁移完成的提示信息。
12.根据权利要求11所述的虚拟机热迁移方法,其特征在于,在所述虚拟机迁移结束之后,还包括:
生成所述虚拟机的迁移日志,以记录所述虚拟机的迁移过程。
13.一种虚拟机热迁移装置,其特征在于,包括:
迁移模块,用于基于OVN分布式网络环境启动位于源节点的虚拟机向目的节点的迁移;
绑定模块,用于设置所述源节点的端口同时绑定所述源节点和所述目的节点;
生成模块,用于生成绑定后的所述源节点对应的流表,以用于通过所述流表访问绑定所述端口的所述源节点和所述目的节点;
处理模块,用于当所述端口接收到流量时,由所述源节点对所述流量进行处理,直至所述虚拟机迁移结束。
14.一种虚拟机热迁移设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至12任一项所述的虚拟机热迁移方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的虚拟机热迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211422892.5A CN115499298B (zh) | 2022-11-15 | 2022-11-15 | 一种虚拟机热迁移方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211422892.5A CN115499298B (zh) | 2022-11-15 | 2022-11-15 | 一种虚拟机热迁移方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115499298A true CN115499298A (zh) | 2022-12-20 |
CN115499298B CN115499298B (zh) | 2023-02-28 |
Family
ID=85115730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211422892.5A Active CN115499298B (zh) | 2022-11-15 | 2022-11-15 | 一种虚拟机热迁移方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499298B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013097067A1 (zh) * | 2011-12-26 | 2013-07-04 | 华为技术有限公司 | 一种虚拟机迁移后实现通信的方法、设备和系统 |
CN103201721A (zh) * | 2012-08-29 | 2013-07-10 | 华为技术有限公司 | 虚拟机热迁移的系统和方法 |
CN107544841A (zh) * | 2016-06-29 | 2018-01-05 | 中兴通讯股份有限公司 | 虚拟机热迁移方法和系统 |
CN108768895A (zh) * | 2018-05-18 | 2018-11-06 | 华为技术有限公司 | 一种虚拟机迁移的方法及数据中心 |
CN111064649A (zh) * | 2019-12-11 | 2020-04-24 | 锐捷网络股份有限公司 | 一种分层端口绑定实现方法、装置、控制设备及存储介质 |
CN114003334A (zh) * | 2020-07-28 | 2022-02-01 | 中移(苏州)软件技术有限公司 | 虚拟机热迁移网络中断的优化方法、装置、设备、存储介质和系统 |
CN114064217A (zh) * | 2021-11-29 | 2022-02-18 | 建信金融科技有限责任公司 | 一种基于OpenStack的节点虚拟机迁移方法及装置 |
-
2022
- 2022-11-15 CN CN202211422892.5A patent/CN115499298B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013097067A1 (zh) * | 2011-12-26 | 2013-07-04 | 华为技术有限公司 | 一种虚拟机迁移后实现通信的方法、设备和系统 |
CN103201721A (zh) * | 2012-08-29 | 2013-07-10 | 华为技术有限公司 | 虚拟机热迁移的系统和方法 |
CN107544841A (zh) * | 2016-06-29 | 2018-01-05 | 中兴通讯股份有限公司 | 虚拟机热迁移方法和系统 |
CN108768895A (zh) * | 2018-05-18 | 2018-11-06 | 华为技术有限公司 | 一种虚拟机迁移的方法及数据中心 |
CN111064649A (zh) * | 2019-12-11 | 2020-04-24 | 锐捷网络股份有限公司 | 一种分层端口绑定实现方法、装置、控制设备及存储介质 |
CN114003334A (zh) * | 2020-07-28 | 2022-02-01 | 中移(苏州)软件技术有限公司 | 虚拟机热迁移网络中断的优化方法、装置、设备、存储介质和系统 |
CN114064217A (zh) * | 2021-11-29 | 2022-02-18 | 建信金融科技有限责任公司 | 一种基于OpenStack的节点虚拟机迁移方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115499298B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704144B2 (en) | Creating virtual machine groups based on request | |
US11429408B2 (en) | System and method for network function virtualization resource management | |
WO2021017301A1 (zh) | 基于Kubernetes集群的管理方法、装置及计算机可读存储介质 | |
US10185637B2 (en) | Preserving management services with distributed metadata through the disaster recovery life cycle | |
US9582319B2 (en) | Migrating virtual machines across network separated data centers | |
CN112099938A (zh) | 使用多维元数据标签集确定分布式计算环境中的资源分配 | |
US9928107B1 (en) | Fast IP migration in a hybrid network environment | |
CN103095834B (zh) | 一种跨虚拟化数据中心的虚拟机在线迁移方法 | |
US10061665B2 (en) | Preserving management services with self-contained metadata through the disaster recovery life cycle | |
US10324799B2 (en) | Enhanced application write performance | |
CN107632937B (zh) | 一种对虚拟机集群进行测试的方法、装置、可读存储介质 | |
WO2018192478A1 (zh) | 云管理平台、虚拟机管理方法及其系统 | |
WO2019057055A1 (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
WO2024077885A1 (zh) | 容器集群的管理方法、装置、设备及非易失性可读存储介质 | |
CN106685741B (zh) | 一种云主机网络接口的动态管理方法 | |
CN112328365A (zh) | 一种虚拟机迁移方法、装置、设备及存储介质 | |
US9485308B2 (en) | Zero copy volume reconstruction | |
US11579911B1 (en) | Emulated edge locations in cloud-based networks for testing and migrating virtualized resources | |
CN115499298B (zh) | 一种虚拟机热迁移方法、装置、设备及介质 | |
US20230069938A1 (en) | Security and task performance validation for a cooperative device network | |
US10169343B2 (en) | Deferring the cost of virtual storage | |
CN115037757A (zh) | 一种多集群服务管理系统 | |
US10712959B2 (en) | Method, device and computer program product for storing data | |
CN106506247B (zh) | 虚拟网络创建方法和装置 | |
CN114629789B (zh) | 一种基于OpenStack架构的私有云IaaS实践平台构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |