CN111722909A - 一种虚拟机迁移方法、系统、设备及存储介质 - Google Patents
一种虚拟机迁移方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN111722909A CN111722909A CN202010537318.9A CN202010537318A CN111722909A CN 111722909 A CN111722909 A CN 111722909A CN 202010537318 A CN202010537318 A CN 202010537318A CN 111722909 A CN111722909 A CN 111722909A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- memory
- storage space
- dirty data
- host
- 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.)
- Withdrawn
Links
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
-
- 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/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种虚拟机迁移方法、系统、设备及存储介质。由于本方法中,源宿主机与目的主机之间基于共享存储空间实现对内存文件以及脏数据的迁移,以此进一步实现虚拟机在源宿主机与目的主机之间的迁移,无需占用源宿主机与目标宿主机之间的以太网资源,进而相对确保了虚拟机热迁移过程的稳定性。此外,本申请还提供一种虚拟机迁移系统、设备及存储介质,有益效果同上所述。
Description
技术领域
本申请涉及云计算领域,特别是涉及一种虚拟机迁移方法、系统、设备及存储介质。
背景技术
在虚拟化技术中,基于共享存储的虚拟机热迁移是一个技术热点。基于共享存储的虚拟机热迁移技术指的是在共享存储空间的物理服务器之间,将一个虚拟机从一台物理服务器迁移到另一台物理服务器运行的技术,并且由于热迁移技术中,虚拟机的业务虚拟机迁移时保持运行状态,因此能够到达到用户及应用层面对虚拟机迁移无感知的效果。
当前基于共享存储实现虚拟机热迁移的手段主要是对虚拟机内存数据进行迁移,其基本原理是不断地将源宿主机中的虚拟机内存数据通过以太网拷贝至目标宿主机。由于在进行虚拟机热迁移的过程中,虚拟机一直处于运行状态,因此内存数据变化后产生的差异数据,即“脏数据”需要由源宿主机拷贝至目标宿主机,往往需要持续占用源宿主机与目标宿主机之间的以太网资源,而以太网资源在支持虚拟机热迁移的同时,还需要支持虚拟机中业务的运行,因此可能出现以太网资源不足的情况,进而难以确保虚拟机热迁移过程的稳定性。
由此可见,提供一种虚拟机迁移方法,以相对确保虚拟机热迁移过程的稳定性,是本领域技术人员需要解决的问题。
发明内容
本申请的目的是提供一种虚拟机迁移方法、系统、设备及存储介质,以相对确保虚拟机热迁移过程的稳定性。
为解决上述技术问题,本申请提供一种虚拟机迁移方法,应用于源宿主机,包括:
获取待迁移虚拟机的内存文件;
将内存文件写入源宿主机与目的主机之间的共享存储空间,以供目的主机基于共享存储空间将内存文件写入本地内存;
获取待迁移虚拟机运行过程产生的脏数据;
将脏数据写入共享存储空间,以供目的主机基于共享存储空间将脏数据更新至本地内存中的内存文件;
判断脏数据的数据量是否小于数据量阈值;
如果是,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机;
否则,执行获取待迁移虚拟机运行过程产生的脏数据的步骤。
优选地,在将内存文件写入源宿主机与目的主机之间的共享存储空间之前,方法还包括:
在共享存储空间中创建与待迁移虚拟机的内存容量一致的目标文件;
将内存文件写入源宿主机与目的主机之间的共享存储空间,包括:
将内存文件写入共享存储空间中的目标文件;
将脏数据写入共享存储空间,包括:
将脏数据写入共享存储空间中的目标文件。
优选地,在获取待迁移虚拟机运行过程产生的脏数据之后,方法还包括:
获取脏数据的数据块信息,并将数据块信息发送至目的主机,以供目的主机根据数据块信息将脏数据更新至本地内存中的内存文件。
优选地,共享存储空间包括NVMe共享存储空间。
优选地,数据量阈值为源宿主机与共享存储空间之间通信链路的可用带宽数据量。
此外,本申请还提供一种虚拟机迁移方法,应用于目的主机,包括:
在源宿主机与目的主机之间的共享存储空间中获取待迁移虚拟机的内存文件;
将内存文件写入本地内存;
在共享存储空间中获取待迁移虚拟机运行过程产生的脏数据,并通过脏数据更新本地内存中的内存文件;
判断源宿主机是否传入虚拟机启用指令;
如果是,则基于更新后的内存文件启动新虚拟机;
否则,执行在共享存储空间中获取待迁移虚拟机运行过程产生的脏数据,并通过脏数据更新本地内存中的内存文件的步骤。
优选地,方法还包括:
建立共享存储空间与本地内存之间的映射关系;
将内存文件写入本地内存,包括:
基于映射关系将内存文件写入本地内存;
通过脏数据更新本地内存中的内存文件,包括:
在映射关系的基础上,通过脏数据更新本地内存中的内存文件。
此外,本申请还提供一种虚拟机迁移系统,包括:
源宿主机,用于获取待迁移虚拟机的内存文件;将内存文件写入源宿主机与目的主机之间的共享存储空间;获取待迁移虚拟机运行过程产生的脏数据;将脏数据写入共享存储空间;判断脏数据的数据量是否小于数据量阈值;如果是,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机;否则,执行获取待迁移虚拟机运行过程产生的脏数据的步骤;
目的主机,用于在源宿主机与目的主机之间的共享存储空间中获取待迁移虚拟机的内存文件;将内存文件写入本地内存;在共享存储空间中获取待迁移虚拟机运行过程产生的脏数据,并通过脏数据更新本地内存中的内存文件;判断源宿主机是否传入虚拟机启用指令;如果是,则基于更新后的内存文件启动新虚拟机;否则,执行在共享存储空间中获取待迁移虚拟机运行过程产生的脏数据,并通过脏数据更新本地内存中的内存文件的步骤。
此外,本申请还提供一种虚拟机迁移设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的应用于源宿主机的虚拟机迁移方法的步骤和/或实现如上述的应用于目的主机的虚拟机迁移方法的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的应用于源宿主机的虚拟机迁移方法的步骤和/或实现如上述的应用于目的主机的虚拟机迁移方法的步骤。
本申请所提供的虚拟机迁移方法,由源宿主机获取待迁移虚拟机的内存文件,进而将内存文件写入源宿主机与目的主机之间的共享存储空间,以供目的主机基于共享存储空间将内存文件写入其自身的本地内存;在此基础上,源宿主机获取待迁移虚拟机运行过程产生的脏数据,进而将脏数据写入共享存储空间,以供目的主机基于共享存储空间将脏数据更新至其本地内存中的内存文件;更进一步的,源宿主机判断脏数据的数据量是否小于数据量阈值;如果是,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机,进而完成对于待迁移虚拟机的迁移;否则,继续执行获取待迁移虚拟机运行过程产生的脏数据的步骤,直至脏数据的数据量小于数据量阈值。由于本方法中,源宿主机与目的主机之间基于共享存储空间实现对内存文件以及脏数据的迁移,以此进一步实现虚拟机在源宿主机与目的主机之间的迁移,无需占用源宿主机与目标宿主机之间的以太网资源,进而相对确保了虚拟机热迁移过程的稳定性。此外,本申请还提供一种虚拟机迁移系统、设备及存储介质,有益效果同上所述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种应用于源宿主机的虚拟机迁移方法的流程图;
图2为本申请实施例公开的一种应用于目的主机的虚拟机迁移方法的流程图;
图3为本申请实施例公开的一种虚拟机迁移系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
当前基于共享存储实现虚拟机热迁移的手段主要是对虚拟机内存数据进行迁移,其基本原理是不断地将源宿主机中的虚拟机内存数据通过以太网拷贝至目标宿主机。由于在进行虚拟机热迁移的过程中,虚拟机一直处于运行状态,因此内存数据变化后产生的差异数据,即“脏数据”需要由源宿主机拷贝至目标宿主机,往往需要持续占用源宿主机与目标宿主机之间的以太网资源,而以太网资源在支持虚拟机热迁移的同时,还需要支持虚拟机中业务的运行,因此可能出现以太网资源不足的情况,进而难以确保虚拟机热迁移过程的稳定性。
为此,本申请的核心是提供一种虚拟机迁移方法,以相对确保虚拟机热迁移过程的稳定性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
请参见图1所示,本申请实施例公开了一种虚拟机迁移方法,应用于源宿主机,包括:
步骤S10:获取待迁移虚拟机的内存文件。
需要说明的是,本实施例的执行主体为源宿主机,源宿主机指的是运行有待迁移虚拟机的主机设备。本实施例的目的是将源宿主机中的待迁移虚拟机迁移至目的主机中运行,需要强调的是,本实施例中的源宿主机与目的主机之间共享硬件设备的相同存储空间。
由于内存文件是虚拟机在运行过程中根据所执行业务而产生的相关数据文件,因此内存文件是确保迁移后的虚拟机中业务不间断运行的关键,进而在进行虚拟机迁移时,首先获取待迁移虚拟机的内存文件,目的是在后续步骤中对内存文件进行由源宿主机向目的主机的迁移,以此达到对虚拟机进行热迁移的效果。
步骤S11:将内存文件写入源宿主机与目的主机之间的共享存储空间,以供目的主机基于共享存储空间将内存文件写入本地内存。
在获取到待迁移虚拟机的内存文件之后,本步骤进一步将内存文件写入源宿主机与目的主机之间的共享存储空间,目的是确保目的主机能够基于共享存储空间获取到源宿主机的内存文件,并将该内存文件存储至本地内存。本步骤的重点在于通过源宿主机与目的主机之间的共享存储空间,实现将内存文件进行由源宿主机向目的主机的迁移。
步骤S12:获取待迁移虚拟机运行过程产生的脏数据。
由于在将内存文件写入源宿主机与目的主机之间的共享存储空间时,待迁移虚拟机仍然处于运行状态,因此待迁移虚拟机的内存文件的内容会不断更新,更新部分的数据即为脏数据,为了确保迁移后的虚拟机在目的主机中正常运行,需要进一步将脏数据更新至目的主机中的内存文件,进而本步骤进一步获取待迁移虚拟机运行过程产生的脏数据,并在后续步骤中将脏数据更新至目的主机,以此确保将待迁移虚拟机迁移至目的主机而得到的新虚拟机能够正常运行。
步骤S13:将脏数据写入共享存储空间,以供目的主机基于共享存储空间将脏数据更新至本地内存中的内存文件。
在获取到待迁移虚拟机运行过程产生的脏数据之后,本步骤进一步将将脏数据写入共享存储空间,进而确保目的主机能够将共享存储空间中的脏数据更新至其本地内存中的内存文件,进而确保目的主机的内存文件与源宿主机的内存文件内容的一致性。
步骤S14:判断脏数据的数据量是否小于数据量阈值,如果是,则执行步骤S15,否则,执行步骤S12。
步骤S15:终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机。
在将脏数据写入共享存储空间之后,本步骤进一步判断脏数据的数据量是否小于数据量阈值,该数据量阈值指的是满足终止待迁移虚拟机运行的标准的数据量,当脏数据的数据量小于数据量阈值,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机,以此通过目的主机中的新虚拟机取代源宿主机中的待迁移虚拟机工作,从而完成虚拟机迁移;相反的,如果脏数据的数据量未小于数据量阈值,则继续获取待迁移虚拟机运行过程产生的脏数据,并将脏数据写入共享存储空间,直至脏数据的数据量小于数据量阈值。
本申请所提供的虚拟机迁移方法,由源宿主机获取待迁移虚拟机的内存文件,进而将内存文件写入源宿主机与目的主机之间的共享存储空间,以供目的主机基于共享存储空间将内存文件写入其自身的本地内存;在此基础上,源宿主机获取待迁移虚拟机运行过程产生的脏数据,进而将脏数据写入共享存储空间,以供目的主机基于共享存储空间将脏数据更新至其本地内存中的内存文件;更进一步的,源宿主机判断脏数据的数据量是否小于数据量阈值;如果是,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机,进而完成对于待迁移虚拟机的迁移;否则,继续执行获取待迁移虚拟机运行过程产生的脏数据的步骤,直至脏数据的数据量小于数据量阈值。由于本方法中,源宿主机与目的主机之间基于共享存储空间实现对内存文件以及脏数据的迁移,以此进一步实现虚拟机在源宿主机与目的主机之间的迁移,无需占用源宿主机与目标宿主机之间的以太网资源,进而相对确保了虚拟机热迁移过程的稳定性。
在上述实施例的基础上,作为一种优选的实施方式,在将内存文件写入源宿主机与目的主机之间的共享存储空间之前,方法还包括:
在共享存储空间中创建与待迁移虚拟机的内存容量一致的目标文件;
将内存文件写入源宿主机与目的主机之间的共享存储空间,包括:
将内存文件写入共享存储空间中的目标文件;
将脏数据写入共享存储空间,包括:
将脏数据写入共享存储空间中的目标文件。
需要说明的是,本实施方式的重点在于在将内存文件写入源宿主机与目的主机之间的共享存储空间之前,首先在共享存储空间中创建与待迁移虚拟机的内存容量一致的目标文件,目标文件与待迁移虚拟机的内存容量一致,相当于在共享存储空间中创建与待迁移虚拟机的内存容量一致的存储空间,在此基础上将待迁移虚拟机的内存文件写入目标文件,目的是确保待迁移虚拟机的内存文件能够完整写入共享存储空间中的目标文件,进而确保内存文件的整体完整性,本实施方式能够进一步确保虚拟机迁移过程的整体可靠性。
在上述实施例的基础上,作为一种优选的实施方式,在获取待迁移虚拟机运行过程产生的脏数据之后,方法还包括:
获取脏数据的数据块信息,并将数据块信息发送至目的主机,以供目的主机根据数据块信息将脏数据更新至本地内存中的内存文件。
需要说明的是,本实施方式的重点在于,在获取待迁移虚拟机运行过程产生的脏数据之后,进一步获取脏数据对应的数据块信息,其中,数据块信息指的是脏数据在内存文件中对应的数据块的相关信息,在获取到脏数据对应的数据块信息后,将数据块信息发送至目的主机,进而目的主机能够根据数据块信息有针对性地将脏数据更新至本地内存中的内存文件,以此相对确保了将脏数据更新至本地内存中内存文件时的准确性。
在上述实施例的基础上,作为一种优选的实施方式,共享存储空间包括NVMe共享存储空间。
需要说明的是,本实施方式中的共享存储空间是基于NVMe(Non-Volatile Memoryexpress)存储硬件构建的,即NVMe共享存储空间,由于基于NVMe协议运行的存储硬件具有传输性能较高的特点,因此能够相对确保虚拟机迁移过程的整体效率。
在上述一系列实施方式的基础上,作为一种优选的实施方式,数据量阈值为源宿主机与共享存储空间之间通信链路的可用带宽数据量。
本实施方式中,数据量阈值为源宿主机与共享存储空间之间通信链路的可用带宽数据量,也就是说,本实施方式中的数据量阈值是源宿主机与共享存储空间之间的通信链路在单位时间内能够传输的最大数据量,进而当脏数据的数据量小于数据量阈值时,则说明脏数据能够在短时间内由源宿主机传输至共享存储空间,在此时间段内不会产生新的脏数据,因此终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机,以此确保目的主机中启动的新虚拟机能够衔接待迁移虚拟机的业务,进一步保证了虚拟机迁移的可靠性。
请参见图2所示,本申请实施例公开了一种虚拟机迁移方法,应用于目的主机,包括:
步骤S20:在源宿主机与目的主机之间的共享存储空间中获取待迁移虚拟机的内存文件。
步骤S21:将内存文件写入本地内存。
步骤S22:在共享存储空间中获取待迁移虚拟机运行过程产生的脏数据,并通过脏数据更新本地内存中的内存文件。
步骤S23:判断源宿主机是否传入虚拟机启用指令,如果是,则执行步骤S24,否则,执行步骤S22。
步骤S24:基于更新后的内存文件启动新虚拟机。
本申请所提供的虚拟机迁移方法,由源宿主机获取待迁移虚拟机的内存文件,进而将内存文件写入源宿主机与目的主机之间的共享存储空间,以供目的主机基于共享存储空间将内存文件写入其自身的本地内存;在此基础上,源宿主机获取待迁移虚拟机运行过程产生的脏数据,进而将脏数据写入共享存储空间,以供目的主机基于共享存储空间将脏数据更新至其本地内存中的内存文件;更进一步的,源宿主机判断脏数据的数据量是否小于数据量阈值;如果是,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机,进而完成对于待迁移虚拟机的迁移;否则,继续执行获取待迁移虚拟机运行过程产生的脏数据的步骤,直至脏数据的数据量小于数据量阈值。由于本方法中,源宿主机与目的主机之间基于共享存储空间实现对内存文件以及脏数据的迁移,以此进一步实现虚拟机在源宿主机与目的主机之间的迁移,无需占用源宿主机与目标宿主机之间的以太网资源,进而相对确保了虚拟机热迁移过程的稳定性。
在上述实施例的基础上,作为一种优选的实施方式,方法还包括:
建立共享存储空间与本地内存之间的映射关系;
将内存文件写入本地内存,包括:
基于映射关系将内存文件写入本地内存;
通过脏数据更新本地内存中的内存文件,包括:
在映射关系的基础上,通过脏数据更新本地内存中的内存文件。
需要说明的是,本实施方式的重点在于预先建立共享存储空间与本地内存之间的映射关系,进而基于映射关系将内存文件写入本地内存,并在映射关系的基础上,通过脏数据更新本地内存中的内存文件,由于映射关系相当于共享存储空间与目的主机的本地内存之间的访问关系,因此能够相对确保将内存文件由共享存储空间写入目的主机的本地内存,以及基于共享存储空间中的脏数据更新目的主机中本地内存的内存文件时的可靠性,从而进一步相对确保了虚拟机热迁移过程的稳定性。
请参见图3所示,本申请实施例提供了一种虚拟机迁移系统,包括:
源宿主机10,用于获取待迁移虚拟机的内存文件;将内存文件写入源宿主机10与目的主机11之间的共享存储空间;获取待迁移虚拟机运行过程产生的脏数据;将脏数据写入共享存储空间;判断脏数据的数据量是否小于数据量阈值;如果是,则终止待迁移虚拟机的运行,并向目的主机11发起虚拟机启用指令,以控制目的主机11启动新虚拟机;否则,执行获取待迁移虚拟机运行过程产生的脏数据的步骤;
目的主机11,用于在源宿主机10与目的主机11之间的共享存储空间中获取待迁移虚拟机的内存文件;将内存文件写入本地内存;在共享存储空间中获取待迁移虚拟机运行过程产生的脏数据,并通过脏数据更新本地内存中的内存文件;判断源宿主机10是否传入虚拟机启用指令;如果是,则基于更新后的内存文件启动新虚拟机;否则,执行在共享存储空间中获取待迁移虚拟机运行过程产生的脏数据,并通过脏数据更新本地内存中的内存文件的步骤。
本申请所提供的虚拟机迁移系统,由源宿主机获取待迁移虚拟机的内存文件,进而将内存文件写入源宿主机与目的主机之间的共享存储空间,以供目的主机基于共享存储空间将内存文件写入其自身的本地内存;在此基础上,源宿主机获取待迁移虚拟机运行过程产生的脏数据,进而将脏数据写入共享存储空间,以供目的主机基于共享存储空间将脏数据更新至其本地内存中的内存文件;更进一步的,源宿主机判断脏数据的数据量是否小于数据量阈值;如果是,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机,进而完成对于待迁移虚拟机的迁移;否则,继续执行获取待迁移虚拟机运行过程产生的脏数据的步骤,直至脏数据的数据量小于数据量阈值。由于本系统中,源宿主机与目的主机之间基于共享存储空间实现对内存文件以及脏数据的迁移,以此进一步实现虚拟机在源宿主机与目的主机之间的迁移,无需占用源宿主机与目标宿主机之间的以太网资源,进而相对确保了虚拟机热迁移过程的稳定性。
此外,本申请实施例还提供一种虚拟机迁移设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的应用于源宿主机的虚拟机迁移方法的步骤和/或实现如上述的应用于目的主机的虚拟机迁移方法的步骤。
本申请所提供的虚拟机迁移设备,由源宿主机获取待迁移虚拟机的内存文件,进而将内存文件写入源宿主机与目的主机之间的共享存储空间,以供目的主机基于共享存储空间将内存文件写入其自身的本地内存;在此基础上,源宿主机获取待迁移虚拟机运行过程产生的脏数据,进而将脏数据写入共享存储空间,以供目的主机基于共享存储空间将脏数据更新至其本地内存中的内存文件;更进一步的,源宿主机判断脏数据的数据量是否小于数据量阈值;如果是,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机,进而完成对于待迁移虚拟机的迁移;否则,继续执行获取待迁移虚拟机运行过程产生的脏数据的步骤,直至脏数据的数据量小于数据量阈值。由于本设备中,源宿主机与目的主机之间基于共享存储空间实现对内存文件以及脏数据的迁移,以此进一步实现虚拟机在源宿主机与目的主机之间的迁移,无需占用源宿主机与目标宿主机之间的以太网资源,进而相对确保了虚拟机热迁移过程的稳定性。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的应用于源宿主机的虚拟机迁移方法的步骤和/或实现如上述的应用于目的主机的虚拟机迁移方法的步骤。
本申请所提供的计算机可读存储介质,由源宿主机获取待迁移虚拟机的内存文件,进而将内存文件写入源宿主机与目的主机之间的共享存储空间,以供目的主机基于共享存储空间将内存文件写入其自身的本地内存;在此基础上,源宿主机获取待迁移虚拟机运行过程产生的脏数据,进而将脏数据写入共享存储空间,以供目的主机基于共享存储空间将脏数据更新至其本地内存中的内存文件;更进一步的,源宿主机判断脏数据的数据量是否小于数据量阈值;如果是,则终止待迁移虚拟机的运行,并向目的主机发起虚拟机启用指令,以控制目的主机启动新虚拟机,进而完成对于待迁移虚拟机的迁移;否则,继续执行获取待迁移虚拟机运行过程产生的脏数据的步骤,直至脏数据的数据量小于数据量阈值。由于本计算机可读存储介质中,源宿主机与目的主机之间基于共享存储空间实现对内存文件以及脏数据的迁移,以此进一步实现虚拟机在源宿主机与目的主机之间的迁移,无需占用源宿主机与目标宿主机之间的以太网资源,进而相对确保了虚拟机热迁移过程的稳定性。
以上对本申请所提供的一种虚拟机迁移方法、系统、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种虚拟机迁移方法,其特征在于,应用于源宿主机,包括:
获取待迁移虚拟机的内存文件;
将所述内存文件写入所述源宿主机与目的主机之间的共享存储空间,以供所述目的主机基于所述共享存储空间将所述内存文件写入本地内存;
获取所述待迁移虚拟机运行过程产生的脏数据;
将所述脏数据写入所述共享存储空间,以供所述目的主机基于所述共享存储空间将所述脏数据更新至所述本地内存中的内存文件;
判断所述脏数据的数据量是否小于数据量阈值;
如果是,则终止所述待迁移虚拟机的运行,并向所述目的主机发起虚拟机启用指令,以控制所述目的主机启动新虚拟机;
否则,执行所述获取所述待迁移虚拟机运行过程产生的脏数据的步骤。
2.根据权利要求1所述的虚拟机迁移方法,其特征在于,在所述将所述内存文件写入所述源宿主机与目的主机之间的共享存储空间之前,所述方法还包括:
在所述共享存储空间中创建与所述待迁移虚拟机的内存容量一致的目标文件;
所述将所述内存文件写入所述源宿主机与目的主机之间的共享存储空间,包括:
将所述内存文件写入所述共享存储空间中的所述目标文件;
所述将所述脏数据写入所述共享存储空间,包括:
将所述脏数据写入所述共享存储空间中的所述目标文件。
3.根据权利要求1所述的虚拟机迁移方法,其特征在于,在所述获取所述待迁移虚拟机运行过程产生的脏数据之后,所述方法还包括:
获取所述脏数据的数据块信息,并将所述数据块信息发送至所述目的主机,以供所述目的主机根据所述数据块信息将所述脏数据更新至所述本地内存中的内存文件。
4.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述共享存储空间包括NVMe共享存储空间。
5.根据权利要求1至4任意一项所述的虚拟机迁移方法,其特征在于,所述数据量阈值为所述源宿主机与所述共享存储空间之间通信链路的可用带宽数据量。
6.一种虚拟机迁移方法,其特征在于,应用于目的主机,包括:
在源宿主机与所述目的主机之间的共享存储空间中获取待迁移虚拟机的内存文件;
将所述内存文件写入本地内存;
在所述共享存储空间中获取所述待迁移虚拟机运行过程产生的脏数据,并通过所述脏数据更新所述本地内存中的内存文件;
判断所述源宿主机是否传入虚拟机启用指令;
如果是,则基于更新后的所述内存文件启动新虚拟机;
否则,执行所述在所述共享存储空间中获取所述待迁移虚拟机运行过程产生的脏数据,并通过所述脏数据更新所述本地内存中的内存文件的步骤。
7.根据权利要求6所述的虚拟机迁移方法,其特征在于,所述方法还包括:
建立所述共享存储空间与所述本地内存之间的映射关系;
所述将所述内存文件写入本地内存,包括:
基于所述映射关系将所述内存文件写入所述本地内存;
所述通过所述脏数据更新所述本地内存中的内存文件,包括:
在所述映射关系的基础上,通过所述脏数据更新所述本地内存中的内存文件。
8.一种虚拟机迁移系统,其特征在于,包括:
源宿主机,用于获取待迁移虚拟机的内存文件;将所述内存文件写入所述源宿主机与目的主机之间的共享存储空间;获取所述待迁移虚拟机运行过程产生的脏数据;将所述脏数据写入所述共享存储空间;判断所述脏数据的数据量是否小于数据量阈值;如果是,则终止所述待迁移虚拟机的运行,并向所述目的主机发起虚拟机启用指令,以控制所述目的主机启动新虚拟机;否则,执行所述获取所述待迁移虚拟机运行过程产生的脏数据的步骤;
所述目的主机,用于在所述源宿主机与所述目的主机之间的共享存储空间中获取待迁移虚拟机的内存文件;将所述内存文件写入本地内存;在所述共享存储空间中获取所述待迁移虚拟机运行过程产生的脏数据,并通过所述脏数据更新所述本地内存中的内存文件;判断所述源宿主机是否传入虚拟机启用指令;如果是,则基于更新后的所述内存文件启动新虚拟机;否则,执行所述在所述共享存储空间中获取所述待迁移虚拟机运行过程产生的脏数据,并通过所述脏数据更新所述本地内存中的内存文件的步骤。
9.一种虚拟机迁移设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的应用于源宿主机的虚拟机迁移方法的步骤和/或实现如权利要求6或7所述的应用于目的主机的虚拟机迁移方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的应用于源宿主机的虚拟机迁移方法的步骤和/或实现如权利要求6或7所述的应用于目的主机的虚拟机迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010537318.9A CN111722909A (zh) | 2020-06-12 | 2020-06-12 | 一种虚拟机迁移方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010537318.9A CN111722909A (zh) | 2020-06-12 | 2020-06-12 | 一种虚拟机迁移方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111722909A true CN111722909A (zh) | 2020-09-29 |
Family
ID=72566616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010537318.9A Withdrawn CN111722909A (zh) | 2020-06-12 | 2020-06-12 | 一种虚拟机迁移方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111722909A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022143717A1 (zh) * | 2020-12-29 | 2022-07-07 | 华为云计算技术有限公司 | 一种虚拟机迁移方法、装置及系统 |
CN117519908A (zh) * | 2023-12-29 | 2024-02-06 | 珠海星云智联科技有限公司 | 一种虚拟机热迁移方法、计算机设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821158A (zh) * | 2012-08-20 | 2012-12-12 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
CN104598303A (zh) * | 2013-10-31 | 2015-05-06 | 中国电信股份有限公司 | 基于kvm的虚拟机间在线迁移方法与装置 |
CN105760218A (zh) * | 2016-01-05 | 2016-07-13 | 杭州华三通信技术有限公司 | 一种虚拟机在线迁移方法及装置 |
CN110489150A (zh) * | 2019-08-26 | 2019-11-22 | 深信服科技股份有限公司 | 一种虚拟机热升级方法、装置及其相关设备 |
-
2020
- 2020-06-12 CN CN202010537318.9A patent/CN111722909A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821158A (zh) * | 2012-08-20 | 2012-12-12 | 广州杰赛科技股份有限公司 | 一种实现虚拟机迁移的方法和云系统 |
CN104598303A (zh) * | 2013-10-31 | 2015-05-06 | 中国电信股份有限公司 | 基于kvm的虚拟机间在线迁移方法与装置 |
CN105760218A (zh) * | 2016-01-05 | 2016-07-13 | 杭州华三通信技术有限公司 | 一种虚拟机在线迁移方法及装置 |
CN110489150A (zh) * | 2019-08-26 | 2019-11-22 | 深信服科技股份有限公司 | 一种虚拟机热升级方法、装置及其相关设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022143717A1 (zh) * | 2020-12-29 | 2022-07-07 | 华为云计算技术有限公司 | 一种虚拟机迁移方法、装置及系统 |
CN117519908A (zh) * | 2023-12-29 | 2024-02-06 | 珠海星云智联科技有限公司 | 一种虚拟机热迁移方法、计算机设备及介质 |
CN117519908B (zh) * | 2023-12-29 | 2024-04-09 | 珠海星云智联科技有限公司 | 一种虚拟机热迁移方法、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
CN108984266B (zh) | 一种虚拟机的管理方法、装置及系统 | |
CN111787126B (zh) | 容器创建方法、服务器及存储介质 | |
CN109558212B (zh) | 一种物理设备的虚拟化管理方法、系统、物理设备及介质 | |
US11809901B2 (en) | Migrating the runtime state of a container between two nodes | |
CN107632937B (zh) | 一种对虚拟机集群进行测试的方法、装置、可读存储介质 | |
WO2013006801A2 (en) | Combined live migration and storage migration using file shares and mirroring | |
CN113127133B (zh) | 跨平台的虚拟机热迁移方法、装置、设备和介质 | |
CN110704161B (zh) | 虚拟机创建方法、装置及计算机设备 | |
KR101913346B1 (ko) | 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치 | |
CN111722909A (zh) | 一种虚拟机迁移方法、系统、设备及存储介质 | |
US11232066B2 (en) | Method for data migration and terminal | |
JPWO2017145272A1 (ja) | データ移行方法及び計算機システム | |
CN112328365A (zh) | 一种虚拟机迁移方法、装置、设备及存储介质 | |
CN115599302A (zh) | 一种数据写入方法、装置、设备及存储介质 | |
US11032371B2 (en) | Data migration using read function triggers | |
US11076027B1 (en) | Network communications protocol selection based on network topology or performance | |
CN107168774B (zh) | 一种基于本地存储的虚拟机迁移方法及系统 | |
CN107656796B (zh) | 一种虚拟机冷迁移方法、系统及设备 | |
CN112711469A (zh) | 云主机迁移方法、装置、计算机设备和存储介质 | |
CN107783826B (zh) | 一种虚拟机迁移方法、装置及系统 | |
JP2009251756A (ja) | クライアント装置、分散ファイルシステム、共有リソース多重化方法およびプログラム | |
CN116483274A (zh) | 一种分布式块存储卷在线迁移方法、装置、设备及介质 | |
CN114490189A (zh) | 一种云平台数据库备份方法、装置、电子设备及存储介质 | |
CN110377400B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200929 |