CN115016901B - 一种虚拟机的迁移方法、装置、介质、及电子设备 - Google Patents

一种虚拟机的迁移方法、装置、介质、及电子设备 Download PDF

Info

Publication number
CN115016901B
CN115016901B CN202210947809.XA CN202210947809A CN115016901B CN 115016901 B CN115016901 B CN 115016901B CN 202210947809 A CN202210947809 A CN 202210947809A CN 115016901 B CN115016901 B CN 115016901B
Authority
CN
China
Prior art keywords
virtual machine
data
newly added
host
target 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.)
Active
Application number
CN202210947809.XA
Other languages
English (en)
Other versions
CN115016901A (zh
Inventor
周凯
李睿博
张栋
刘立伟
王根镇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AVIC INTERNATIONAL E-BUSINESS Inc
Original Assignee
AVIC INTERNATIONAL E-BUSINESS Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by AVIC INTERNATIONAL E-BUSINESS Inc filed Critical AVIC INTERNATIONAL E-BUSINESS Inc
Priority to CN202210947809.XA priority Critical patent/CN115016901B/zh
Publication of CN115016901A publication Critical patent/CN115016901A/zh
Application granted granted Critical
Publication of CN115016901B publication Critical patent/CN115016901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本申请涉及虚拟机技术领域,具体而言,涉及一种虚拟机的迁移方法、装置、介质、及电子设备,该方法包括:复制安置在初始主机中的虚拟机,得到虚拟机镜像,并将虚拟机镜像传输至目标主机;在初始主机中检测与虚拟机相关联的新增数据的数据量;如果数据量大于数据量阈值,则复制新增数据,得到第一新增数据镜像,并将第一新增数据镜像传输至目标主机;返回执行在初始主机中检测与虚拟机相关联的新增数据的数据量的步骤,直至数据量小于或等于所述数据量阈值;触发在目标主机上启动虚拟机,以完成虚拟机的迁移。本申请的技术方案可以将虚拟机的迁移时间控制在一定范围内,实现虚拟机的实时迁移,优化用户的使用感受。

Description

一种虚拟机的迁移方法、装置、介质、及电子设备
技术领域
本申请涉及虚拟机技术领域,具体而言,涉及一种虚拟机的迁移方法、装置、介质、及电子设备。
背景技术
在需要针虚拟机进行迁移时,往往需要关闭主机或者挂起主机,会造成用户机器的长时间无响应,而且如果用户的虚拟机镜像文件过大也会造成长时间的丢包,严重影响用户的使用。
发明内容
本申请的实施例提供了一种虚拟机的迁移方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以将虚拟机的迁移时间控制在一定范围内,从而实现虚拟机的实时迁移,最终优化用户的使用感受。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种虚拟机的迁移方法,所述方法包括:复制安置在初始主机中的虚拟机,得到虚拟机镜像,并将所述虚拟机镜像传输至目标主机;在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量;如果所述数据量大于数据量阈值,则复制新增数据,得到第一新增数据镜像,并将所述第一新增数据镜像传输至所述目标主机;返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,直至所述数据量小于或等于所述数据量阈值;触发在所述目标主机上启动所述虚拟机,以完成所述虚拟机的迁移。
在本申请的一些实施例中,所述在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量,包括:在将所述虚拟机镜像传输至所述目标主机结束之后,在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量。
在本申请的一些实施例中,在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量之后,所述方法还包括:获取初始主机与目标主机之间的数据传输速度;根据所述数据传输速度确定所述数据量阈值,所述数据量阈值与所述数据传输速度正相关。
在本申请的一些实施例中,所述触发在所述目标主机上启动所述虚拟机,包括:如果所述数据量小于或等于数据量阈值,则复制新增数据,得到第二新增数据镜像,并将所述第二新增数据镜像传输至目标主机;在将所述第二新增数据镜像传输至目标主机结束之后,触发在所述目标主机上启动所述虚拟机。
在本申请的一些实施例中,在触发在所述目标主机上启动所述虚拟机之前,所述方法还包括:获取返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤的返回次数;如果所述返回次数大于第一预设次数,则暂停返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,经过预设时间后再继续返回执行。
在本申请的一些实施例中,基于前述方案,在触发在所述目标主机上启动所述虚拟机之前,所述方法还包括:获取暂停返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤的暂停次数,如果所述暂停次数大于第二预设次数,则将所述预设时间延长。
在本申请的一些实施例中,所述在所述目标主机上启动所述虚拟机,包括:在所述目标主机上创建空白虚拟机,将所述虚拟机镜像和所述第一新增数据镜像导入所述空白虚拟机,以启动所述虚拟机。
根据本申请实施例的一个方面,提供了一种虚拟机的迁移装置,所述装置包括:第一复制单元,被用于复制安置在初始主机中的虚拟机,得到虚拟机镜像,并将所述虚拟机镜像传输至目标主机;检测单元,被用于在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量;第二复制单元,被用于如果所述数据量大于数据量阈值,则复制新增数据,得到第一新增数据镜像,并将所述第一新增数据镜像传输至所述目标主机;返回单元,被用于返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,直至所述数据量小于或等于所述数据量阈值;触发单元,被用于触发在所述目标主机上启动所述虚拟机,以完成所述虚拟机的迁移。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如上述的虚拟机的迁移方法所执行的操作。
根据本申请实施例的一个方面,提供了一种电子设备,其特征在于,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如上述的虚拟机的迁移方法的指令。
在本申请的一些实施例所提供的技术方案中,通过可以先针对虚拟机进行快照,对虚拟机的磁盘文件进行复制,生成虚拟机镜像之后将所述虚拟机镜像通过后台网络传输至目标主机,再判断传输过程中的新增文件的大小,判断是否需要传送至目标主机,直到出现不需要传输至目标主机的新增文件或者可以通过实时迁移功能传输至目标主机的新增文件,然后在目标主机上重新启动虚拟机,完成虚拟机的迁移。可以在最大程度上降低虚拟机迁移时用户主机的挂起时间,将虚拟机的迁移时间控制在一定范围内,从而实现虚拟机的实时迁移,最终优化用户的使用感受。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了根据本申请一个实施例的虚拟机的迁移方法的硬件场景示意图;
图2示出了根据本申请一个实施例的虚拟机的迁移方法的流程简图;
图3示出了根据本申请一个实施例的虚拟机的迁移方法的流程简图;
图4示出了根据本申请一个实施例的虚拟机的迁移方法的流程简图;
图5示出了根据本申请一个实施例的虚拟机的迁移方法的流程简图;
图6示出了根据本申请一个实施例的虚拟机的迁移装置的框图;
图7示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请中的实施例有涉及到关于云平台的技术,即云计算平台技术,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。
本申请中的实施例有涉及到关于虚拟机的技术,虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
需要指出的是,本申请实施例对虚拟机的类型不做限制,例如可以是Xen虚拟机,KVM(Kernel Virtual Machine,内核虚拟机),hyperv虚拟机(微软的虚拟化技术)等,都应在本申请实施例的保护范围之内。
需要指出的是,本申请的实施例中所提及的虚拟机快照保存了虚拟机在指定时间点的状态,方便回滚。
请参阅图1。
图1示出了根据本申请一个实施例的虚拟机的迁移方法的硬件场景示意图,如图1所示,初始主机101可以通过网络与目标主机102进行连接,上述网络包括但不限于:广域网、城域网或局域网;上述初始主机101以及目标主机102包括但不限于:巨型机、大型机、中型机、小型机、微型机或其他各种能够运行虚拟机的物理设备。
请参阅图2。
图2示出了根据本申请一个实施例的虚拟机的迁移方法的流程简图,如图2所示,所述方法可以包括步骤S201-S205:
步骤S201,复制安置在初始主机中的虚拟机,得到虚拟机镜像,并将所述虚拟机镜像传输至目标主机。
步骤S202,在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量。
步骤S203,如果所述数据量大于数据量阈值,则复制新增数据,得到第一新增数据镜像,并将所述第一新增数据镜像传输至所述目标主机。
步骤S204,返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,直至所述数据量小于或等于所述数据量阈值。
步骤S205,触发在所述目标主机上启动所述虚拟机,以完成所述虚拟机的迁移。
在本申请中,可以先针对虚拟机进行快照,对虚拟机的磁盘文件进行复制,生成虚拟机镜像之后将所述虚拟机镜像通过后台网络传输至目标主机,再判断传输过程中的新增文件的大小,判断是否需要传送至目标主机,直到出现不需要传输至目标主机的新增文件或者可以通过实时迁移功能传输至目标主机的新增文件,然后在目标主机上重新启动虚拟机,完成虚拟机的迁移。
在本申请中,通过后台网络进行传输时,由于用户可能还在对虚拟机进行操作,因此会生成一定数据量的新增数据,即脏数据(脏数据,是指在虚拟机运行过程中发生变更的数据),而为了最大程度减少丢包,因此可以在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量,判断新增数据的数据量和数据量阈值的关系,分别采取不同的措施。
在本申请中,当新增数据的数据量大于数据量阈值时,可以判断新增数据的实时传输时间相对较长或者新增文件数据量相对较小,如果不传输也会引起较大程度的丢包,需要挂起用户虚拟机相对较长的时间,因此无法进行实时传输,可以对新增文件进行快照,通过后台网络进行传输,此时又会生成新的新增文件。可以再对新增文件进行数据量的判断,当新增数据的数据量小于数据量阈值时,可以判断新增数据的实时传输时间相对较短或者新增文件数据量相对较小,如果不传输也不会引起较大程度的丢包。此时就可根据完成传输的镜像文件在目标主机上启动虚拟机,其中,完成传输的镜像文件包括:虚拟机镜像文件和数据量相对较大的新增文件的镜像文件,即所述第一新增数据镜像。
在本申请的另一个实施例中,所述在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的方法可以包括:在将所述虚拟机镜像传输至所述目标主机结束之后,可以在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量。
在本申请中,当虚拟机镜像通过后台网络进行传输时,由于用户可能还在对虚拟机进行操作,因此会生成一定数据量的新增数据,即脏数据(脏数据,是指在虚拟机运行过程中发生变更的数据),而为了最大程度减少丢包,因此可以在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量,判断新增数据的数据量和数据量阈值的关系,分别采取不同的措施。
在本申请中,还可以引入qemu: 一个开源的全虚拟化解决方案,qemu可以单独模拟cpu和各种外设,也可以和kvm联用,发挥kvm的性能,qemu的migration可以将虚拟机实时迁移到其他主机上,无需关机,但是会把客户机挂起,如果客户机较大,花费较长时间,客户机处于长时间无法操作的挂起状态,本申请可以将迁移和快照结合,qemu可以将对虚拟机快照后的文件作为backing file,对客户机新的改动会放到新的img镜像中,先将虚拟机镜像传输到目标主机,然后将客户机挂起,实时传输新的容量较小的新增文件img就可以实现实时无感知迁移。
需要说明的是,kvm: 在硬件支持虚拟化(intel VT, AMD-V)的X86平台上实现了全虚拟化功能,虚拟cpu和内存; 但是用户不能直接操作内核,所以需要使用一些工具,如qemu来操作kvm。
请参阅图3。
图3示出了根据本申请一个实施例的虚拟机的迁移方法的流程简图,如图3所示,在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量之后,所述方法还可以包括步骤S301-S302:
步骤S301,获取初始主机与目标主机之间的数据传输速度。
步骤S302,根据所述数据传输速度确定所述数据量阈值,所述数据量阈值与所述数据传输速度正相关。
在本申请中,所述数据量阈值实际是针对迁移过程的丢包率进行设定,当规定了在虚拟机的迁移任务中只能丢规定数量的包而且初始主机和目标主机之间的传输速度相对稳定,就可以确定所述数据量阈值的大小。
由于初始主机和目标主机之间通过网络连接,而在本申请的实施过程中,不同主机之间的网络连接情况有区别,因此在确定所述数据量阈值之前需要先针对初始主机和目标主机之间的数据传输速度进行检测。
因此可以根据以下公式对数据量阈值进行计算:
Img= 3×( min(MaxT, MaxS)–∑AvgS(i) );
min(MaxT, MaxS)–∑AvgS(i)可以表征目标主机和初始主机的数据传输速度。其中,MaxT为目标主机最大传输速率,MaxS 为初始主机最大传输速率,AvgS(i)为初始主机当前虚拟机的平均传输速率,Img:为数据量阈值。
在本申请中,在使用实时迁移之前,对用户的虚拟机进行快照的创建,然后复制到目标主机,复制完成后检查此过程中产生的新增的数据大小,如果过大再次进行快照的创建,再次复制快照,直到新增文件的数据量大小在一个传输时间非常小的范围内,然后使用virsh migrate live命令实时迁移到目标主机。因此整体实时迁移的时间是可控的,不会影响用户服务,最终结果控制在丢3包内,或者说新增文件的实时传输时间在3秒以内。
请参阅图4。
图4示出了根据本申请一个实施例的虚拟机的迁移方法的流程简图,如图4所示,所述触发在所述目标主机上启动所述虚拟机的方法可以包括步骤S401-S402:
步骤S401,如果所述数据量小于或等于数据量阈值,则复制新增数据,得到第二新增数据镜像,并将所述第二新增数据镜像传输至目标主机。
步骤S402,在将所述第二新增数据镜像传输至目标主机结束之后,触发在所述目标主机上启动所述虚拟机。
在本申请中,当新增数据的数据量小于数据量阈值时,可以判断新增数据的实时传输时间相对较短或者新增文件数据量相对较小,可以将第二新增数据镜像实时传输至目标主机,触发在所述目标主机上启动所述虚拟机的指令。而第二新增数据镜像的传输时间相对较短,期间新增的数据可以忽略不计,丢包程度相对较低,因此可以实现迁移的低丢包率。
请参阅图5。
图5示出了根据本申请一个实施例的虚拟机的迁移方法的流程简图,如图5所示,在触发在所述目标主机上启动所述虚拟机之前,所述方法还可以包括步骤S501-S503:
步骤S501,获取返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤的返回次数。
步骤S502,如果所述返回次数大于第一预设次数,则暂停返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,经过预设时间后再继续返回执行。
步骤S503,获取暂停返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤的暂停次数,如果所述暂停次数大于第二预设次数,则将所述预设时间延长。
在本申请中,如果所述返回次数大于10次仍不能完成,说明用户短时间写入过多,则暂时挂起迁移任务,暂停返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,经过所述预设时间10分钟再次继续迁移任务。如果任务挂起重试次超过5,即暂停返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤的暂停次数超过5次,则将所述预设时间调整为1小时。
在本申请中,在目标主机上启动虚拟机的方法可以包括:在所述目标主机上创建空白虚拟机,将所述虚拟机镜像和所述第一新增数据镜像导入所述空白虚拟机,以启动所述虚拟机。
为了使本领域的技术人员可以更深入理解本申请,接下来将以一个完整实施例进行说明。
现有一虚拟机,由于用户的工作地理位置发生变化,导致虚拟机和用户之间存在较高的连接延迟,需要对虚拟机进行迁移。由于用户在一直使用虚拟机,所以可以采取本申请提供的迁移方法,将虚拟机的迁移时间控制在一定范围内,从而实现虚拟机的实时迁移。
1、复制安置在初始主机中的虚拟机,得到虚拟机镜像,并将所述虚拟机镜像传输至目标主机。
2、在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量为500 MB。
3、获取初始主机与目标主机之间的数据传输速度为100MB/s。
4、根据所述数据传输速度确定所述数据量阈值,所述数据量阈值与所述数据传输速度正相关,将数据量阈值确定为:3×100=300 MB。
5、复制新增数据,得到新增数据镜像A,并将新增数据镜像A传输至所述目标主机。
6、在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量为450MB,复制新增数据,得到新增数据镜像B,并将新增数据镜像B传输至所述目标主机。
7、在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量为400MB,复制新增数据,得到新增数据镜像C,并将新增数据镜像C传输至所述目标主机。
8、在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量为320MB,复制新增数据,得到新增数据镜像D,并将新增数据镜像D传输至所述目标主机。
9、在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量为50MB,复制新增数据,得到新增数据镜像E,并将新增数据镜像E传输至所述目标主机。
10、在所述目标主机上创建空白虚拟机,将所述虚拟机镜像、新增数据镜像A、新增数据镜像B、新增数据镜像C、新增数据镜像D、以及新增数据镜像E导入所述空白虚拟机,以启动所述虚拟机,完成所述虚拟机的迁移。
接下来将结合附图,对本申请的一个装置实施例进行说明。
请参阅图6。
图6示出了根据本申请一个实施例的虚拟机的迁移装置的框图,如图6所示,所述装置可以包括:第一复制单元601、检测单元602、第二复制单元603、返回单元604、以及触发单元605。
所述装置的具体配置可以为:
第一复制单元601,被用于复制安置在初始主机中的虚拟机,得到虚拟机镜像,并将所述虚拟机镜像传输至目标主机。
检测单元602,被用于在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量。
第二复制单元603,被用于如果所述数据量大于数据量阈值,则复制新增数据,得到第一新增数据镜像,并将所述第一新增数据镜像传输至所述目标主机。
返回单元604,被用于返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,直至所述数据量小于或等于所述数据量阈值。
触发单元605,被用于触发在所述目标主机上启动所述虚拟机,以完成所述虚拟机的迁移。
请参阅图7。
图7示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图7示出的电子设备的计算机系统700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(Central Processing Unit,CPU)701,其可以根据存储在只读存储器(Read-Only Memory,ROM)702中的程序或者从储存部分708加载到随机访问存储器(Random Access Memory,RAM)703中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(Input/Output,I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分707;包括硬盘等的储存部分708;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入储存部分708。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中所述的虚拟机的迁移方法。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的虚拟机的迁移方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种虚拟机的迁移方法,其特征在于,所述方法包括:
复制安置在初始主机中的虚拟机,得到虚拟机镜像,并将所述虚拟机镜像传输至目标主机;
在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量;
如果所述数据量大于数据量阈值,则复制新增数据,得到第一新增数据镜像,并将所述第一新增数据镜像传输至所述目标主机;
返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,直至所述数据量小于或等于所述数据量阈值;
触发在所述目标主机上启动所述虚拟机,以完成所述虚拟机的迁移。
2.根据权利要求1所述的方法,其特征在于,所述在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量,包括:
在将所述虚拟机镜像传输至所述目标主机结束之后,在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量。
3.根据权利要求1所述的方法,其特征在于,在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量之后,所述方法还包括:
获取所述初始主机与所述目标主机之间的数据传输速度;
根据所述数据传输速度确定所述数据量阈值,所述数据量阈值与所述数据传输速度正相关。
4.根据权利要求1所述的方法,其特征在于,所述触发在所述目标主机上启动所述虚拟机,包括:
如果所述数据量小于或等于数据量阈值,则复制新增数据,得到第二新增数据镜像,并将所述第二新增数据镜像传输至所述目标主机;
在将所述第二新增数据镜像传输至所述目标主机结束之后,触发在所述目标主机上启动所述虚拟机。
5.根据权利要求1所述的方法,其特征在于,在触发在所述目标主机上启动所述虚拟机之前,所述方法还包括:
获取返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤的返回次数;
如果所述返回次数大于第一预设次数,则暂停返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,经过预设时间后再继续返回执行。
6.根据权利要求5所述的方法,其特征在于,在触发在所述目标主机上启动所述虚拟机之前,所述方法还包括:
获取暂停返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤的暂停次数,如果所述暂停次数大于第二预设次数,则将所述预设时间延长。
7.根据权利要求1所述的方法,其特征在于,所述在所述目标主机上启动所述虚拟机,包括:
在所述目标主机上创建空白虚拟机,将所述虚拟机镜像和所述第一新增数据镜像导入所述空白虚拟机,以启动所述虚拟机。
8.一种虚拟机的迁移装置,其特征在于,所述装置包括:
第一复制单元,被用于复制安置在初始主机中的虚拟机,得到虚拟机镜像,并将所述虚拟机镜像传输至目标主机;
检测单元,被用于在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量;
第二复制单元,被用于如果所述数据量大于数据量阈值,则复制新增数据,得到第一新增数据镜像,并将所述第一新增数据镜像传输至所述目标主机;
返回单元,被用于返回执行在所述初始主机中检测与所述虚拟机相关联的新增数据的数据量的步骤,直至所述数据量小于或等于所述数据量阈值;
触发单元,被用于触发在所述目标主机上启动所述虚拟机,以完成所述虚拟机的迁移。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求 1 至7任一项所述的虚拟机的迁移方法所执行的操作。
10.一种电子设备,其特征在于,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如权利要求1 至7中任一所述的虚拟机的迁移方法的指令。
CN202210947809.XA 2022-08-09 2022-08-09 一种虚拟机的迁移方法、装置、介质、及电子设备 Active CN115016901B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210947809.XA CN115016901B (zh) 2022-08-09 2022-08-09 一种虚拟机的迁移方法、装置、介质、及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210947809.XA CN115016901B (zh) 2022-08-09 2022-08-09 一种虚拟机的迁移方法、装置、介质、及电子设备

Publications (2)

Publication Number Publication Date
CN115016901A CN115016901A (zh) 2022-09-06
CN115016901B true CN115016901B (zh) 2022-10-14

Family

ID=83066020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210947809.XA Active CN115016901B (zh) 2022-08-09 2022-08-09 一种虚拟机的迁移方法、装置、介质、及电子设备

Country Status (1)

Country Link
CN (1) CN115016901B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821158A (zh) * 2012-08-20 2012-12-12 广州杰赛科技股份有限公司 一种实现虚拟机迁移的方法和云系统
CN104683444A (zh) * 2015-01-26 2015-06-03 电子科技大学 一种数据中心多虚拟机的数据迁移方法
CN106469117A (zh) * 2015-08-14 2017-03-01 中国电信股份有限公司 一种用于虚拟机存储迁移的存储资源管理方法及装置
CN106598698A (zh) * 2016-11-25 2017-04-26 山东乾云启创信息科技股份有限公司 基于迁移方式加速虚拟机批量启动的方法及系统
CN112783599A (zh) * 2019-11-05 2021-05-11 阿里巴巴集团控股有限公司 虚拟机热迁移方法、装置、终端设备及计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3221788A1 (en) * 2014-11-21 2017-09-27 Telefonaktiebolaget LM Ericsson (publ) Monitoring of virtual machines in a data center

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821158A (zh) * 2012-08-20 2012-12-12 广州杰赛科技股份有限公司 一种实现虚拟机迁移的方法和云系统
CN104683444A (zh) * 2015-01-26 2015-06-03 电子科技大学 一种数据中心多虚拟机的数据迁移方法
CN106469117A (zh) * 2015-08-14 2017-03-01 中国电信股份有限公司 一种用于虚拟机存储迁移的存储资源管理方法及装置
CN106598698A (zh) * 2016-11-25 2017-04-26 山东乾云启创信息科技股份有限公司 基于迁移方式加速虚拟机批量启动的方法及系统
CN112783599A (zh) * 2019-11-05 2021-05-11 阿里巴巴集团控股有限公司 虚拟机热迁移方法、装置、终端设备及计算机存储介质

Also Published As

Publication number Publication date
CN115016901A (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
US9172587B2 (en) Providing automated quality-of-service (‘QoS’) for virtual machine migration across a shared data center network
US10761949B2 (en) Live partition mobility with I/O migration
US9317314B2 (en) Techniques for migrating a virtual machine using shared storage
EP2577450B1 (en) Virtual machine migration techniques
US9052949B2 (en) Scheduling a processor to support efficient migration of a virtual machine
CN109168328B (zh) 虚拟机迁移的方法、装置和虚拟化系统
WO2020063432A1 (zh) 一种升级虚拟化模拟器的方法和装置
CN110737512A (zh) 跨平台虚拟机在线迁移方法及相关组件
US20130298119A1 (en) Management system and method using the same
US20120266163A1 (en) Virtual Machine Migration
US11675611B2 (en) Software service intervention in a computing system
WO2022041507A1 (zh) 3d渲染方法及系统
CN111611055B (zh) 一种虚拟设备最优空闲时间迁移法、装置及可读存储介质
CN111209080A (zh) 一种图形处理器透传的方法
US10467078B2 (en) Crash dump extraction of guest failure
CN111857961A (zh) 一种显卡透传方法、虚拟桌面管理系统及计算机设备
CN115016901B (zh) 一种虚拟机的迁移方法、装置、介质、及电子设备
US9658894B2 (en) Automatically and dynamically reclaiming resources during virtual machine decommission
US8868750B2 (en) Information processing device, computer system and program
KR102098905B1 (ko) 호스트의 테스트 시나리오로 제어장치의 복수의 파티션간 영향도를 측정하기 위한 방법, 동일 방법을 구현하기 위한 호스트 및 시스템, 그리고 동일 방법을 기록하기 위한 매체
CN113703913B (zh) 设备测试方法及装置
US10671432B2 (en) Intelligent memory management through peer learning
EP4155922A1 (en) Reliable device assignment for virtual machine based containers
EP3326062B1 (en) Mitigation of the impact of intermittent unavailability of remote storage on virtual machines
CN110955491A (zh) 一种VMware VAAI全拷贝技术测试的方法和设备

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhou Kai

Inventor after: Li Ruibo

Inventor after: Zhang Dong

Inventor after: Liu Liwei

Inventor after: Wang Genzhen

Inventor before: Zhou Kai

Inventor before: Li Ruibo

Inventor before: Zhang Dong

Inventor before: Liu Liwei

Inventor before: Wang Genzhen