CN112130958B - 一种基于ovs的虚拟机热迁移方法和系统 - Google Patents
一种基于ovs的虚拟机热迁移方法和系统 Download PDFInfo
- Publication number
- CN112130958B CN112130958B CN202010954104.1A CN202010954104A CN112130958B CN 112130958 B CN112130958 B CN 112130958B CN 202010954104 A CN202010954104 A CN 202010954104A CN 112130958 B CN112130958 B CN 112130958B
- Authority
- CN
- China
- Prior art keywords
- virtual
- sriov
- virtual interface
- machine
- ovs
- 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.)
- Active
Links
- 238000013508 migration Methods 0.000 title claims abstract description 152
- 230000005012 migration Effects 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims abstract description 47
- 230000006870 function Effects 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于OVS的虚拟机热迁移方法和系统,方法包括:创建OVS虚拟接口并插入到待热迁移虚拟机中并配置;将待热迁移虚拟机运行业务的通信从旧SRIOV虚拟接口切换到OVS虚拟接口,并移除脏数据;在保持通过OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下迁移待热迁移虚拟机;创建新SRIOV虚拟接口并插入到待热迁移虚拟机中并配置;将待热迁移虚拟机运行业务的通信从OVS虚拟接口切换到新SRIOV虚拟接口,并移脏数据。本发明能够使虚拟机不再受限于SRIOV网络而不能迁移,可以在业务正常运行时进行灵活的跨物理主机热迁移。
Description
技术领域
本发明涉及虚拟机领域,更具体地,特别是指一种基于OVS的虚拟机热迁移方法和系统。
背景技术
在虚拟化环境中,虚拟机可以通过虚拟网络来实现网络通信。实现虚拟网络的方式有很多种,比如Linux网桥、OpenvSwitch(OSV)网桥、SRIOV(单根I/O虚拟化)、物理网卡直通等。Linux网桥及OSV网桥为虚拟机提供了灵活的虚拟化网络,但性能却不如SRIOV及直通网络;直通网络虽然具备高性能的优点,但只能供一个虚拟端口使用;SRIOV功能具备和直通网络相当的性能,但虚拟机的迁移功能严重受限。
其中,SRIOV虚拟接口原理是将宿主机的物理网卡直接映射给虚拟机使用,绕过了宿主机内核逻辑,使得虚拟机的操作系统可以直接访问物理网卡资源,极大的提高了虚拟机接口的吞吐量。但是当要迁移主机时,目的宿主机的物理网卡在其宿主机的地址与源宿主机是不同的,导致虚拟机无法正常迁移;并且要求虚拟机迁移过程中不能重启、业务不中断,这也增大了迁移的难度。
针对现有技术中虚拟机在SRIOV虚拟接口的虚拟网络中迁移困难、中断业务的问题,目前尚无有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种基于OVS的虚拟机热迁移方法和系统,能够使虚拟机不再受限于SRIOV网络而不能迁移,可以在业务正常运行时,进行灵活的跨物理主机热迁移。
基于上述目的,本发明实施例的第一方面提供了一种基于OVS的虚拟机热迁移方法,包括执行以下步骤:
创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置OVS虚拟接口;
将待热迁移虚拟机运行业务的通信从旧SRIOV虚拟接口切换到OVS虚拟接口,并移除旧SRIOV虚拟接口和与旧SRIOV虚拟接口相关的脏数据;
在保持通过OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从旧物理机热迁移到新物理机;
创建连接到新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的OVS虚拟接口相同的配置参数来配置新SRIOV虚拟接口;
将待热迁移虚拟机运行业务的通信从OVS虚拟接口切换到新SRIOV虚拟接口,并移除OVS虚拟接口和与OVS虚拟接口相关的脏数据。
在一些实施方式中,旧物理机和新物理机为相同或不同的物理设备;将待热迁移虚拟机从旧物理机热迁移到新物理机包括:将待热迁移虚拟机从一物理设备热迁移到另一物理设备,或将待热迁移虚拟机从同一物理设备的一部分磁盘和内存资源热迁移到另一部分磁盘和内存资源。
在一些实施方式中,旧物理机具有启用SRIOV功能的第一物理网卡,旧物理机通过第一物理网卡连接到旧SRIOV虚拟接口;新物理机具有启用SRIOV功能的第二物理网卡,新物理机通过第二物理网卡连接到新SRIOV虚拟接口。
在一些实施方式中,旧物理机和新物理机均具有基于OVS创建的管理节点,OVS虚拟接口为由管理节点创建,并且待热迁移虚拟机运行业务的通信为基于管理节点发出的指令而执行接口切换。
在一些实施方式中,在将待热迁移虚拟机从旧物理机热迁移到新物理机之前,还额外地执行以下步骤以确定待热迁移虚拟机和新物理机是否满足热迁移条件:
检查待热迁移虚拟机是否已经安装了配置为接收并执行管理节点的指令的虚拟机工具插件;
检查新物理机是否已经安装了启用SRIOV功能的物理网卡、或已经安装的物理网卡是否能够启用SRIOV功能;
响应于上述检查均通过而确定满足热迁移条件。
在一些实施方式中,方法还包括:在基于管理节点发出的指令而对待热迁移虚拟机运行业务的通信执行接口切换的同时,还发送免费ARP广播以告知本地其它物理设备待热迁移虚拟机的MAC地址从旧SRIOV虚拟接口的MAC地址变为OVS虚拟接口的MAC地址/从OVS虚拟接口的MAC地址变为新SRIOV虚拟接口的MAC地址。
在一些实施方式中,旧SRIOV虚拟接口和新SRIOV虚拟接口具有相同的MAC地址。
基于上述目的,本发明实施例的第二方面提供了一种基于OVS的虚拟机热迁移系统,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置OVS虚拟接口;
将待热迁移虚拟机运行业务的通信从旧SRIOV虚拟接口切换到OVS虚拟接口,并移除旧SRIOV虚拟接口和与旧SRIOV虚拟接口相关的脏数据;
在保持通过OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从旧物理机热迁移到新物理机;
创建连接到新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的OVS虚拟接口相同的配置参数来配置新SRIOV虚拟接口;
将待热迁移虚拟机运行业务的通信从OVS虚拟接口切换到新SRIOV虚拟接口,并移除OVS虚拟接口和与OVS虚拟接口相关的脏数据。
在一些实施方式中,旧物理机和新物理机均具有基于OVS创建的管理节点,OVS虚拟接口为由管理节点创建,并且待热迁移虚拟机运行业务的通信为基于管理节点发出的指令而执行接口切换;
在将待热迁移虚拟机从旧物理机热迁移到新物理机之前,还额外地执行以下步骤以确定待热迁移虚拟机和新物理机是否满足热迁移条件:检查待热迁移虚拟机是否已经安装了配置为接收并执行管理节点的指令的虚拟机工具插件;检查新物理机是否已经安装了启用SRIOV功能的新物理网卡、或已经安装的新物理网卡是否能够启用SRIOV功能;响应于上述检查均通过而确定满足热迁移条件。
在一些实施方式中,步骤还包括:在基于管理节点发出的指令而对待热迁移虚拟机运行业务的通信执行接口切换的同时,还发送免费ARP广播以告知本地其它物理设备待热迁移虚拟机的MAC地址从旧SRIOV虚拟接口的MAC地址变为OVS虚拟接口的MAC地址/从OVS虚拟接口的MAC地址变为新SRIOV虚拟接口的MAC地址,其中旧SRIOV虚拟接口和新SRIOV虚拟接口具有相同的MAC地址。
本发明具有以下有益技术效果:本发明实施例提供的基于OVS的虚拟机热迁移方法和系统,通过创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置OVS虚拟接口;将待热迁移虚拟机运行业务的通信从旧SRIOV虚拟接口切换到OVS虚拟接口,并移除旧SRIOV虚拟接口和与旧SRIOV虚拟接口相关的脏数据;在保持通过OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从旧物理机热迁移到新物理机;创建连接到新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的OVS虚拟接口相同的配置参数来配置新SRIOV虚拟接口;将待热迁移虚拟机运行业务的通信从OVS虚拟接口切换到新SRIOV虚拟接口,并移除OVS虚拟接口和与OVS虚拟接口相关的脏数据的技术方案,能够使虚拟机不再受限于SRIOV网络而不能迁移,可以在业务正常运行时进行灵活的跨物理主机热迁移。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于OVS的虚拟机热迁移方法的流程示意图;
图2为本发明提供的基于OVS的虚拟机热迁移方法的结构示意图之一;
图3为本发明提供的基于OVS的虚拟机热迁移方法的结构示意图之一;
图4为本发明提供的基于OVS的虚拟机热迁移方法的结构示意图之一;
图5为本发明提供的基于OVS的虚拟机热迁移方法的详细流程图;
图6为本发明提供的基于OVS的虚拟机热迁移方法的创建虚拟接口的详细流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种使虚拟机不再受限于SRIOV网络而不能迁移,可以在业务正常运行时进行灵活的跨物理主机热迁移的基于OVS的虚拟机热迁移方法的一个实施例。图1示出的是本发明提供的基于OVS的虚拟机热迁移方法的流程示意图。
所述的基于OVS的虚拟机热迁移方法,如图1所示,包括执行以下步骤:
步骤S101:创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置OVS虚拟接口;
步骤S103:将待热迁移虚拟机运行业务的通信从旧SRIOV虚拟接口切换到OVS虚拟接口,并移除旧SRIOV虚拟接口和与旧SRIOV虚拟接口相关的脏数据;
步骤S105:在保持通过OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从旧物理机热迁移到新物理机;
步骤S107:创建连接到新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的OVS虚拟接口相同的配置参数来配置新SRIOV虚拟接口;
步骤S109:将待热迁移虚拟机运行业务的通信从OVS虚拟接口切换到新SRIOV虚拟接口,并移除OVS虚拟接口和与OVS虚拟接口相关的脏数据。
本发明首先创建一个不受迁移制约的OVS虚拟接口来临时替代SRIOV虚拟接口,将该接口做相应的配置,并将业务切换到此新建的接口,使迁移过程中业务不受影响。业务切换完成后,将此虚拟机中的SRIOV虚拟接口移除,以保证将来在目的宿主机运行的虚拟机初始状态不带有源主机关于SRIOV物理网卡的信息,避免产生脏数据,给虚拟机稳定性造成影响。SRIOV虚拟接口移除后,虚拟机的迁移开始,因为业务已经转换到新创建的虚拟接口中,所以迁移过程中虚拟机通信正常。然后根据目的宿主机的物理网卡状况,配置虚拟机的SRIOV虚拟接口,这个接口被插入到虚拟机中后,就会自动生效可用。此时管理节点控制虚拟机将虚拟机的网络,由迁移时创建的OVS虚拟接口切换到SRIOV虚拟上,以完成整个SRIOV虚拟网卡热迁移的过程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
在一些实施方式中,旧物理机和新物理机为相同或不同的物理设备;将待热迁移虚拟机从旧物理机热迁移到新物理机包括:将待热迁移虚拟机从一物理设备热迁移到另一物理设备,或将待热迁移虚拟机从同一物理设备的一部分磁盘和内存资源热迁移到另一部分磁盘和内存资源。
在一些实施方式中,旧物理机具有启用SRIOV功能的第一物理网卡,旧物理机通过第一物理网卡连接到旧SRIOV虚拟接口;新物理机具有启用SRIOV功能的第二物理网卡,第二物理机通过新物理网卡连接到新SRIOV虚拟接口。
在一些实施方式中,旧物理机和新物理机均具有基于OVS创建的管理节点,OVS虚拟接口为由管理节点创建,并且待热迁移虚拟机运行业务的通信为基于管理节点发出的指令而执行接口切换。
在一些实施方式中,在将待热迁移虚拟机从旧物理机热迁移到新物理机之前,还额外地执行以下步骤以确定待热迁移虚拟机和新物理机是否满足热迁移条件:
检查待热迁移虚拟机是否已经安装了配置为接收并执行管理节点的指令的虚拟机工具插件;
检查新物理机是否已经安装了启用SRIOV功能的物理网卡、或已经安装的物理网卡是否能够启用SRIOV功能;
响应于上述检查均通过而确定满足热迁移条件。
在一些实施方式中,方法还包括:在基于管理节点发出的指令而对待热迁移虚拟机运行业务的通信执行接口切换的同时,还发送免费ARP广播以告知本地其它物理设备待热迁移虚拟机的MAC地址从旧SRIOV虚拟接口的MAC地址变为OVS虚拟接口的MAC地址/从OVS虚拟接口的MAC地址变为新SRIOV虚拟接口的MAC地址。
在一些实施方式中,旧SRIOV虚拟接口和新SRIOV虚拟接口具有相同的MAC地址。
为更清晰的说明本发明的具体实施过程,下面以具体实施例来进一步阐述本发明的具体实施方式。
图2所示出的是携带SRIOV虚拟网卡的虚拟机迁移前的网络示意图。在迁移前虚拟机使用启用了SRIOV功能的物理网卡的虚拟接口与外界通信。此主机中,该虚拟机所用的物理网卡开启的SRIOV功能,但并不是所有的宿主机都会有开启SRIOV功能的虚拟机。同时其所在的宿主机还有管理网络,管理网络是通过OSV创建出的虚拟网络,此虚拟网络存在于所有的宿主机中。管理网络也可以虚拟出虚拟接口供虚拟机使用,但性能不如SRIOV的虚拟接口好。
图3所示出的是在迁移过程开始时的一个虚拟机网络示意图。此时,虚拟机新接入一个虚拟接口,此接口由管理网(OSV网络)虚拟而来并被管理节点插入到虚拟机中。这个接口用来在迁移时替代原有接口进行通信,并在迁移完成后进行移除。图3示意的是一个中间状态,在创建好在虚拟机内部网络切换完成后,就会变成附图4所示的网络状态。
图4所示出的是在迁移过程中的一个虚拟机网络示意图。此时,原有的SRIOV虚拟接口已经被删除,等待迁移完成后,在目的宿主机,再为虚拟机重建SRIOV虚拟网络。这个过程中虚拟机的业务会基本保持正常,但由于虚拟机的业务由原来的SRIOV虚拟接口,切换为OSV虚拟接口,造成性能有所下降。这一现象在迁移完成后会恢复。
请结合图4来理解下文所描述的详细热迁移流程。
1)用户开始迁移虚拟机,管理节点开始给源宿主机及目的宿主机下发指令,检查相关环境是否具备迁移网卡的条件(可参见图5所示的流程),这些检查主机包括:1.检查虚拟机是否安装了虚拟机工具插件,此插件用户接收并执行管理节点的指令,若没有安装,需要提示用户安装后再进行迁移,并中止本次迁移任务;2.检查目的宿主机,是否有已经开启了SRIOV功能的网卡业务网网卡,如果没有,查检是否有空闲的网卡能够开启SRIOV功能,如果,如果仍没有,则认为,此主机并不适宜作为目的主机,则需要提示用户,并中止迁移任务。
2)若具备迁移条件,则在目的主机创建SRIOV虚拟端口,以备迁移完成后的虚拟机使用。
3)具备迁移条件时,在源主机的管理网络下,创建OVS虚拟端口。并将这个端口插入到虚拟机中。这时,在虚拟机内部会多出一个网卡端口,这个多出的网卡端口,就是用来在迁移时临时替代SRIOV接口的。
4)上述步骤完成后,管理节点,再通过虚拟机工具插件给待迁移虚拟机发指令。这个指令的作用有:1.将配置在原有的虚拟SRIOV网卡配置的IP,路由等信息,删除后配置到新第3步骤中创建的网卡端口上;2.发送免费ARP广播,告知本地其他设备,自己的MAC发生改变。这个过程因为时间极短,基本不对通信产生影响。
5)宿主机删除虚拟机原有的SRIOV端口,在迁移前删除此端口的作用是以免虚拟机迁移时带有此端口的信息,这信息实际是和物理机对应的。若带着它们进行迁移,会在迁移到宿主机后产生脏数据。
6)上述步骤完成后,虚拟机开始迁移。此过程包括磁盘拷贝及内存拷贝,公共技术,并不在本专利范围。虚拟机完成后,会将源宿主机上的虚拟机删除;
7)在完成迁移后,目的宿主机将在第2步骤中创建出来的SRIOV虚拟接口插入到虚拟机中。管理节点此时,会再次向虚拟机发出指令。这个指令的作用有:1.将配置在原有的临时虚拟OVS网卡配置的IP,路由等信息,删除后配置到新插入到本虚拟机中的SRIOV网卡端口上;2.发送免费ARP广播,告知本地其他设备,自己的MAC发生改变(改回原MAC)。这个过程其实是步骤4的逆配置,同样因为时间极短,基本不对通信产生影响。
8)上述操作完成后,删除步骤3中创建的临时的OVS虚拟端口,并将此时的配置在目的宿主机内持久化保存到虚拟配置文件中。
从上述实施例可以看出,本发明实施例提供的基于OVS的虚拟机热迁移方法,通过创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置OVS虚拟接口;将待热迁移虚拟机运行业务的通信从旧SRIOV虚拟接口切换到OVS虚拟接口,并移除旧SRIOV虚拟接口和与旧SRIOV虚拟接口相关的脏数据;在保持通过OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从旧物理机热迁移到新物理机;创建连接到新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的OVS虚拟接口相同的配置参数来配置新SRIOV虚拟接口;将待热迁移虚拟机运行业务的通信从OVS虚拟接口切换到新SRIOV虚拟接口,并移除OVS虚拟接口和与OVS虚拟接口相关的脏数据的技术方案,能够使虚拟机不再受限于SRIOV网络而不能迁移,可以在业务正常运行时进行灵活的跨物理主机热迁移。
需要特别指出的是,上述基于OVS的虚拟机热迁移方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于基于OVS的虚拟机热迁移方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种使虚拟机不再受限于SRIOV网络而不能迁移,可以在业务正常运行时进行灵活的跨物理主机热迁移的基于OVS的虚拟机热迁移系统的一个实施例。所述的基于OVS的虚拟机热迁移系统包括:
处理器;和
存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置OVS虚拟接口;
将待热迁移虚拟机运行业务的通信从旧SRIOV虚拟接口切换到OVS虚拟接口,并移除旧SRIOV虚拟接口和与旧SRIOV虚拟接口相关的脏数据;
在保持通过OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从旧物理机热迁移到新物理机;
创建连接到新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的OVS虚拟接口相同的配置参数来配置新SRIOV虚拟接口;
将待热迁移虚拟机运行业务的通信从OVS虚拟接口切换到新SRIOV虚拟接口,并移除OVS虚拟接口和与OVS虚拟接口相关的脏数据。
在一些实施方式中,旧物理机和新物理机均具有基于OVS创建的管理节点,OVS虚拟接口为由管理节点创建,并且待热迁移虚拟机运行业务的通信为基于管理节点发出的指令而执行接口切换;
在将待热迁移虚拟机从旧物理机热迁移到新物理机之前,还额外地执行以下步骤以确定待热迁移虚拟机和新物理机是否满足热迁移条件:检查待热迁移虚拟机是否已经安装了配置为接收并执行管理节点的指令的虚拟机工具插件;检查新物理机是否已经安装了启用SRIOV功能的新物理网卡、或已经安装的新物理网卡是否能够启用SRIOV功能;响应于上述检查均通过而确定满足热迁移条件。
在一些实施方式中,步骤还包括:在基于管理节点发出的指令而对待热迁移虚拟机运行业务的通信执行接口切换的同时,还发送免费ARP广播以告知本地其它物理设备待热迁移虚拟机的MAC地址从旧SRIOV虚拟接口的MAC地址变为OVS虚拟接口的MAC地址/从OVS虚拟接口的MAC地址变为新SRIOV虚拟接口的MAC地址,其中旧SRIOV虚拟接口和新SRIOV虚拟接口具有相同的MAC地址。
从上述实施例可以看出,本发明实施例提供的基于OVS的虚拟机热迁移系统,通过创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置OVS虚拟接口;将待热迁移虚拟机运行业务的通信从旧SRIOV虚拟接口切换到OVS虚拟接口,并移除旧SRIOV虚拟接口和与旧SRIOV虚拟接口相关的脏数据;在保持通过OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从旧物理机热迁移到新物理机;创建连接到新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的OVS虚拟接口相同的配置参数来配置新SRIOV虚拟接口;将待热迁移虚拟机运行业务的通信从OVS虚拟接口切换到新SRIOV虚拟接口,并移除OVS虚拟接口和与OVS虚拟接口相关的脏数据的技术方案,能够使虚拟机不再受限于SRIOV网络而不能迁移,可以在业务正常运行时进行灵活的跨物理主机热迁移。
需要特别指出的是,上述基于OVS的虚拟机热迁移系统的实施例采用了所述基于OVS的虚拟机热迁移方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述基于OVS的虚拟机热迁移方法的其他实施例中。当然,由于所述基于OVS的虚拟机热迁移方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述基于OVS的虚拟机热迁移系统也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (9)
1.一种基于OVS的虚拟机热迁移方法,其特征在于,包括执行以下步骤:
创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置所述OVS虚拟接口;
将待热迁移虚拟机运行业务的通信从所述旧SRIOV虚拟接口切换到所述OVS虚拟接口,并移除所述旧SRIOV虚拟接口和与所述旧SRIOV虚拟接口相关的脏数据;
在保持通过所述OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从所述旧物理机热迁移到新物理机,其中所述旧物理机具有启用SRIOV功能的第一物理网卡,所述旧物理机通过所述第一物理网卡连接到所述旧SRIOV虚拟接口;所述新物理机具有启用SRIOV功能的第二物理网卡,所述新物理机通过所述第二物理网卡连接到新SRIOV虚拟接口;
创建连接到所述新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的所述OVS虚拟接口相同的配置参数来配置所述新SRIOV虚拟接口;
将待热迁移虚拟机运行业务的通信从所述OVS虚拟接口切换到所述新SRIOV虚拟接口,并移除所述OVS虚拟接口和与所述OVS虚拟接口相关的脏数据。
2.根据权利要求1所述的方法,其特征在于,所述旧物理机和所述新物理机为相同或不同的物理设备;
将待热迁移虚拟机从所述旧物理机热迁移到新物理机包括:将待热迁移虚拟机从一物理设备热迁移到另一物理设备,或将待热迁移虚拟机从同一物理设备的一部分磁盘和内存资源热迁移到另一部分磁盘和内存资源。
3.根据权利要求1所述的方法,其特征在于,所述旧物理机和所述新物理机均具有基于OVS创建的管理节点,所述OVS虚拟接口为由所述管理节点创建,并且待热迁移虚拟机运行业务的通信为基于所述管理节点发出的指令而执行接口切换。
4.根据权利要求3所述的方法,其特征在于,在将待热迁移虚拟机从所述旧物理机热迁移到新物理机之前,还额外地执行以下步骤以确定待热迁移虚拟机和所述新物理机是否满足热迁移条件:
检查待热迁移虚拟机是否已经安装了配置为接收并执行所述管理节点的指令的虚拟机工具插件;
检查所述新物理机是否已经安装了启用SRIOV功能的物理网卡、或已经安装的物理网卡是否能够启用SRIOV功能;
响应于上述检查均通过而确定满足热迁移条件。
5.根据权利要求3所述的方法,其特征在于,还包括:在基于所述管理节点发出的指令而对待热迁移虚拟机运行业务的通信执行接口切换的同时,还发送免费ARP广播以告知本地其它物理设备待热迁移虚拟机的MAC地址从所述旧SRIOV虚拟接口的MAC地址变为所述OVS虚拟接口的MAC地址/从所述OVS虚拟接口的MAC地址变为所述新SRIOV虚拟接口的MAC地址。
6.根据权利要求5所述的方法,其特征在于,所述旧SRIOV虚拟接口和所述新SRIOV虚拟接口具有相同的MAC地址。
7.一种基于OVS的虚拟机热迁移系统,其特征在于,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,所述程序代码在被运行时执行以下步骤:
创建OVS虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的连接到旧物理机的旧SRIOV虚拟接口相同的配置参数来配置所述OVS虚拟接口;
将待热迁移虚拟机运行业务的通信从所述旧SRIOV虚拟接口切换到所述OVS虚拟接口,并移除所述旧SRIOV虚拟接口和与所述旧SRIOV虚拟接口相关的脏数据;
在保持通过所述OVS虚拟接口不中断地执行待热迁移虚拟机运行业务的通信的情况下,将待热迁移虚拟机从所述旧物理机热迁移到新物理机,其中所述旧物理机具有启用SRIOV功能的第一物理网卡,所述旧物理机通过所述第一物理网卡连接到所述旧SRIOV虚拟接口;所述新物理机具有启用SRIOV功能的第二物理网卡,所述新物理机通过所述第二物理网卡连接到新SRIOV虚拟接口;
创建连接到所述新物理机的新SRIOV虚拟接口并插入到待热迁移虚拟机中,并使用与待热迁移虚拟机运行业务使用的所述OVS虚拟接口相同的配置参数来配置所述新SRIOV虚拟接口;
将待热迁移虚拟机运行业务的通信从所述OVS虚拟接口切换到所述新SRIOV虚拟接口,并移除所述OVS虚拟接口和与所述OVS虚拟接口相关的脏数据。
8.根据权利要求7所述的系统,其特征在于,所述旧物理机和所述新物理机均具有基于OVS创建的管理节点,所述OVS虚拟接口为由所述管理节点创建,并且待热迁移虚拟机运行业务的通信为基于所述管理节点发出的指令而执行接口切换;
在将待热迁移虚拟机从所述旧物理机热迁移到新物理机之前,还额外地执行以下步骤以确定待热迁移虚拟机和所述新物理机是否满足热迁移条件:检查待热迁移虚拟机是否已经安装了配置为接收并执行管理节点的指令的虚拟机工具插件;检查所述新物理机是否已经安装了启用SRIOV功能的新物理网卡、或已经安装的新物理网卡是否能够启用SRIOV功能;响应于上述检查均通过而确定满足热迁移条件。
9.根据权利要求8所述的系统,其特征在于,所述步骤还包括:在基于所述管理节点发出的指令而对待热迁移虚拟机运行业务的通信执行接口切换的同时,还发送免费ARP广播以告知本地其它物理设备待热迁移虚拟机的MAC地址从所述旧SRIOV虚拟接口的MAC地址变为所述OVS虚拟接口的MAC地址/从所述OVS虚拟接口的MAC地址变为所述新SRIOV虚拟接口的MAC地址,其中所述旧SRIOV虚拟接口和所述新SRIOV虚拟接口具有相同的MAC地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010954104.1A CN112130958B (zh) | 2020-09-11 | 2020-09-11 | 一种基于ovs的虚拟机热迁移方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010954104.1A CN112130958B (zh) | 2020-09-11 | 2020-09-11 | 一种基于ovs的虚拟机热迁移方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112130958A CN112130958A (zh) | 2020-12-25 |
CN112130958B true CN112130958B (zh) | 2022-05-24 |
Family
ID=73845438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010954104.1A Active CN112130958B (zh) | 2020-09-11 | 2020-09-11 | 一种基于ovs的虚拟机热迁移方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112130958B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113904971B (zh) * | 2021-09-14 | 2023-04-28 | 中电信数智科技有限公司 | 一种跨网络平面的路由信息自动交换方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138394A (zh) * | 2015-09-21 | 2015-12-09 | 上海爱数软件有限公司 | 一种热迁移kvm虚拟机的方法及系统 |
CN107306230A (zh) * | 2016-04-18 | 2017-10-31 | 中兴通讯股份有限公司 | 一种网络资源部署的方法、装置、控制器及核心网设备 |
US20190087218A1 (en) * | 2018-11-05 | 2019-03-21 | Intel Corporation | Techniques for network packet classification, transmission and receipt |
-
2020
- 2020-09-11 CN CN202010954104.1A patent/CN112130958B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138394A (zh) * | 2015-09-21 | 2015-12-09 | 上海爱数软件有限公司 | 一种热迁移kvm虚拟机的方法及系统 |
CN107306230A (zh) * | 2016-04-18 | 2017-10-31 | 中兴通讯股份有限公司 | 一种网络资源部署的方法、装置、控制器及核心网设备 |
US20190087218A1 (en) * | 2018-11-05 | 2019-03-21 | Intel Corporation | Techniques for network packet classification, transmission and receipt |
Also Published As
Publication number | Publication date |
---|---|
CN112130958A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110611588B (zh) | 一种网络创建方法、服务器、计算机可读存储介质和系统 | |
CN104956332B (zh) | 一种用于管理计算资源的方法、存储媒体和计算系统 | |
RU2451991C1 (ru) | Способ сохранения слияния виртуального порта и материальная среда | |
CN109861839B (zh) | 业务不中断的虚拟交换机升级方法以及相关设备 | |
US11941423B2 (en) | Data processing method and related device | |
US9104458B1 (en) | Managing virtual computing nodes using isolation and migration techniques | |
CN105657081A (zh) | 提供dhcp服务的方法、装置及系统 | |
CN102932409B (zh) | 一种虚拟机在线迁移的方法和系统 | |
CN111221619A (zh) | 一种业务开通和编排的方法、装置及设备 | |
JP6432955B2 (ja) | 仮想ネットワーク機能インスタンスをマイグレーションさせるための方法、装置およびシステム | |
WO2017066931A1 (zh) | 网络功能虚拟化架构中证书的管理方法及装置 | |
US9112769B1 (en) | Programatically provisioning virtual networks | |
CN111736958A (zh) | 虚拟机迁移方法、系统、计算机设备及存储介质 | |
CN107645402B (zh) | 一种路由管理方法和装置 | |
CN110855488B (zh) | 一种虚拟机接入方法及装置 | |
JPWO2014080949A1 (ja) | クラウド環境提供システム、サービス管理装置、経路制御方法及びプログラム | |
US20220171650A1 (en) | Network system, management method and apparatus thereof, and server | |
CN114003334A (zh) | 虚拟机热迁移网络中断的优化方法、装置、设备、存储介质和系统 | |
US20200159556A1 (en) | Traffic forwarding during migration | |
CN112130958B (zh) | 一种基于ovs的虚拟机热迁移方法和系统 | |
JP5941442B2 (ja) | 仮想ホストのライブマイグレーション方法およびネットワーク装置 | |
CN108282346B (zh) | 软件升级方法及装置 | |
US20230168912A1 (en) | System and method for upgrading a management component of a computing environment using high availability features | |
CN115987989B (zh) | 一种在普通系统中扩展云虚拟网络的方法 | |
US20240028375A1 (en) | Control plane lifecycle management with dpu devices |
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 |