CN106569876A - 一种基于直接设备访问模型的虚拟机迁移的方法及装置 - Google Patents
一种基于直接设备访问模型的虚拟机迁移的方法及装置 Download PDFInfo
- Publication number
- CN106569876A CN106569876A CN201610995821.2A CN201610995821A CN106569876A CN 106569876 A CN106569876 A CN 106569876A CN 201610995821 A CN201610995821 A CN 201610995821A CN 106569876 A CN106569876 A CN 106569876A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- source
- environment
- running status
- status file
- 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.)
- Pending
Links
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种基于直接设备访问模型的虚拟机迁移的方法,包括通过卸载源设备访问模型驱动程序,配置目的虚拟机;在同平台下根据源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机;在不同平台下,将快照产生的虚拟机镜像格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机;安装目的设备访问模型驱动程序,执行虚拟机的切换。实现了同平台动态迁移以及跨平台的冷迁移,提高了迁移的兼容性,使虚拟机迁移更加灵活。此外,本发明实施例还针对实现基于直接设备访问模型的虚拟机迁移的方法提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。
Description
技术领域
本发明涉及虚拟化、云计算领域,特别是涉及一种基于直接设备访问模型的虚拟机迁移的方法及装置。
背景技术
在云计算技术浪潮的推动下,虚拟化技术不断发展。虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源,根据不同需求进行重新规划以达到最大利用率,实现各种资源的自动部署、动态扩展、按需分配,提高IT资源利用率。
虚拟化技术催生了虚拟服务器(又叫虚拟机),虚拟机是指通过软件模拟的、具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。当硬件发生故障或需要维护时,正在运行的服务需要被迁移到其他的平台上继续运行,并且这一过程不能对虚拟机所承载的应用服务产生影响,这就涉及到虚拟机迁移技术,虚拟机迁移技术能使虚拟机在物理机之间进行快速的在线迁移,并且保持虚拟机在运行过程中不间断运行,有效的改善资源分配。
Passthrough I/O(直接设备访问模型)使客户机内部能够直接对硬件进行操作,Passthrough模型将设备独占式地分配给指定的客户域,使该域具有最高的I/O访问性能,克服了随着中央处理器(CPU)和虚拟化技术迅速发展,I/O成为限制虚拟机整体性能的重要瓶颈这一现象。但是Passthrough最大程度上提供I/O性能是以牺牲设备共享能力为代价的,也就是说虚拟机是无法进行迁移的。
目前现有技术中,带有Passthrough I/O设备的虚拟机在迁移时,需借助Linux外设部件互连标准(Peripheral Component Interconnect,简称PCI)热插拔接口,通过在迁移之前移除驱动并在迁移之后进行重启,这种技术只适合用于网络设备并且依赖额外的客户端连通性网络接口(特定的硬件设备)而且需要修改客户虚拟机的设备驱动,最为关键的是,该技术仅适用于相同虚拟化平台下的虚拟机迁移。
随着云技术在企业内部的快速发展,越来越多的数据中心呈现出公有云和私有云共存,物理机与虚拟机并用,虚拟化技术多种多样,云计算平台应运而生。在云计算管理平台中,对Passthrough I/O的虚拟机的迁移提出了更高的要求,需要实现跨平台迁移,而现有技术是无法解决上述问题。
发明内容
本发明实施例的目的是提供一种基于直接设备访问模型的虚拟机迁移的方法及装置,基于Passthrough I/O的虚拟机实现了同平台动态迁移以及跨平台的冷迁移,提高了迁移的兼容性,使虚拟机迁移更加灵活。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种基于直接设备访问模型的虚拟机迁移的方法,包括:
建立源环境和目的环境之间的网络连接;
判断所述目的环境是否满足预设源虚拟机的迁移条件;
当判定所述目的环境满足所述预设源虚拟机的迁移条件时,卸载源设备访问模型驱动程序并接管其数据流和控制流,在所述目的环境中配置目的虚拟机;
判断所述源环境与所述目的环境的虚拟化平台是否相同;
当判定所述虚拟化平台相同时,根据所述源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机;
当判定所述虚拟化平台不相同时,将所述源虚拟机快照生成的虚拟机镜像的格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机;
当所述目的虚拟机开启完成后,安装目的直接设备访问模型驱动程序;
将所述源虚拟机切换到所述目的虚拟机,以完成虚拟机的迁移。优选的,所述根据所述源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机具体为:
对所述源虚拟机进行备份操作,并对生成的所述第一运行状态文件和镜像文件进行保存,调用所述第一运行状态文件和所述镜像文件,将所述第一运行状态文件和所述镜像文件传输至所述目的环境中,根据所述第一运行状态文件开启所述目的虚拟机。
优选的,所述根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机具体为:
对所述源虚拟机进行快照操作,并保存快照生成的所述第二运行状态文件和所述虚拟机镜像,将所述第二运行状态文件和所述虚拟机镜像传输至所述目的环境中,将所述虚拟机镜像格式转化为所述目的环境支持的镜像格式,根据所述第二运行状态文件开启所述目的虚拟机。
优选的,在所述安装目的直接设备访问模型驱动程序之后还包括:
对所述目的直接设备访问模型驱动程序进行验证。
优选的,所述预设源虚拟机的迁移条件为:
所述目的环境中存储设备的剩余空间是否符合所述源虚拟机的镜像文件容量;和/或
所述目的环境的资源配置信息是否满足所述源虚拟机的配置要求。
优选的,在所述建立源环境和目的环境之间的网络连接之前还包括:
获取所述源虚拟机的配置信息,所述配置信息为以下任意一项或任意组合:
中央处理器资源信息、内存资源信息、所述源虚拟机设备信息、所述源虚拟机镜像容量或网络资源使用信息。
优选的,所述在所述目的环境中配置目的虚拟机为:
所述目的虚拟机和所述源虚拟机具有相同的主机名、内存、虚拟硬件设备或网络配置。
本发明实施例另一方面提供了一种基于直接设备访问模型的虚拟机迁移的装置,包括:
网络连接建立模块,用来建立源环境和目的环境之间的网络连接;
第一判断模块,用来判断所述目的环境是否满足预设源虚拟机的迁移条件;
迁移前预设条件模块,用来当判定所述目的环境满足所述预设源虚拟机的迁移条件时,卸载源设备访问模型驱动程序并接管其数据流和控制流,在所述目的环境中配置目的虚拟机;
第二判断模块,用来判断所述源环境与所述目的环境的虚拟化平台是否相同;
同平台操作模块,用来当判定所述虚拟化平台相同时,根据所述源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机;
跨平台操作模块,用来当判定所述虚拟化平台不相同时,将将所述源虚拟机快照生成的虚拟机镜像的格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机;
驱动程序安装模块,用来当所述目的虚拟机开启完成后,安装目的直接设备访问模型驱动程序;
执行迁移模块,用来将所述源虚拟机切换到所述目的虚拟机,以完成虚拟机的迁移。
优选的,所述同平台操作模块具体为:
对所述源虚拟机进行备份操作,并对生成的所述第一运行状态文件和镜像文件进行保存,调用所述第一运行状态文件和所述镜像文件,将所述第一运行状态文件和所述镜像文件传输至所述目的环境中,根据所述第一运行状态文件开启所述目的虚拟机。
优选的,所述跨同平台操作模块具体为:
对所述源虚拟机进行快照操作,并保存快照生成的所述第二运行状态文件和所述虚拟机镜像,将所述第二运行状态文件和所述虚拟机镜像传输至所述目的环境中,将所述虚拟机镜像格式转化为所述目的环境支持的镜像格式,根据所述第二运行状态文件开启所述目的虚拟机。
本发明实施例提供了一种基于直接设备访问模型的虚拟机迁移的方法,卸载源设备访问模型驱动程序,配置目的虚拟机;在同平台下根据源虚拟机备份产生的第一运行状态文件开启目的虚拟机;在不同平台下,将快照产生的源虚拟机的虚拟机镜像格式转化为目的环境支持的格式,根据源虚拟机快照产生的第二运行状态文件开启目的虚拟机;安装目的设备访问模型驱动程序,执行虚拟机的切换,完成虚拟机的迁移。
本申请的技术方案实现了虚拟机的同平台动态迁移以及跨平台的冷迁移,提高了迁移的兼容性,使虚拟机迁移更加灵活。此外,本发明实施例还针对基于直接设备访问模型的虚拟机迁移的方法提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种云计算管理平台带直接设备访问模型设备的虚拟机迁移的结构框图;
图2为本发明实施例提供的一种基于直接设备访问模型的虚拟机迁移方法的流程示意图;
图3为本发明实施例提供的另一种基于直接设备访问模型的虚拟机迁移方法的流程示意图;
图4为本发明实施例提供的一种基于直接设备访问模型的虚拟机迁移装置的结构图;
图5为本发明实施例提供的另一种基于直接设备访问模型的虚拟机迁移装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
本申请的发明人经过研究发现,现有技术只能实现具有网络设备并且依赖额外的客户端连通性网络接口的同平台的虚拟机迁移,但是随着云计算的发展,虚拟机迫切需要实现跨平台迁移。
鉴于此,本申请通过卸载源设备访问模型驱动程序,配置目的虚拟机,在同平台下根据源虚拟机备份产生的运行状态文件开启所述目的虚拟机;在不同平台下,将快照产生的源虚拟机的虚拟机镜像格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的运行状态文件开启所述目的虚拟机,安装目的设备访问模型驱动程序,执行虚拟机的切换,从而实现同平台动态迁移以及跨平台的冷迁移,提高了迁移的兼容性,使虚拟机迁移更加灵活。
基于上述本发明实施例的技术方案,下面首先结合图1对本发明实施例的技术方案涉及的一些可能的应用场景进行举例介绍,图1为本发明实施例提供的一种云计算管理平台带直接设备访问模型设备的虚拟机迁移的结构框图。
如图1所示,源主机上运行着两台虚拟机,虚拟机1和虚拟机2;虚拟机1和虚拟机2运行着不同的任务,在当前主机发生故障时,为了各自任务不中断运行需要进行迁移。在云计算资源池进行匹配后,寻找两台主机适合虚拟机迁移,而且目的主机1和目的主机2不属于同一个虚拟化平台,其中目的主机1的虚拟化环境与源虚拟机的虚拟化环境相同,目的主机2的与其不同。
本申请提供的方案是分别建立目的主机和源主机之间的网络连接,卸载源主机的设备访问模型驱动程序并接管其数据流和控制流,在目的主机的虚拟环境中分别配置目的虚拟机;在目的主机1的虚拟化环境中,根据所述源虚拟机备份产生的运行状态文件开启所述目的虚拟机;在目的主机2的虚拟化环境中将快照产生的虚拟机镜像格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的运行状态文件开启所述目的虚拟机;分别在目的主机1和目的主机2上安装直接设备访问模型驱动程序;将所述源虚拟机切换到所述目的虚拟机,以完成虚拟机的迁移。
需要注意的是,上述应用场景仅是为了便于理解本申请的思想和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
实施例一:
首先参见图2,图2为本发明实施例提供的一种基于直接设备访问模型的虚拟机迁移方法的流程示意图,本发明实施例可包括以下内容:
S201:建立源环境和目的环境之间的网络连接。
所述源环境为当前虚拟机在当前主机上的运行环境,当前虚拟机即为源虚拟机。所述目的环境为当前虚拟机要迁移的目的主机的虚拟化运行环境,当前虚拟机迁移到目的主机后,运行在目的虚拟化环境的虚拟机即为目的虚拟机。
在所述建立源环境和目的环境之间的网络连接之前还包括:
获取所述源虚拟机的配置信息,所述配置信息为以下任意一项或任意组合:
中央处理器资源信息、内存资源信息、所述源虚拟机设备信息、所述源虚拟机镜像容量或网络资源使用信息。
S202:判断所述目的环境是否满足预设源虚拟机的迁移条件。
所述预设源虚拟机的迁移条件具体为:
所述目的环境中存储设备的剩余空间是否符合所述源虚拟机的镜像文件容量;和/或
所述目的环境的资源配置信息是否满足所述源虚拟机的配置要求。
需要说明的是,还需要判断设备访问模型与目的虚拟环境是否兼容,只有兼容,才可以进行后续的安装过程。
S203:当判定所述目的环境满足所述预设源虚拟机迁移条件时,卸载源设备访问模型驱动程序并接管其数据流和控制流,在所述目的环境中配置目的虚拟机。
因为带有Passthrough I/O设备的虚拟机,Passthrough模型将设备独占式地分配给指定的客户域,使该域具有最高的I/O访问性能,是以牺牲设备共享能力为代价的,也就是说虚拟机是无法进行迁移的,故需要在迁移前将其卸载。
所述配置目的虚拟机可以和源虚拟机的配置信息可以完全相同,也可对于部分不影响实现方案的信息配置不相同的信息。优选的,目的虚拟机的配置应与源虚拟机的配置相同。
优选的,所述目的虚拟机和所述源虚拟机具有相同的主机名、内存、虚拟硬件设备或网络配置。
需要说明的是,在迁移过程中需为Passthrough I/O提供临时驱动程序。
S204:判断所述源环境与所述目的环境的虚拟化平台是否相同。
例如对于企业级的云计算管理平台,目前市场上主流的有OpenStack、CloudStack、云海OS等,但不限于此,市场上的还有很多其他种类的运输管理平台。当要迁移的源虚拟机和迁移选定的目的主机的目的虚拟化环境分别在不同的云计算管理平台中,自然地,其迁移的方法不同。所有可先判断其虚拟化平台是否相同,然后确定迁移的方法。
S205:当判定所述源环境与所述目的环境的所述虚拟化平台相同时,根据所述源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机。
在所述当判定所述源环境与所述目的环境的所述虚拟化平台相同之后,具体为:
调用所述第一运行状态文件和镜像文件,所述运行状态文件和所述镜像文件在卸载所述源设备访问模型驱动程序并接管其数据流和控制流之前对所述源虚拟机进行备份操作生成并保存的,将所述第一运行状态文件和所述镜像文件传输至所述目的环境中,根据所述第一运行状态文件开启所述目的虚拟机。
S206:当判定所述源环境与所述目的环境的所述虚拟化平台不相同时,将所述源虚拟机快照生成的虚拟机镜像的格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机。
在所述当判定所述源环境与所述目的环境的所述虚拟化平台不相同之后,具体为:
对源虚拟机进行快照操作,并保存快照生成的所述第二运行状态文件和所述源虚拟机的虚拟机镜像,将所述第二运行状态文件和所述虚拟机镜像传输至所述目的环境中,将所述虚拟机镜像的格式转化为所述目的环境支持的镜像格式,根据所述第二运行状态文件开启所述目的虚拟机。
需要说明的是,虚拟机的备份操作是指对虚拟机系统进行整个的拷贝备份操作,方法原始,但是比较费时间如果经常需要这类操作会浪费很大的磁盘空间,也比较麻烦;虚拟机的快照操作是指在进行系统配置或者关键操作前做一个快照,这样假如操作出现了问题,可以在下次启动时直接恢复快照状态,不影响系统使用。这种操作简单易行,而且快照文件占用空间小,操作时间短,用完可以直接删除。S207:当所述目的虚拟机开启完成后,安装目的直接设备访问模型驱动程序。
优选的,可在所述安装目的直接设备访问模型驱动程序之后还包括:
对所述目的直接设备访问模型驱动程序进行验证。如果验证成功,则进行虚拟机的切换;如果不成功,则退出或可重新检测验证不成功的原因,然后进行修复,例如检测所述目的直接设备访问模型驱动程序是否兼容或安装程序是否出错。
S208:将所述源虚拟机切换到所述目的虚拟机,以完成虚拟机的迁移。
需要说明的是,在虚拟机迁移过程中还可包括:
前期的资源调查、迁移镜像制作、必要的镜像拷贝或格式转换、镜像恢复并提供恢复后的虚拟机系统自检,以用来提高迁移方式的兼容性和迁移成功率;
此外,整个迁移过中对Passthrough I/O设备功能的检测,包含驱动的检测、安装、卸载和Passthrough I/O设备功能测试;
在卸载源虚拟机Passthrough I/O设备驱动程序和安装目的Passthrough I/O设备驱动程序之前,可提供临时Passthrough I/O设备驱动程序,以提高虚拟机迁移成功率。
由上可知,本发明实施例提供了一种基于直接设备访问模型的虚拟机迁移的方法,卸载源设备访问模型驱动程序,配置目的虚拟机,在同平台下根据源虚拟机备份产生的运行状态文件开启所述目的虚拟机;在不同平台下,将快照产生的虚拟机镜像格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的运行状态文件开启所述目的虚拟机,安装目的设备访问模型驱动程序,执行虚拟机的切换,完成虚拟机的迁移。实现了同平台动态迁移以及跨平台的冷迁移,提高了迁移的兼容性,使虚拟机迁移更加灵活。
考虑在实际操作过程中,为了更方便的使用该方法,基于上述实施例做了部分改进。
实施例二:
参见图3,图3为本发明实施例提供的另一种基于直接设备访问模型的虚拟机迁移方法的流程示意图,本发明实施例例如可应用于云计算管理平台,具体的可包括以下内容:
步骤301:建立源环境和目的环境之间的网络连接。
具体的与实施例一的S201所描述一致,此处不再赘述。
S302:判断所述目的环境是否满足预设源虚拟机的迁移条件。
具体的与实施例一的S202所描述一致,此处不再赘述。
S303:当判定所述目的环境满足所述预设源虚拟机迁移条件时,设置迁移管理器。
通过预先设置迁移管理器,所述迁移管理器具有以下功能:
用来卸载设备访问模型驱动程序并接管其数据流和控制流;对源虚拟机进行备份和快照,并保存备份产生的第一运行状态文件和镜像文件以及快照产生的第二运行状态文件和源虚拟机的虚拟机镜像;配置目的虚拟机。
为了提高迁移成功率,还可包括:
在迁移过程中充当临时设备访问模型驱动程序;
对迁移完成后的目的设备访问模型设备的功能进行检查。
在进行如下操作时,只需直接调用所述迁移管理器的相关功能即可,不需要进行专门配置。通过直接调用迁移管理器执行相应操作,简化了操作程序,提高迁移效率;尤其当对于源虚拟环境和目的虚拟环境分别相同的虚拟机进行下一次迁移时,可直接调用或拷贝所述迁移管理器,大大节省了配置时间。
S304:判断所述源环境与所述目的环境的虚拟化平台是否相同。
具体的与实施例一的S204所描述一致,此处不再赘述。
S305:当判定所述源环境与所述目的环境的所述虚拟化平台相同时,调用所述迁移管理器,开启所述目的虚拟机。
具体的,调用所述迁移管理器,在所述目的环境中配置目的虚拟机,所述配置目的虚拟机可以和源虚拟机的配置信息可以完全相同,也可对于部分不影响实现方案的信息配置不相同的信息。优选的,目的虚拟机的配置应与源虚拟机的配置相同。
优选的,所述目的虚拟机和所述源虚拟机具有相同的主机名、内存、虚拟硬件设备或网络配置。
执行对源虚拟机进行备份并保存备份产生的第一运行状态文件和镜像文件,卸载设备访问模型驱动程序并接管其数据流和控制流;将所述第一运行状态文件和所述镜像文件传输至所述目的环境中,根据所述第一运行状态文件开启所述目的虚拟机。
S306:当判定所述源环境与所述目的环境的所述虚拟化平台不相同时,调用所述迁移管理器,开启所述目的虚拟机。
具体的,调用所述迁移管理器,在所述目的环境中配置目的虚拟机,所述配置目的虚拟机可以和源虚拟机的配置信息可以完全相同也可对于部分不影响实现的信息配置不相同的信息,优选的,目的虚拟机的配置应与源虚拟机的配置相同。
优选的,所述目的虚拟机和所述源虚拟机具有相同的主机名、内存、虚拟硬件设备或网络配置。
执行对源虚拟机进行快照并保存快照产生的第二运行状态文件和所述源虚拟机的虚拟机镜像,卸载设备访问模型驱动程序并接管其数据流和控制流;将所述第二运行状态文件和所述虚拟机镜像传输至所述目的环境中,将所述虚拟机镜像格式转化为所述目的环境支持的镜像格式,根据所述第二运行状态文件开启所述目的虚拟机。
S307:当所述目的虚拟机开启完成后,安装目的直接设备访问模型驱动程序。
S308:将所述源虚拟机切换到所述目的虚拟机,以完成虚拟机的迁移。
具体的与实施例一的S207和S208所描述一致,此处不再赘述。
优选的,可以调用迁移管理器中的在迁移过程中充当临时设备访问模型驱动程序,对迁移完成后的目的设备访问模型设备功能进行检查,以提高迁移成功率。
由上可知,本发明实施例在实施例一的基础上实现了同平台动态迁移以及跨平台的冷迁移,提高了迁移的兼容性,使虚拟机迁移更加灵活;进一步的,通过预先设置迁移管理器,在判断所述迁移虚拟化平台是否相同后,通过直接调用迁移管理器执行相应操作,简化了操作程序,提高迁移效率;尤其当对于源虚拟环境和目的虚拟环境分别相同的虚拟机进行下一次迁移时,可直接调用或拷贝所述迁移管理器,大大节省了配置时间。
本发明实施例还针对基于直接设备访问模型的虚拟机迁移的方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的基于直接设备访问模型的虚拟机迁移的装置进行介绍,下文描述的基于直接设备访问模型的虚拟机迁移的装置与上文描述的基于直接设备访问模型的虚拟机迁移的方法可相互对应参照。
实施例三:
参见图4,图4为本发明实施例提供的一种基于直接设备访问模型的虚拟机迁移装置的结构图,该装置可包括:
网络连接建立模块401,用来建立源环境和目的环境之间的网络连接。
第一判断模块402,用来判断所述目的环境是否满足预设源虚拟机的迁移条件。
迁移前预设条件模块403,用来当判定所述目的环境满足所述预设源虚拟机迁移条件时,卸载源设备访问模型驱动程序并接管其数据流和控制流,在所述目的环境中配置目的虚拟机。
第二判断模块404,用来判断所述源环境与所述目的环境的虚拟化平台是否相同。
同平台操作模块405,用来当判定所述源环境与所述目的环境的所述虚拟化平台相同时,根据所述源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机。
跨平台操作模块406,用来当判定所述源环境与所述目的环境的所述虚拟化平台不相同时,将将所述源虚拟机快照生成的虚拟机镜像格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机。
驱动程序安装模块407,用来当所述目的虚拟机开启完成后,安装目的直接设备访问模型驱动程序。
执行迁移模块408,用来将所述源虚拟机切换到所述目的虚拟机,以完成虚拟机的迁移。
本发明实施例所述一种基于直接设备访问模型的虚拟机迁移装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明实施例提供了一种基于直接设备访问模型的虚拟机迁移的装置,所述装置的功能模块通过卸载源设备访问模型驱动程序,配置目的虚拟机;在同平台下根据源虚拟机备份产生的运行状态文件开启所述目的虚拟机;在不同平台下,将快照产生的虚拟机镜像格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的运行状态文件开启所述目的虚拟机;安装目的设备访问模型驱动程序,执行虚拟机的切换,完成虚拟机的迁移。实现了同平台动态迁移以及跨平台的冷迁移,提高了迁移的兼容性,使虚拟机迁移更加灵活。
此外,在实际操作中,考虑到应用时操作方便,请参见图5,图5为本发明实施例提供的一种基于直接设备访问模型的虚拟机迁移装置的结构图。
基于实施例四,包括设置迁移管理器模块503,用来卸载设备访问模型驱动程序并接管其数据流和控制流;对源虚拟机进行备份和快照,并保存备份产生的第一运行状态文件和镜像文件以及快照产生的第二运行状态文件和所述源虚拟机的虚拟机镜像;配置目的虚拟机。
为了提高迁移成功率,还可包括:
在迁移过程中充当临时设备访问模型驱动程序;
对迁移完成后的目的设备访问模型设备功能进行检查。
在进行如下操作时,只需直接调用所述迁移管理器的相关功能即可,不需要进行专门配置。通过直接调用迁移管理器执行相应操作,简化了操作程序,提高迁移效率;尤其当对于源虚拟环境和目的虚拟环境分别相同的虚拟机进行下一次迁移时,可直接调用或拷贝所述迁移管理器,大大节省了配置时间。
可选的,在本实施例的一些实施方式中,所述装置例如还可以包括:
验证模块509,用来对所述目的直接设备访问模型驱动程序进行验证。
如果验证成功,则进行虚拟机的切换;如果不成功,则退出或可重新检测验证不成功的原因,然后进行修复,例如检测所述目的直接设备访问模型驱动程序是否兼容或安装程序是否出错。
可选的,在本实施例的另一些实施方式中,所述装置例如还可以包括:
获取配置信息模块510,用来获取所述源虚拟机的配置信息,所述配置信息为以下任意一项或任意组合:
中央处理器资源信息、内存资源信息、所述源虚拟机设备信息、所述源虚拟机镜像容量或网络资源使用信息。
本发明实施例所述一种基于直接设备访问模型的虚拟机迁移装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。此外,相同功能模块的说明请参照实施例四,此处不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的基于直接设备访问模型的虚拟机迁移方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于直接设备访问模型的虚拟机迁移的方法,其特征在于,包括:
建立源环境和目的环境之间的网络连接;
判断所述目的环境是否满足预设源虚拟机的迁移条件;
当判定所述目的环境满足所述预设源虚拟机的迁移条件时,卸载源设备访问模型驱动程序并接管其数据流和控制流,在所述目的环境中配置目的虚拟机;
判断所述源环境与所述目的环境的虚拟化平台是否相同;
当判定所述虚拟化平台相同时,根据所述源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机;
当判定所述虚拟化平台不相同时,将所述源虚拟机快照生成的虚拟机镜像的格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机;
当所述目的虚拟机开启完成后,安装目的直接设备访问模型驱动程序;
将所述源虚拟机切换到所述目的虚拟机,以完成虚拟机的迁移。
2.根据权利要求1所述的方法,其特征在于,所述根据所述源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机具体为:
对所述源虚拟机进行备份操作,并对生成的所述第一运行状态文件和镜像文件进行保存,调用所述第一运行状态文件和所述镜像文件,将所述第一运行状态文件和所述镜像文件传输至所述目的环境中,根据所述第一运行状态文件开启所述目的虚拟机。
3.根据权利要求1所述的方法,其特征在于,所述根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机具体为:
对所述源虚拟机进行快照操作,并保存快照生成的所述第二运行状态文件和所述虚拟机镜像,将所述第二运行状态文件和所述虚拟机镜像传输至所述目的环境中,将所述虚拟机镜像的格式转化为所述目的环境支持的镜像格式,根据所述第二运行状态文件开启所述目的虚拟机。
4.根据权利要求1所述的方法,其特征在于,在所述安装目的直接设备访问模型驱动程序之后还包括:
对所述目的直接设备访问模型驱动程序进行验证。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述预设源虚拟机的迁移条件为:
所述目的环境中存储设备的剩余空间是否符合所述源虚拟机的镜像文件容量;和/或
所述目的环境的资源配置信息是否满足所述源虚拟机的配置要求。
6.根据权利要求5所述的方法,其特征在于,在所述建立源环境和目的环境之间的网络连接之前还包括:
获取所述源虚拟机的配置信息,所述配置信息为以下任意一项或任意组合:
中央处理器资源信息、内存资源信息、所述源虚拟机设备信息、所述源虚拟机镜像容量或网络资源使用信息。
7.根据权利要求6所述的方法,其特征在于,所述在所述目的环境中配置目的虚拟机为:
所述目的虚拟机和所述源虚拟机具有相同的主机名、内存、虚拟硬件设备或网络配置。
8.一种基于直接设备访问模型的虚拟机迁移的装置,其特征在于,包括:
网络连接建立模块,用来建立源环境和目的环境之间的网络连接;
第一判断模块,用来判断所述目的环境是否满足预设源虚拟机的迁移条件;
迁移前预设条件模块,用来当判定所述目的环境满足所述预设源虚拟机的迁移条件时,卸载源设备访问模型驱动程序并接管其数据流和控制流,在所述目的环境中配置目的虚拟机;
第二判断模块,用来判断所述源环境与所述目的环境的虚拟化平台是否相同;
同平台操作模块,用来当判定所述虚拟化平台相同时,根据所述源虚拟机备份产生的第一运行状态文件开启所述目的虚拟机;
跨平台操作模块,用来当判定所述虚拟化平台不相同时,将所述源虚拟机快照生成的虚拟机镜像的格式转化为所述目的环境支持的格式,根据所述源虚拟机快照产生的第二运行状态文件开启所述目的虚拟机;
驱动程序安装模块,用来当所述目的虚拟机开启完成后,安装目的直接设备访问模型驱动程序;
执行迁移模块,用来将所述源虚拟机切换到所述目的虚拟机,以完成虚拟机的迁移。
9.根据权利要求8所述的装置,其特征在于,所述同平台操作模块具体为:
对所述源虚拟机进行备份操作,并对生成的所述第一运行状态文件和镜像文件进行保存,调用所述第一运行状态文件和所述镜像文件,将所述第一运行状态文件和所述镜像文件传输至所述目的环境中,根据所述第一运行状态文件开启所述目的虚拟机。
10.根据权利要求8所述的装置,其特征在于,所述跨同平台操作模块具体为:
对所述源虚拟机进行快照操作,并保存快照生成的所述第二运行状态文件和所述虚拟机镜像,将所述第二运行状态文件和所述虚拟机镜像传输至所述目的环境中,将所述虚拟机镜像格式转化为所述目的环境支持的镜像格式,根据所述第二运行状态文件开启所述目的虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610995821.2A CN106569876A (zh) | 2016-11-11 | 2016-11-11 | 一种基于直接设备访问模型的虚拟机迁移的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610995821.2A CN106569876A (zh) | 2016-11-11 | 2016-11-11 | 一种基于直接设备访问模型的虚拟机迁移的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106569876A true CN106569876A (zh) | 2017-04-19 |
Family
ID=58541824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610995821.2A Pending CN106569876A (zh) | 2016-11-11 | 2016-11-11 | 一种基于直接设备访问模型的虚拟机迁移的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106569876A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608766A (zh) * | 2017-10-20 | 2018-01-19 | 北京易思捷信息技术有限公司 | 一种虚拟化跨平台ha系统 |
CN107678837A (zh) * | 2017-10-20 | 2018-02-09 | 北京易思捷信息技术有限公司 | 一种虚拟化异构迁移系统 |
CN108108229A (zh) * | 2018-01-05 | 2018-06-01 | 京东方科技集团股份有限公司 | 虚拟主机迁移系统、方法、计算机设备、可读存储介质 |
CN108182107A (zh) * | 2018-01-02 | 2018-06-19 | 郑州云海信息技术有限公司 | 一种虚拟机迁移的检测方法及设备 |
CN109522088A (zh) * | 2018-09-30 | 2019-03-26 | 华为技术有限公司 | 一种虚拟机迁移方法及装置 |
CN110737467A (zh) * | 2018-07-18 | 2020-01-31 | 中移(苏州)软件技术有限公司 | 一种业务迁移的方法和设备 |
CN111124615A (zh) * | 2019-12-22 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种虚拟机迁移方法、装置、设备及计算机可读存储介质 |
CN111736943A (zh) * | 2019-03-25 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 虚拟机的迁移方法和系统 |
CN111796903A (zh) * | 2019-04-08 | 2020-10-20 | 中移(苏州)软件技术有限公司 | 一种虚拟机的迁移方法、服务器和计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294808A1 (en) * | 2007-05-23 | 2008-11-27 | Vmware, Inc. | Direct access to a hardware device for virtual machines of a virtualized computer system |
CN102446119A (zh) * | 2010-10-13 | 2012-05-09 | 中标软件有限公司 | 基于Passthrough I/O的虚拟机动态迁移方法 |
CN105260226A (zh) * | 2015-09-23 | 2016-01-20 | 浙江网新恒天软件有限公司 | 一种基于云平台自动迁移虚拟机的方法 |
CN105573830A (zh) * | 2014-10-09 | 2016-05-11 | 中国银联股份有限公司 | 一种虚拟机迁移方法 |
-
2016
- 2016-11-11 CN CN201610995821.2A patent/CN106569876A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294808A1 (en) * | 2007-05-23 | 2008-11-27 | Vmware, Inc. | Direct access to a hardware device for virtual machines of a virtualized computer system |
CN102446119A (zh) * | 2010-10-13 | 2012-05-09 | 中标软件有限公司 | 基于Passthrough I/O的虚拟机动态迁移方法 |
CN105573830A (zh) * | 2014-10-09 | 2016-05-11 | 中国银联股份有限公司 | 一种虚拟机迁移方法 |
CN105260226A (zh) * | 2015-09-23 | 2016-01-20 | 浙江网新恒天软件有限公司 | 一种基于云平台自动迁移虚拟机的方法 |
Non-Patent Citations (5)
Title |
---|
ASIM KADAV等: ""Live Migration of Direct-Access Devices"", 《ACM SIGOPS OPERATING SYSTEMS REVIEW》 * |
EDWIN ZHAI 等: ""Live Migration with Pass-through Device for Linux VM"", 《LINUX SYMPOSIUM》 * |
王化文等: "《Windows Server 2008 网络构建与系统管理》", 30 September 2011 * |
翁彧编: "《云计算概论》", 31 October 2012 * |
郝卫东编著: "《云计算及其实践教程》", 31 July 2014 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608766A (zh) * | 2017-10-20 | 2018-01-19 | 北京易思捷信息技术有限公司 | 一种虚拟化跨平台ha系统 |
CN107678837A (zh) * | 2017-10-20 | 2018-02-09 | 北京易思捷信息技术有限公司 | 一种虚拟化异构迁移系统 |
CN108182107A (zh) * | 2018-01-02 | 2018-06-19 | 郑州云海信息技术有限公司 | 一种虚拟机迁移的检测方法及设备 |
CN108108229A (zh) * | 2018-01-05 | 2018-06-01 | 京东方科技集团股份有限公司 | 虚拟主机迁移系统、方法、计算机设备、可读存储介质 |
US10831524B2 (en) | 2018-01-05 | 2020-11-10 | Boe Technology Group Co., Ltd. | Virtual host migration system and method, computer apparatus and computer readable storage medium |
CN110737467A (zh) * | 2018-07-18 | 2020-01-31 | 中移(苏州)软件技术有限公司 | 一种业务迁移的方法和设备 |
CN109522088A (zh) * | 2018-09-30 | 2019-03-26 | 华为技术有限公司 | 一种虚拟机迁移方法及装置 |
WO2020063879A1 (zh) * | 2018-09-30 | 2020-04-02 | 华为技术有限公司 | 一种虚拟机迁移方法及装置 |
CN111736943A (zh) * | 2019-03-25 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 虚拟机的迁移方法和系统 |
CN111796903A (zh) * | 2019-04-08 | 2020-10-20 | 中移(苏州)软件技术有限公司 | 一种虚拟机的迁移方法、服务器和计算机存储介质 |
CN111124615A (zh) * | 2019-12-22 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种虚拟机迁移方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569876A (zh) | 一种基于直接设备访问模型的虚拟机迁移的方法及装置 | |
CN112199162B (zh) | 基于虚拟化磁盘双活容灾的磁盘快照方法、装置及介质 | |
US10216585B2 (en) | Enabling disk image operations in conjunction with snapshot locking | |
EP2053509B1 (en) | System for and method of migrating one or more virtual machines | |
CN104965757B (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
CN105556478B (zh) | 用于保护虚拟机数据的系统和方法 | |
JP6186374B2 (ja) | 仮想化されたプラットフォームへ安全に移行するためのシステム及び方法 | |
CN106201702A (zh) | 虚拟机迁移的方法、系统及云计算管理平台 | |
US20150067390A1 (en) | Live snapshot of a virtual machine | |
CN106293781B (zh) | 在线升级机器虚拟器的方法与设备 | |
CN106528327A (zh) | 一种数据处理方法以及备份服务器 | |
US9792075B1 (en) | Systems and methods for synthesizing virtual hard drives | |
CN108804189B (zh) | 一种云桌面管理方法及系统 | |
CN104598294A (zh) | 用于移动设备的高效安全的虚拟化方法及其设备 | |
CN102446119A (zh) | 基于Passthrough I/O的虚拟机动态迁移方法 | |
US20140359618A1 (en) | Creating a Virtual Appliance | |
CN106462451A (zh) | 虚拟化平台处理中断方法和相关设备 | |
CN107992381A (zh) | 系统还原方法、装置、系统、备份还原服务器及存储介质 | |
CN109086118A (zh) | 基于KVM的vTPM虚拟机迁移方法、装置及设备 | |
US9557980B2 (en) | Seamless application integration apparatus and method | |
CN112328365A (zh) | 一种虚拟机迁移方法、装置、设备及存储介质 | |
US10318343B2 (en) | Migration methods and apparatuses for migrating virtual machine including locally stored and shared data | |
US10169027B2 (en) | Upgrade of an operating system of a virtual machine | |
US10467078B2 (en) | Crash dump extraction of guest failure | |
CN111679889A (zh) | 一种虚拟机的转换迁移方法和系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170419 |
|
RJ01 | Rejection of invention patent application after publication |