CN106681802A - 虚拟机迁移方法、装置及系统 - Google Patents
虚拟机迁移方法、装置及系统 Download PDFInfo
- Publication number
- CN106681802A CN106681802A CN201510750560.3A CN201510750560A CN106681802A CN 106681802 A CN106681802 A CN 106681802A CN 201510750560 A CN201510750560 A CN 201510750560A CN 106681802 A CN106681802 A CN 106681802A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- machine
- running status
- physical
- business
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- 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
Abstract
本发明实施例提供一种虚拟机迁移方法、装置及系统。该虚拟机迁移方法包括:获取云计算环境中虚拟机的运行状态;确定所述虚拟机的运行状态是否为亚健康运行状态;若所述虚拟机的运行状态为亚健康运行状态,则指示将所述虚拟机上运行的业务迁移到目的虚拟机,所述目的虚拟机的运行状态为健康运行状态。本发明实施例通过将运行状态为亚健康运行状态的虚拟机上运行的业务迁移到目的虚拟机,也就是运行状态为健康运行状态的虚拟机上,来降低虚拟机变慢、内存泄漏问题或静默故障问题等亚健康问题带来的影响,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
Description
技术领域
本发明实施例涉及云计算技术,尤其涉及一种虚拟机迁移方法、装置及系统。
背景技术
云计算(cloud computing)是基于互联网的相关服务的使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。其中,云计算环境中有数量庞大的虚拟机(Virtual Machine,简称:VM),虚拟机是虚拟的计算资源单位,每台物理机上可以同时运行多个虚拟机,常见的虚拟机管理平台有基于内核的虚拟机(Kernel-based Virtual Machine,简称:KVM),Xen,Hyper-V等。
在实际应用中,虚拟机运行一段时间(特别是时间较长时)后反应变慢,类似反应变慢这样的亚健康问题是非常普遍和常见的故障。用户的业务体验变差。
发明内容
本发明提供一种虚拟机迁移方法、装置及系统,以降低虚拟机亚健康问题带来的影响,提升云计算环境和虚拟机的运行效率,改善用户体验。
第一方面,本发明提供一种虚拟机迁移方法,包括:获取云计算环境中虚拟机的运行状态;确定所述虚拟机的运行状态是否为亚健康运行状态;若所述虚拟机的运行状态为亚健康运行状态,则指示将所述虚拟机上运行的业务迁移到目的虚拟机,所述目的虚拟机的运行状态为健康运行状态。
通过将运行状态为亚健康运行状态的虚拟机上运行的业务迁移到目的虚拟机,也就是运行状态为健康运行状态的虚拟机上,来降低虚拟机变慢、内存泄漏问题或静默故障问题等亚健康问题带来的影响,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
在第一方面的第一种实现方式中,所述获取云计算环境中虚拟机的运行状态,包括:接收所述虚拟机发出的报文,所述报文携带所述虚拟机的运行状态。相应地,确定所述虚拟机的运行状态是否为亚健康运行状态,包括:若所述运行状态包括用于表征亚健康问题的信息,则确定所述虚拟机的运行状态为亚健康运行状态,若所述运行状态不包括用于表征亚健康问题的信息,则确定所述虚拟机的运行状态为健康运行状态。
在第一方面的第二种实现方式中,所述获取云计算环境中虚拟机的运行状态,包括:根据所述虚拟机启动时的时间戳,获得所述虚拟机的运行时长。相应地,确定所述虚拟机的运行状态是否为亚健康运行状态,包括:若所述虚拟机的运行时长大于预设阈值,则确定所述虚拟机的运行状态为亚健康运行状态,若所述虚拟机的运行时长小于或等于所述预设阈值,则确定所述虚拟机的运行状态为健康运行状态,所述预设阈值为虚拟机处于健康工作状态的时长。该实现方式可以根据虚拟机的运行时长对云计算环境进行滚动刷新,以解决上述虚拟机变慢的问题或常见的静默故障场景和问题,实现云计算环境中资源的刷新,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
在第一方面的第三种实现方式中,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:若所述云计算环境中各物理机的空闲资源大小的和大于所述云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第一热迁移步骤,所述第一热迁移步骤包括:将所述亚健康运行状态的虚拟机及其上运行的业务热迁移至所述目的虚拟机,所述目的虚拟机运行于第一目的物理机上,所述第一目的物理机为所述云计算环境中的物理机,所述亚健康运行状态的虚拟机热迁移前所运行的物理机为第一物理机,所述第一目的物理机不同于所述第一物理机,且所述第一目的物理机的空闲资源大小大于或等于热迁移至所述第一目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
在第一方面的第四种实现方式中,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:若所述云计算环境中各物理机的空闲资源大小的和小于或等于所述云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第二热迁移步骤,所述第二热迁移步骤包括:将所有亚健康运行状态的虚拟机中部分虚拟机及其上运行的业务热迁移至所述目的虚拟机,所述目的虚拟机运行于第二目的物理机上,所述目的物理机为所述云计算环境中的物理机,所述亚健康运行状态的虚拟机热迁移前所运行的物理机为第二物理机,所述第二目的物理机不同于所述第二物理机,且所述第二目的物理机的空闲资源大小大于或等于热迁移至所述第二目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
在第一方面的第五种实现方式中,对于业务进程部署模式为负荷分担的虚拟机,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:指示将所述运行状态为亚健康运行状态的虚拟机所负载的业务数据分发至至少一个目的虚拟机。该实现方式还可以在一定程度上使得云计算环境中每台物理机得到充分均衡的使用,避免出现某些物理机长期空闲不用,而某些物理机长期过度使用老化过快的问题,从而延长部分物理机的使用寿命。
在第一方面的第六种实现方式中,所述获取云计算环境中虚拟机的运行状态,包括:检测所述虚拟机内存是否存在内存泄漏。相应地,确定所述虚拟机的运行状态是否为亚健康运行状态,包括:若所述虚拟机存在内存泄漏,则确定所述虚拟机的运行状态为亚健康运行状态,若所述虚拟机不存在内存泄漏,则确定所述虚拟机的运行状态为健康运行状态。
在第一方面的第七种实现方式中,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:若所述云计算环境中各物理机的空闲资源大小的和大于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第一主备数据同步步骤,所述第一主备数据同步步骤包括:将所有存在内存泄漏的虚拟机中的状态数据同步至所述目的虚拟机,所述目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,所述目的虚拟机运行于所述云计算环境中的第三目的物理机上,且所述第三目的物理机的空闲资源大小大于或等于同步至所述第三目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
在第一方面的第八种实现方式中,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:若所述云计算环境中各物理机的空闲资源大小的和小于或等于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第二主备数据同步步骤,所述第二主备数据同步步骤包括:将所有存在内存泄漏的部分虚拟机中的状态数据同步至所述目的虚拟机,所述目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,所述目的虚拟机运行于所述云计算环境中的第四目的物理机上,且所述第四目的物理机的空闲资源大小大于或等于同步至所述第四目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
其中,对于检测出内存泄漏的虚拟机,采用主备虚拟机数据同步的方法对其进行迁移,避免将内存泄漏问题拷贝到其它虚拟机的现象,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
第二方面,本发明提供一种虚拟机迁移装置,包括:获取模块,用于获取云计算环境中虚拟机的运行状态;确定模块,用于确定所述虚拟机的运行状态是否为亚健康运行状态;处理模块,用于若所述确定模块确定所述虚拟机的运行状态为亚健康运行状态,则指示将所述虚拟机上运行的业务迁移到目的虚拟机,所述目的虚拟机的运行状态为健康运行状态。
通过虚拟机迁移装置实现将运行状态为亚健康运行状态的虚拟机上运行的业务迁移到目的虚拟机,也就是运行状态为健康运行状态的虚拟机上,来降低虚拟机变慢、内存泄漏问题或静默故障问题等亚健康问题带来的影响,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
在第二方面的第一种实现方式中,所述获取模块具体用于:接收所述虚拟机发出的报文,所述报文携带所述虚拟机的运行状态。相应地,所述确定模块具体用于:若所述运行状态包括用于表征亚健康问题的信息,则确定所述虚拟机的运行状态为亚健康运行状态,若所述运行状态不包括用于表征亚健康问题的信息,则确定所述虚拟机的运行状态为健康运行状态。
在第二方面的第二种实现方式中,所述获取模块具体用于:根据所述虚拟机启动时的时间戳,获得所述虚拟机的运行时长。相应地,所述确定模块具体用于:若所述虚拟机的运行时长大于预设阈值,则确定所述虚拟机的运行状态为亚健康运行状态,若所述虚拟机的运行时长小于或等于所述预设阈值,则确定所述虚拟机的运行状态为健康运行状态,所述预设阈值为虚拟机处于健康工作状态的时长。该实现方式可以根据虚拟机的运行时长对云计算环境进行滚动刷新,以解决上述虚拟机变慢的问题或常见的静默故障场景和问题,实现云计算环境中资源的刷新,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
在第二方面的第三种实现方式中,所述处理模块具体用于:若所述云计算环境中各物理机的空闲资源大小的和大于所述云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第一热迁移步骤,所述第一热迁移步骤包括:将所述亚健康运行状态的虚拟机及其上运行的业务热迁移至所述目的虚拟机,所述目的虚拟机运行于第一目的物理机上,所述第一目的物理机为所述云计算环境中的物理机,所述亚健康运行状态的虚拟机热迁移前所运行的物理机为第一物理机,所述第一目的物理机不同于所述第一物理机,且所述第一目的物理机的空闲资源大小大于或等于热迁移至所述第一目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
在第二方面的第四种实现方式中,所述处理模块具体用于:若所述云计算环境中各物理机的空闲资源大小的和小于或等于所述云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第二热迁移步骤,所述第二热迁移步骤包括:将所有亚健康运行状态的虚拟机中部分虚拟机及其上运行的业务热迁移至所述目的虚拟机,所述目的虚拟机运行于第二目的物理机上,所述目的物理机为所述云计算环境中的物理机,所述亚健康运行状态的虚拟机热迁移前所运行的物理机为第二物理机,所述第二目的物理机不同于所述第二物理机,且所述第二目的物理机的空闲资源大小大于或等于热迁移至所述第二目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
在第二方面的第五种实现方式中,对于业务进程部署模式为负荷分担的虚拟机,所述处理模块具体用于:指示将所述运行状态为亚健康运行状态的虚拟机所负载的业务数据分发至至少一个目的虚拟机。该实现方式还可以在一定程度上使得云计算环境中每台物理机得到充分均衡的使用,避免出现某些物理机长期空闲不用,而某些物理机长期过度使用老化过快的问题,从而延长部分物理机的使用寿命。
在第二方面的第六种实现方式中,所述获取模块具体用于:检测所述虚拟机内存是否存在内存泄漏。相应地,所述确定模块具体用于:若所述虚拟机存在内存泄漏,则确定所述虚拟机的运行状态为亚健康运行状态,若所述虚拟机不存在内存泄漏,则确定所述虚拟机的运行状态为健康运行状态。
在第二方面的第七种实现方式中,所述处理模块具体用于:若所述云计算环境中各物理机的空闲资源大小的和大于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第一主备数据同步步骤,所述第一主备数据同步步骤包括:将所有存在内存泄漏的虚拟机中的状态数据同步至所述目的虚拟机,所述目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,所述目的虚拟机运行于所述云计算环境中的第三目的物理机上,且所述第三目的物理机的空闲资源大小大于或等于同步至所述第三目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
在第二方面的第八种实现方式中,所述处理模块具体用于:若所述云计算环境中各物理机的空闲资源大小的和小于或等于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第二主备数据同步步骤,所述第二主备数据同步步骤包括:将所有存在内存泄漏的部分虚拟机中的状态数据同步至所述目的虚拟机,所述目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,所述目的虚拟机运行于所述云计算环境中的第四目的物理机上,且所述第四目的物理机的空闲资源大小大于或等于同步至所述第四目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
其中,对于检测出内存泄漏的虚拟机,采用主备虚拟机数据同步的方法对其进行迁移,避免将内存泄漏问题拷贝到其它虚拟机的现象,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
在上述实现方式中,所述指示执行第一热迁移步骤/第二热迁移步骤/第一主备数据同步步骤/第二主备数据同步步骤可以包括:在预设时刻,指示执行所述第一热迁移步骤/所述第二热迁移步骤/所述第一主备数据同步步骤/所述第二主备数据同步步骤,所述预设时刻为全天中业务量最少的时段中任意时刻。对应地,处理模块还可以用于在预设时刻,指示执行所述第一热迁移步骤/所述第二热迁移步骤/所述第一主备数据同步步骤/所述第二主备数据同步步骤。以实现在全天中业务量最少的时段中任意时刻进行虚拟机迁移,可最小程度影响虚拟机及其上运行的业务。
在上述实现方式中,所述指示执行第一热迁移步骤/第二热迁移步骤/第一主备数据同步步骤/第二主备数据同步步骤之前,还包括:按照所述云计算环境中各物理机的空闲资源大小由多至少的顺序,在所述云计算环境中各物理机中找到所述第一目的物理机/所述第二目的物理机/所述第三目的物理机/所述第四目的物理机。对应地,处理模块在指示执行虚拟机迁移之前,还可以按照所述云计算环境中各物理机的空闲资源大小由多至少的顺序,在所述云计算环境中各物理机中找到所述第一目的物理机/所述第二目的物理机/所述第三目的物理机/所述第四目的物理机。从而将亚健康运行状态的虚拟机及其上运行的业务集中到一部分空闲资源较多(按照物理机空闲资源的多少排序)的物理机上。
在上述实现方式中,所述方法还可以包括:若确定所述云计算环境中至少一个物理机上无虚拟机运行,则重启所述至少一个无虚拟机运行的物理机。或者,所述处理模块还用于:若确定所述云计算环境中至少一个物理机上无虚拟机运行,则重启所述至少一个无虚拟机运行的物理机。相对现有技术随时对虚拟机进行重启以排除故障的方法,本发明实施例在确定物理机上无虚拟机运行时再重启物理机进行刷新,从而保证虚拟机上业务的连续性,提高虚拟机上业务的可用性。
第三方面,本发明提供一种虚拟机迁移系统,包括:管理物理机和业务物理机,其中,所述管理物理机用于运行虚拟机管理平台,所述虚拟机管理平台包括如第二方面中任一实现方式所述的虚拟机迁移装置;所述业务物理机用于运行虚拟机,所述虚拟机包括健康代理模块,所述健康代理模块用于检测所述健康代理模块所在虚拟机的运行状态,并上报所述运行状态给所述虚拟机迁移装置。
在第三方面的第一种实现方式中,所述业务物理机还用于运行资源监控模块,所述资源监控模块用于监控所述业务物理机中空闲资源大小,并上报所述业务物理机的空闲资源大小给所述虚拟机迁移装置。
在上述实现方式中,所述运行状态包括以下任意一种或其组合:亚健康问题的信息、启动时的时间戳、内存泄漏及虚拟机中业务进程部署模式。
本发明的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为云计算环境的架构示例图;
图2为本发明虚拟机迁移方法实施例一的流程图;
图3为本发明虚拟机迁移装置实施例一的结构示意图;
图4为本发明虚拟机迁移系统实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
云计算环境可以包括多个宿主(host)机,如图1所示的云计算环境包括宿主机1、宿主机2以及运行有虚拟机管理平台的物理机(下文中成为管理物理机)3。每个宿主机上可运行至少一个虚拟机,这里,宿主机1上运行有虚拟机11和虚拟机12,宿主机2上运行有虚拟机21、虚拟机22和虚拟机23。其中,宿主机也即下文中的物理机或目的物理机。
在云计算环境中,通过虚拟机管理平台对云计算环境的中央管理控制,统一管理云计算环境内所有的物理资源和虚拟资源,例如,虚拟机生命周期和宿主机性能监测,等等。其中,虚拟机生命周期包括虚拟机的创建、启动、暂停、重启、关闭、迁移等。
现有技术中,虚拟机管理平台通过监测心跳信号检测故障。具体地,虚拟机每隔固定的时间向虚拟机管理平台发送一心跳信号;虚拟机管理平台周期性接收心跳信号,若几个周期内接收不到心跳信号,则认为该虚拟机故障,以此提供虚拟机故障的判断依据。但对于虚拟机由于运行时间较长所导致的变慢等亚健康问题以及内存泄漏问题和静默故障问题等,是通过上述方法检测不到的。因为即使由于上述问题已导致虚拟机的业务体验已经不佳,但若心跳信号仍正常,虚拟机管理平台也不会采取恢复措施,因此,无法保证云计算环境较高的运行效率和良好的用户体验。其中,静默故障是指不能被检测到的故障。
在本发明实施例中,虚拟机管理平台通过实时监测云计算环境中虚拟机的运行状态,判断虚拟机是否出现上述问题,并针对这些问题,对虚拟机上运行的业务进行迁移,实现云计算环境的滚动刷新,提升虚拟机和云计算环境的运行效率,改善用户的业务体验,并且提高云计算环境的自动化运维能力。且,本发明实施例实现简单,通用性强,对各种云计算平台均适用。这里所说的滚动刷新可以理解为以虚拟机为单位进行热迁移或数据同步,或者对虚拟机进行批次热迁移或数据同步,或者,对于业务进程部署模式为负荷分担的虚拟机执行负载均衡器业务分发,等等,具体实现过程可参考下述实施例,这里不再赘述。
图2为本发明虚拟机迁移方法实施例一的交互流程图。本发明实施例提供一种虚拟机迁移方法,如图1所示,该方法包括:
S201、虚拟机管理平台获取虚拟机的运行状态。
云计算环境中有数量庞大的虚拟机,每一虚拟机的启动时间、运行时长、出现的故障及业务进程部署模式等运行状态,也就是运行状态,都是相互独立的。因此,虚拟机可定期向虚拟机管理平台上报其运行状态;或者,虚拟机在虚拟机管理平台要求其上报运行状态时进行上报。对应地,虚拟机管理平台获取虚拟机的运行状态。
S202(可选)、虚拟机管理平台获取物理机的空闲资源大小。
每台物理机上可以同时运行多个虚拟机。物理机上的资源包括已被虚拟机占用的部分和空闲资源。由于每台物理机上运行的虚拟机的个数可能是不同的,因此,其剩余的空闲资源也是不同的。基于此,物理机可定期向虚拟机管理平台上报其空闲资源大小。或者,物理机在虚拟机管理平台要求其上报空闲资源大小时进行上报。对应地,虚拟机管理平台获取物理机的空闲资源大小。
需说明的是,本发明实施例不限制S202的执行顺序,只要保证S202在S204之前运行即可。
其中,虚拟机管理平台可以通过多种方式获取云计算环境中各物理机的空闲资源信息。例如,首先,获取物理机的资源使用信息;根据物理机的资源使用信息,获得物理机的空闲资源大小。其中,虚拟机管理平台对每台物理机监控的资源包括处理器和内存等,统计得出每台物理机有x%的空闲资源或可供y个虚拟机使用的空闲资源(单个VM资源使用量已知)等信息,并随着每台物理机的运行过程不断更新资源使用信息。或者,物理机本身已对空闲资源进行统计,此时,即虚拟机管理平台可直接被获取物理机的空闲资源大小。但本发明实施例不以此为限制。
另外,为了避免物理机用完空闲资源,物理机的空闲资源大小可以是对物理机的空闲资源扣除一定的余量之后的空闲资源大小。
S203、虚拟机管理平台确定虚拟机的运行状态是否为亚健康运行状态。
若虚拟机的运行状态为亚健康运行状态,则执行S204。若虚拟机的运行状态不为亚健康运行状态,则执行S205、结束流程。
S204、虚拟机管理平台指示将虚拟机上运行的业务迁移到目的虚拟机。
其中,目的虚拟机的运行状态为健康运行状态。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
在上述实施例的基础上,对于虚拟机变慢的问题,可以通过以下实施例克服。
第一种具体实施例中,S201可以包括:虚拟机管理平台接收虚拟机发出的报文,该报文携带虚拟机的运行状态。具体地,虚拟机定期检测例如CPU占用率,内存使用率,IO响应时间等多项指标,比如,根据这些指标是否超过各自对应的阈值来判断虚拟机是否存在变慢问题,从而检测虚拟机的健康状况。若检测到虚拟机变慢问题,则发出上述报文。
相应地,S203可以包括:若上述运行状态包括用于表征亚健康问题的信息,则确定虚拟机的运行状态为亚健康运行状态;若上述运行状态不包括用于表征亚健康问题的信息,则确定虚拟机的运行状态为健康运行状态。
第二种具体实施例中,S201可以包括:根据虚拟机启动时的时间戳,获得虚拟机的运行时长。具体地,在云计算环境中,当虚拟机启动时,记录该虚拟机的启动时刻,即时间戳,其中,时间戳应采用统一时区和格式等,以便于不同地理位置中虚拟机启动的时间戳的具有统一的标准。基于当前时间戳和虚拟机启动的时间戳的差值得出虚拟机的运行时长。
相应地,S203可以包括:若虚拟机的运行时长大于预设阈值,则确定该虚拟机的运行状态为亚健康运行状态;若虚拟机的运行时长小于或等于预设阈值,则确定该虚拟机的运行状态为健康运行状态。其中,预设阈值为虚拟机处于健康工作状态的时长。具体地,统计多个虚拟机自启动到运行状态变为亚健康运行状态(例如虚拟机运行速度变慢)所持续的时间值,确定该时间值为预设阈值,是根据历史经验值确定的。
在上述两种具体实施例的基础上,一种实现方式中,S204可以包括:若云计算环境中各物理机的空闲资源大小的和大于云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第一热迁移步骤,该第一热迁移步骤可以包括:将亚健康运行状态的虚拟机及其上运行的业务热迁移至目的虚拟机,目的虚拟机运行于第一目的物理机上,该第一目的物理机为云计算环境中的物理机,亚健康运行状态的虚拟机热迁移前所运行的物理机为第一物理机,第一目的物理机不同于该第一物理机,且第一目的物理机的空闲资源大小大于或等于热迁移至该第一目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
在上述两种具体实施例的基础上,另一种实现方式中,S204可以包括:若云计算环境中各物理机的空闲资源大小的和小于或等于云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第二热迁移步骤,该第二热迁移步骤可以包括:将所有亚健康运行状态的虚拟机中部分虚拟机及其上运行的业务热迁移至目的虚拟机,目的虚拟机运行于第二目的物理机上,该第二目的物理机为云计算环境中的物理机,亚健康运行状态的虚拟机热迁移前所运行的物理机为第二物理机,第二目的物理机不同于第二物理机,且第二目的物理机的空闲资源大小大于或等于热迁移至该第二目的物理机的所有虚拟机及其上运行的业务所占资源的大小。所有亚健康运行状态的虚拟机中除部分虚拟机之外的虚拟机不进行热迁移。
例如,a1个虚拟机存在变慢问题,假如所有物理机总的空闲资源(每台物理机扣除余量后)足够供a1个虚拟机使用,则指示将这a1个虚拟机及其上运行的业务全部热迁移到与原运行的第一物理机不同的第一目的物理机上;假如所有物理机总的空闲资源(每台物理机扣除余量后)仅够供b1个虚拟机(其中b1<a1)使用,则指示将其中b1个虚拟机及其上运行的业务热迁移到与原运行的第二物理机不同的第二目的物理机上,剩下的(a1-b1)个虚拟机及其上运行的业务不做热迁移。其中,所有物理机总的空闲资源(每台物理机扣除余量后)为各物理机扣除余量后的空闲资源之和;对于a1个虚拟机、b1个虚拟机,单个虚拟机的资源使用量是已知的。
在实际应用中,监控云计算环境中各物理机的资源使用情况,定期或周期性获取各物理机的资源使用信息,对各物理机的空闲资源扣除一定的余量(为了避免物理机用完空闲资源),然后按照扣除余量后的空闲资源从多到少对物理机进行排序,例如列表排序等。
例如,若发现有a2个虚拟机的运行时长超过预设阈值,比如120小时等,假如所有物理机总的空闲资源(每台物理机扣除余量后)足够供a2个虚拟机使用,则指示将这a2个虚拟机及其上运行的业务全部热迁移到与原运行的第一物理机不同的第一目的物理机上;假如所有物理机总的空闲资源(每台物理机扣除余量后)仅够供b2个虚拟机(其中b2<a2)使用,则指示将其中b2个虚拟机及其上运行的业务热迁移到与原运行的第二物理机不同的第二目的物理机上,剩下的(a2-b2)个虚拟机及其上运行的业务不做热迁移。其中,所有物理机总的空闲资源(每台物理机扣除余量后)为各物理机扣除余量后的空闲资源之和;对于a2个虚拟机、b2个虚拟机,单个虚拟机的资源使用量是已知的。
该实施方式可以根据虚拟机的运行时长对云计算环境进行滚动刷新,以解决上述虚拟机变慢的问题或常见的静默故障场景和问题,实现云计算环境中资源的刷新,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
需要说明的是,上述指示执行第一或第二热迁移步骤可以包括:在预设时刻,指示执行第一或第二热迁移步骤,该预设时刻可以为全天中业务量最少的时段中任意时刻。其中,全天中业务量较少的时段例如为全天24小时制中的2:00到4:00,或全天中其他时刻。另外,指示执行第一或第二热迁移步骤之前,还可以按照各物理机的空闲资源大小由多至少的顺序,确定第一或第二目的物理机。对所有亚健康运行状态的虚拟机指示执行第一热迁移步骤。或者,对所有亚健康运行状态的虚拟机中部分虚拟机指示执行第二热迁移步骤。可选地,在预设时刻,将承载业务的虚拟机热迁移集中到一部分空闲资源较多(按照物理机空闲资源的多少排序)的物理机上。
另一方面,在上述两种具体实施例的基础上,对于业务进程部署模式为负荷分担的虚拟机,S204可以包括:指示将该虚拟机所负载的业务数据分发至至少一个目的虚拟机。
这里,对于业务进程部署模式为负荷分担的虚拟机,采用负载均衡器(Load Balancer,简称:LB)业务分发的方法进行虚拟机迁移,从而避免执行热迁移步骤(第一热迁移步骤和第二热迁移步骤,或,第三热迁移步骤和第四热迁移步骤)或主备数据同步步骤(第一主备数据同步步骤和第二主备数据同步步骤)的性能开销。另外,该实施例还可以在一定程度上使得云计算环境中每台物理机得到充分均衡的使用,避免出现某些物理机长期空闲不用,而某些物理机长期过度使用老化过快的问题,从而延长部分物理机的使用寿命。且,该场景中,无需执行S202。
在图2所示实施例的基础上,对于虚拟机内存泄漏的问题,可以通过以下实施例克服。
其中,S201可以包括可以包括:检测虚拟机内存是否存在内存泄漏。内存泄漏是指由于疏忽或程序缺陷,导致系统一部分内存使用完毕之后未回收,无法再重复利用的现象,业界对内存泄漏问题已经有较多的研究和多种检测方法,此处不再赘述。
相应地,S203可以具体为:若虚拟机存在内存泄漏,则确定虚拟机的运行状态为亚健康运行状态,若虚拟机不存在内存泄漏,则确定虚拟机的运行状态为健康运行状态。
该实施例的一种实现方式中,S204可以包括:若云计算环境中各物理机的空闲资源大小的和,大于,云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第一主备数据同步步骤。该第一主备数据同步步骤可以包括:将所有存在内存泄漏的虚拟机中的状态数据同步至目的虚拟机,该目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,该目的虚拟机运行于云计算环境中的第三目的物理机上,且第三目的物理机的空闲资源大小,大于或等于,同步至该第三目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
该实施例的另一种实现方式中,S204可以包括:若云计算环境中各物理机的空闲资源大小的和小于或等于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第二主备数据同步步骤,该第二主备数据同步步骤可以包括:将所有存在内存泄漏的部分虚拟机中的状态数据同步至目的虚拟机,目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,目的虚拟机运行于云计算环境中的第四目的物理机上,且第四目的物理机的空闲资源大小,大于或等于,同步至第四目的物理机的所有虚拟机及其上运行的业务所占资源的大小。所有存在内存泄漏的虚拟机中除部分虚拟机之外的虚拟机不进行主备数据同步。
在实际应用中,监控云计算环境中各物理机的资源使用情况,定期或周期性获取各物理机的资源使用信息,对各物理机的空闲资源扣除一定的余量(为了避免物理机用完空闲资源),然后按照扣除余量后的空闲资源从多到少对物理机进行排序,例如列表排序等。
例如,若发现有a3个虚拟机的内存存在内存泄漏,假如所有物理机总的空闲资源(每台物理机扣除余量后)足够供a3个虚拟机使用,则指示将这a3个虚拟机中的状态数据全部同步至与原运行的第三物理机不同的第三目的物理机上;假如所有物理机总的空闲资源(每台物理机扣除余量后)仅够供b3个虚拟机(其中b3<a3)使用,则指示将其中b3个虚拟机中的状态数据同步至与原运行的第四物理机不同的第四目的物理机上,剩下的(a3-b3)个虚拟机不进行第二主备数据同步。其中,所有物理机总的空闲资源(每台物理机扣除余量后)为各物理机扣除余量后的空闲资源之和;对于a3个虚拟机、b3个虚拟机,单个虚拟机的资源使用量是已知的。
需要说明的是,上述指示执行第一或第二主备数据同步步骤可以包括:在预设时刻,指示执行第一或第二主备数据同步步骤,该预设时刻可以为全天中业务量最少的时段中任意时刻。全天中业务量较少的时段例如为全天24小时制中的2:00到4:00,或全天中其他时刻。另外,指示执行第一或第二主备数据同步步骤之前,还可以包括:按照各物理机的空闲资源信息由多至少的顺序确定第三目的物理机或第四目的物理机。对存在内存泄漏的虚拟机执行第一主备数据同步步骤,或者,对存在内存泄漏的虚拟机中部分虚拟机执行第二主备数据同步步骤。可选地,在预设时刻,将承载业务的虚拟机主备数据同步集中到一部分空闲资源较多(按照物理机空闲资源的多少排序)的物理机上。
本发明实施例对于检测出内存泄漏的虚拟机,采用主备虚拟机数据同步的方法对其进行迁移,避免将内存泄漏问题拷贝到其它虚拟机的现象,从而提升云计算环境和虚拟机的运行效率,改善用户体验。
在上述实施例的基础上,进一步地,该方法还可以包括:若确定云计算环境中物理机上无虚拟机运行,则重启该无虚拟机运行的物理机。本领域技术人员可以理解,在虚拟机迁移完成之后,虚拟机所运行的原物理机上的资源被释放,当一物理机在负载均衡器业务分发后空闲,即无虚拟机运行,则重启该物理机进行刷新。该经过刷新的物理机可以作为空闲物理机待用,或运行新的虚拟机。相对现有技术随时对虚拟机进行重启以排除故障的方法,本发明实施例在确定物理机上无虚拟机运行时再重启物理机进行刷新,从而保证虚拟机上业务的连续性,提高虚拟机上业务的可用性。
图3为本发明虚拟机迁移装置实施例一的结构示意图。如图3所示,虚拟机迁移装置30包括:获取模块31、确定模块32和处理模块33。
其中,获取模块31用于获取云计算环境中虚拟机的运行状态。确定模块32用于确定虚拟机的运行状态是否为亚健康运行状态。处理模块33用于若确定模块32确定虚拟机的运行状态为亚健康运行状态,则指示将虚拟机上运行的业务迁移到目的虚拟机,该目的虚拟机的运行状态为健康运行状态。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
其中,获取模块31可具体用于:接收虚拟机发出的报文。该报文携带虚拟机的运行状态。相应地,确定模块32可具体用于:若运行状态包括用于表征亚健康问题的信息,则确定虚拟机的运行状态为亚健康运行状态;若运行状态不包括用于表征亚健康问题的信息,则确定虚拟机的运行状态为健康运行状态。
或者,获取模块31可具体用于根据虚拟机启动时的时间戳,获得虚拟机的运行时长。相应地,确定模块32可具体用于:若虚拟机的运行时长大于预设阈值,则确定虚拟机的运行状态为亚健康运行状态;若虚拟机的运行时长小于或等于预设阈值,则确定虚拟机的运行状态为健康运行状态。其中,预设阈值为虚拟机处于健康工作状态的时长。
在上述基础上,一种实现方式中,处理模块33可具体用于:若云计算环境中各物理机的空闲资源大小的和,大于,云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第一热迁移步骤。该第一热迁移步骤可包括:将亚健康运行状态的虚拟机及其上运行的业务热迁移至目的虚拟机。其中,目的虚拟机运行于第一目的物理机上。该第一目的物理机为云计算环境中的物理机。亚健康运行状态的虚拟机热迁移前所运行的物理机为第一物理机。第一目的物理机不同于第一物理机。且,第一目的物理机的空闲资源大小,大于或等于,热迁移至第一目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
另一种实现方式中,处理模块33可具体用于:若云计算环境中各物理机的空闲资源大小的和,小于或等于,云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第二热迁移步骤。该第二热迁移步骤可以包括:将所有亚健康运行状态的虚拟机中部分虚拟机及其上运行的业务热迁移至目的虚拟机。该目的虚拟机运行于第二目的物理机上。第二目的物理机为云计算环境中的物理机。亚健康运行状态的虚拟机热迁移前所运行的物理机为第二物理机。第二目的物理机不同于第二物理机。且,第二目的物理机的空闲资源大小,大于或等于,热迁移至第二目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
再一种实现方式中,对于业务进程部署模式为负荷分担的虚拟机,处理模块33可具体用于:指示将运行状态为亚健康运行状态的虚拟机所负载的业务数据分发至至少一个目的虚拟机。
再或者,获取模块31可具体用于:检测虚拟机内存是否存在内存泄漏。相应地,确定模块32可具体用于:若虚拟机存在内存泄漏,则确定虚拟机的运行状态为亚健康运行状态;若虚拟机不存在内存泄漏,则确定虚拟机的运行状态为健康运行状态。
该场景下,处理模块33可具体用于:若云计算环境中各物理机的空闲资源大小的和,大于,云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第一主备数据同步步骤。该第一主备数据同步步骤可以包括:将所有存在内存泄漏的虚拟机中的状态数据同步至目的虚拟机。该目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机。该目的虚拟机运行于云计算环境中的第三目的物理机上。且,第三目的物理机的空闲资源大小,大于或等于,同步至该第三目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
可选地,处理模块33可具体用于:若云计算环境中各物理机的空闲资源大小的和,小于或等于,云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第二主备数据同步步骤。该第二主备数据同步步骤可以包括:将所有存在内存泄漏的部分虚拟机中的状态数据同步至目的虚拟机。该目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机。该目的虚拟机运行于云计算环境中的第四目的物理机上。且,第四目的物理机的空闲资源大小,大于或等于,同步至该第四目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
进一步地,处理模块33还可以用于:若确定云计算环境中至少一个物理机上无虚拟机运行,则重启该至少一个无虚拟机运行的物理机。
图4为本发明虚拟机迁移系统实施例一的结构示意图。如图4所示,虚拟机迁移系统40包括:管理物理机41和业务物理机42。
其中,管理物理机41用于运行虚拟机管理平台411。虚拟机管理平台411包括如图3所示的虚拟机迁移装置30。业务物理机42用于运行虚拟机421。虚拟机421包括健康代理模块422。健康代理模块422用于检测虚拟机421的运行状态,并上报该运行状态给虚拟机迁移装置30。
另外,本发明实施例中的管理物理机和业务物理机仅为通过其功能进行区分的计算机。其中,对于业务物理机42,可以理解为上述实施例中的物理机、第一物理机或第一目的物理机等,或上文中的宿主机。
本实施例的系统,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选地,业务物理机42还可以用于运行资源监控模块425。资源监控模块425用于监控业务物理机42中空闲资源大小,并上报业务物理机42的空闲资源大小给虚拟机迁移装置30。
或者,虚拟机管理平台411可以包括刷新管理模块(未图示)。该刷新管理模块集成有虚拟机迁移装置30。刷新管理模块用于刷新云计算环境中的资源,例如虚拟机资源和物理机资源等。
其中,对于业务物理机的个数,和,业务物理机上运行的虚拟机的个数,本发明实施例不予限制。例如,参考图4,业务物理机42上还运行有其他虚拟机,例如,虚拟机521,其中,虚拟机521包括健康代理模块522,等等。再例如,虚拟机迁移系统40还可以包括其他业务物理机,例如,业务物理机61,该业务物理机61上运行有至少一个虚拟机,这里举例有虚拟机62、虚拟机63和虚拟机64,其中,虚拟机62、虚拟机63和虚拟机64都内置健康代理模块(未图示),且该健康代理模块的功能与健康代理模块422相同,用于检测所在虚拟机的运行状态,并上报该运行状态给虚拟机迁移装置30。可选地,业务物理机61上还运行有资源监控模块611。资源监控模块611用于监控业务物理机61中空闲资源大小,并上报业务物理机61的空闲资源大小给虚拟机迁移装置30。
另需说明的是,在上述任一实施例中,运行状态可以包括以下任意一种或其组合:亚健康问题的信息(用于表征虚拟机运行/响应速度变慢等)、启动时的时间戳、内存泄漏及虚拟机中业务进程部署模式,等等,本发明不予限制。
在本申请所提供的几个实施例中,应该理解到,所揭示的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (23)
1.一种虚拟机迁移方法,其特征在于,包括:
获取云计算环境中虚拟机的运行状态;
确定所述虚拟机的运行状态是否为亚健康运行状态;
若所述虚拟机的运行状态为亚健康运行状态,则指示将所述虚拟机上运行的业务迁移到目的虚拟机,所述目的虚拟机的运行状态为健康运行状态。
2.根据权利要求1所述的方法,其特征在于,
所述获取云计算环境中虚拟机的运行状态,包括:接收所述虚拟机发出的报文,所述报文携带所述虚拟机的运行状态;
相应地,所述确定所述虚拟机的运行状态是否为亚健康运行状态,包括:若所述运行状态包括用于表征亚健康问题的信息,则确定所述虚拟机的运行状态为亚健康运行状态,若所述运行状态不包括用于表征亚健康问题的信息,则确定所述虚拟机的运行状态为健康运行状态。
3.根据权利要求1所述的方法,其特征在于,
所述获取云计算环境中虚拟机的运行状态,包括:根据所述虚拟机启动时的时间戳,获得所述虚拟机的运行时长;
相应地,所述确定所述虚拟机的运行状态是否为亚健康运行状态,包括:若所述虚拟机的运行时长大于预设阈值,则确定所述虚拟机的运行状态为亚健康运行状态,若所述虚拟机的运行时长小于或等于所述预设阈值,则确定所述虚拟机的运行状态为健康运行状态,所述预设阈值为虚拟机处于健康工作状态的时长。
4.根据权利要求2或3所述的方法,其特征在于,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:
若所述云计算环境中各物理机的空闲资源大小的和大于所述云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第一热迁移步骤,所述第一热迁移步骤包括:将所述亚健康运行状态的虚拟机及其上运行的业务热迁移至所述目的虚拟机,所述目的虚拟机运行于第一目的物理机上,所述第一目的物理机为所述云计算环境中的物理机,所述亚健康运行状态的虚拟机热迁移前所运行的物理机为第一物理机,所述第一目的物理机不同于所述第一物理机,且所述第一目的物理机的空闲资源大小大于或等于热迁移至所述第一目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
5.根据权利要求2或3所述的方法,其特征在于,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:
若所述云计算环境中各物理机的空闲资源大小的和小于或等于所述云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第二热迁移步骤,所述第二热迁移步骤包括:将所有亚健康运行状态的虚拟机中部分虚拟机及其上运行的业务热迁移至所述目的虚拟机,所述目的虚拟机运行于第二目的物理机上,所述第二目的物理机为所述云计算环境中的物理机,所述亚健康运行状态的虚拟机热迁移前所运行的物理机为第二物理机,所述第二目的物理机不同于所述第二物理机,且所述第二目的物理机的空闲资源大小大于或等于热迁移至所述第二目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
6.根据权利要求2或3所述的方法,其特征在于,对于业务进程部署模式为负荷分担的虚拟机,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:
指示将所述运行状态为亚健康运行状态的虚拟机所负载的业务数据分发至至少一个目的虚拟机。
7.根据权利要求1所述的方法,其特征在于,
所述获取云计算环境中虚拟机的运行状态,包括:检测所述虚拟机内存是否存在内存泄漏;
相应地,所述确定所述虚拟机的运行状态是否为亚健康运行状态,包括:若所述虚拟机存在内存泄漏,则确定所述虚拟机的运行状态为亚健康运行状态,若所述虚拟机不存在内存泄漏,则确定所述虚拟机的运行状态为健康运行状态。
8.根据权利要求7所述的方法,其特征在于,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:
若所述云计算环境中各物理机的空闲资源大小的和大于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第一主备数据同步步骤,所述第一主备数据同步步骤包括:将所有存在内存泄漏的虚拟机中的状态数据同步至所述目的虚拟机,所述目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,所述目的虚拟机运行于所述云计算环境中的第三目的物理机上,且所述第三目的物理机的空闲资源大小大于或等于同步至所述第三目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
9.根据权利要求7所述的方法,其特征在于,所述指示将所述虚拟机上运行的业务迁移到目的虚拟机,包括:
若所述云计算环境中各物理机的空闲资源大小的和小于或等于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第二主备数据同步步骤,所述第二主备数据同步步骤包括:将所有存在内存泄漏的部分虚拟机中的状态数据同步至所述目的虚拟机,所述目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,所述目的虚拟机运行于所述云计算环境中的第四目的物理机上,且所述第四目的物理机的空闲资源大小大于或等于同步至所述第四目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
若确定所述云计算环境中至少一个物理机上无虚拟机运行,则重启所述至少一个无虚拟机运行的物理机。
11.一种虚拟机迁移装置,其特征在于,包括:
获取模块,用于获取云计算环境中虚拟机的运行状态;
确定模块,用于确定所述虚拟机的运行状态是否为亚健康运行状态;
处理模块,用于若所述确定模块确定所述虚拟机的运行状态为亚健康运行状态,则指示将所述虚拟机上运行的业务迁移到目的虚拟机,所述目的虚拟机的运行状态为健康运行状态。
12.根据权利要求11所述的装置,其特征在于,
所述获取模块具体用于:接收所述虚拟机发出的报文,所述报文携带所述虚拟机的运行状态;
相应地,所述确定模块具体用于:若所述运行状态包括用于表征亚健康问题的信息,则确定所述虚拟机的运行状态为亚健康运行状态,若所述运行状态不包括用于表征亚健康问题的信息,则确定所述虚拟机的运行状态为健康运行状态。
13.根据权利要求11所述的装置,其特征在于,
所述获取模块具体用于:根据所述虚拟机启动时的时间戳,获得所述虚拟机的运行时长;
相应地,所述确定模块具体用于:若所述虚拟机的运行时长大于预设阈值,则确定所述虚拟机的运行状态为亚健康运行状态,若所述虚拟机的运行时长小于或等于所述预设阈值,则确定所述虚拟机的运行状态为健康运行状态,所述预设阈值为虚拟机处于健康工作状态的时长。
14.根据权利要求12或13所述的装置,其特征在于,所述处理模块具体用于:若所述云计算环境中各物理机的空闲资源大小的和大于所述云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第一热迁移步骤,所述第一热迁移步骤包括:将所述亚健康运行状态的虚拟机及其上运行的业务热迁移至所述目的虚拟机,所述目的虚拟机运行于第一目的物理机上,所述第一目的物理机为所述云计算环境中的物理机,所述亚健康运行状态的虚拟机热迁移前所运行的物理机为第一物理机,所述第一目的物理机不同于所述第一物理机,且所述第一目的物理机的空闲资源大小大于或等于热迁移至所述第一目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
15.根据权利要求12或13所述的装置,其特征在于,所述处理模块具体用于:若所述云计算环境中各物理机的空闲资源大小的和小于或等于所述云计算环境中所有亚健康运行状态的虚拟机及其上运行的业务所占资源的大小,则指示执行第二热迁移步骤,所述第二热迁移步骤包括:将所有亚健康运行状态的虚拟机中部分虚拟机及其上运行的业务热迁移至所述目的虚拟机,所述目的虚拟机运行于第二目的物理机上,所述第二目的物理机为所述云计算环境中的物理机,所述亚健康运行状态的虚拟机热迁移前所运行的物理机为第二物理机,所述第二目的物理机不同于所述第二物理机,且所述第二目的物理机的空闲资源大小大于或等于热迁移至所述第二目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
16.根据权利要求12或13所述的装置,其特征在于,对于业务进程部署模式为负荷分担的虚拟机,所述处理模块具体用于:指示将所述运行状态为亚健康运行状态的虚拟机所负载的业务数据分发至至少一个目的虚拟机。
17.根据权利要求11所述的装置,其特征在于,
所述获取模块具体用于:检测所述虚拟机内存是否存在内存泄漏;
相应地,所述确定模块具体用于:若所述虚拟机存在内存泄漏,则确定所述虚拟机的运行状态为亚健康运行状态,若所述虚拟机不存在内存泄漏,则确定所述虚拟机的运行状态为健康运行状态。
18.根据权利要求17所述的装置,其特征在于,所述处理模块具体用于:若所述云计算环境中各物理机的空闲资源大小的和大于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第一主备数据同步步骤,所述第一主备数据同步步骤包括:将所有存在内存泄漏的虚拟机中的状态数据同步至所述目的虚拟机,所述目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,所述目的虚拟机运行于所述云计算环境中的第三目的物理机上,且所述第三目的物理机的空闲资源大小大于或等于同步至所述第三目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
19.根据权利要求17所述的装置,其特征在于,所述处理模块具体用于:若所述云计算环境中各物理机的空闲资源大小的和小于或等于云计算环境中所有存在内存泄漏的虚拟机及其上运行的业务所占资源的大小,则指示执行第二主备数据同步步骤,所述第二主备数据同步步骤包括:将所有存在内存泄漏的部分虚拟机中的状态数据同步至所述目的虚拟机,所述目的虚拟机为存在内存泄漏的虚拟机的备份虚拟机,所述目的虚拟机运行于所述云计算环境中的第四目的物理机上,且所述第四目的物理机的空闲资源大小大于或等于同步至所述第四目的物理机的所有虚拟机及其上运行的业务所占资源的大小。
20.根据权利要求11至19中任一项所述的装置,其特征在于,所述处理模块还用于:若确定所述云计算环境中至少一个物理机上无虚拟机运行,则重启所述至少一个无虚拟机运行的物理机。
21.一种虚拟机迁移系统,其特征在于,包括:管理物理机和业务物理机,其中,
所述管理物理机用于运行虚拟机管理平台,所述虚拟机管理平台包括如权利要求11至20中任一项所述的虚拟机迁移装置;
所述业务物理机用于运行虚拟机,所述虚拟机包括健康代理模块,所述健康代理模块用于检测所述健康代理模块所在虚拟机的运行状态,并上报所述运行状态给所述虚拟机迁移装置。
22.根据权利要求21所述的系统,其特征在于,所述运行状态包括以下任意一种或其组合:
亚健康问题的信息、启动时的时间戳、内存泄漏及虚拟机中业务进程部署模式。
23.根据权利要求21或22所述的系统,其特征在于,所述业务物理机还用于运行资源监控模块,所述资源监控模块用于监控所述业务物理机中空闲资源大小,并上报所述业务物理机的空闲资源大小给所述虚拟机迁移装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510750560.3A CN106681802A (zh) | 2015-11-06 | 2015-11-06 | 虚拟机迁移方法、装置及系统 |
PCT/CN2016/084885 WO2017075989A1 (zh) | 2015-11-06 | 2016-06-06 | 虚拟机迁移方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510750560.3A CN106681802A (zh) | 2015-11-06 | 2015-11-06 | 虚拟机迁移方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106681802A true CN106681802A (zh) | 2017-05-17 |
Family
ID=58661573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510750560.3A Pending CN106681802A (zh) | 2015-11-06 | 2015-11-06 | 虚拟机迁移方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106681802A (zh) |
WO (1) | WO2017075989A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491251A (zh) * | 2018-04-15 | 2018-09-04 | 肖恒念 | 一种云服务器虚拟机管理方法和云服务器 |
CN108718316A (zh) * | 2018-06-11 | 2018-10-30 | 山东超越数控电子股份有限公司 | 一种虚拟机密码信息安全迁移的实现方法及系统 |
CN108958883A (zh) * | 2018-06-15 | 2018-12-07 | 北京奇艺世纪科技有限公司 | 云计算集群中虚拟机的恢复方法及系统 |
CN109358952A (zh) * | 2018-10-30 | 2019-02-19 | 张家口浩扬科技有限公司 | 一种虚拟机迁移方法和系统 |
CN109412841A (zh) * | 2018-09-30 | 2019-03-01 | 北京金山云网络技术有限公司 | 虚拟机资源的调整方法、装置和云平台 |
CN109739614A (zh) * | 2018-11-22 | 2019-05-10 | 杭州数梦工场科技有限公司 | 虚拟机新建方法、装置及设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495777A (zh) * | 2020-04-03 | 2021-10-12 | 中移动信息技术有限公司 | 虚拟机上线方法、装置、设备及介质 |
CN115794314B (zh) * | 2023-01-29 | 2023-05-09 | 国网信息通信产业集团有限公司 | 一种云计算环境下虚拟机迁移方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814121A (zh) * | 2010-04-19 | 2010-08-25 | 山东高效能服务器和存储研究院 | 一种预见性虚拟机零宕机ha |
US20130046696A1 (en) * | 2011-08-15 | 2013-02-21 | Bank Of America Corporation | Method and Apparatus for Object Transaction Session Validation |
CN102984214A (zh) * | 2012-11-08 | 2013-03-20 | 华为技术有限公司 | 一种实现电信云中业务迁移的方法及装置 |
US20130283086A1 (en) * | 2012-04-20 | 2013-10-24 | International Business Machines Corporation | Monitoring and resolving deadlocks, contention, runaway cpu and other virtual machine production issues |
CN103559124A (zh) * | 2013-10-24 | 2014-02-05 | 华为技术有限公司 | 故障快速检测方法及装置 |
US8806266B1 (en) * | 2011-09-28 | 2014-08-12 | Juniper Networks, Inc. | High availability using full memory replication between virtual machine instances on a network device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8146082B2 (en) * | 2009-03-25 | 2012-03-27 | Vmware, Inc. | Migrating virtual machines configured with pass-through devices |
CN102546700B (zh) * | 2010-12-23 | 2015-07-01 | 中国移动通信集团公司 | 一种资源调度以及资源迁移的方法及设备 |
JP5978993B2 (ja) * | 2012-12-28 | 2016-08-24 | 富士通株式会社 | 情報処理システム制御装置、該プログラム、及び該方法 |
CN103970617A (zh) * | 2013-01-28 | 2014-08-06 | 宏碁股份有限公司 | 实体主机与虚拟服务器转移方法 |
CN103473139B (zh) * | 2013-09-26 | 2016-06-01 | 四川中电启明星信息技术有限公司 | 虚拟机集群资源分配调度方法 |
-
2015
- 2015-11-06 CN CN201510750560.3A patent/CN106681802A/zh active Pending
-
2016
- 2016-06-06 WO PCT/CN2016/084885 patent/WO2017075989A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814121A (zh) * | 2010-04-19 | 2010-08-25 | 山东高效能服务器和存储研究院 | 一种预见性虚拟机零宕机ha |
US20130046696A1 (en) * | 2011-08-15 | 2013-02-21 | Bank Of America Corporation | Method and Apparatus for Object Transaction Session Validation |
US8806266B1 (en) * | 2011-09-28 | 2014-08-12 | Juniper Networks, Inc. | High availability using full memory replication between virtual machine instances on a network device |
US20130283086A1 (en) * | 2012-04-20 | 2013-10-24 | International Business Machines Corporation | Monitoring and resolving deadlocks, contention, runaway cpu and other virtual machine production issues |
CN102984214A (zh) * | 2012-11-08 | 2013-03-20 | 华为技术有限公司 | 一种实现电信云中业务迁移的方法及装置 |
CN103559124A (zh) * | 2013-10-24 | 2014-02-05 | 华为技术有限公司 | 故障快速检测方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491251A (zh) * | 2018-04-15 | 2018-09-04 | 肖恒念 | 一种云服务器虚拟机管理方法和云服务器 |
CN108718316A (zh) * | 2018-06-11 | 2018-10-30 | 山东超越数控电子股份有限公司 | 一种虚拟机密码信息安全迁移的实现方法及系统 |
CN108718316B (zh) * | 2018-06-11 | 2020-11-24 | 山东超越数控电子股份有限公司 | 一种虚拟机密码信息安全迁移的实现方法及系统 |
CN108958883A (zh) * | 2018-06-15 | 2018-12-07 | 北京奇艺世纪科技有限公司 | 云计算集群中虚拟机的恢复方法及系统 |
CN108958883B (zh) * | 2018-06-15 | 2021-04-09 | 北京奇艺世纪科技有限公司 | 云计算集群中虚拟机的恢复方法及系统 |
CN109412841A (zh) * | 2018-09-30 | 2019-03-01 | 北京金山云网络技术有限公司 | 虚拟机资源的调整方法、装置和云平台 |
CN109358952A (zh) * | 2018-10-30 | 2019-02-19 | 张家口浩扬科技有限公司 | 一种虚拟机迁移方法和系统 |
CN109739614A (zh) * | 2018-11-22 | 2019-05-10 | 杭州数梦工场科技有限公司 | 虚拟机新建方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2017075989A1 (zh) | 2017-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681802A (zh) | 虚拟机迁移方法、装置及系统 | |
EP2614436B1 (en) | Controlled automatic healing of data-center services | |
CN103631633B (zh) | 虚拟机全系统在线迁移方法、装置与系统 | |
CN102739435B (zh) | 作为服务的故障检测与恢复 | |
AU2014309371B2 (en) | Virtual hadoop manager | |
TWI493331B (zh) | 經由虛擬化機會之電力最佳化 | |
CN106612312A (zh) | 一种虚拟化数据中心调度系统和方法 | |
EP2701062B1 (en) | Virtual machine administration device, virtual machine administration method, and program | |
CN104102543B (zh) | 一种云计算环境中负载调整的方法和装置 | |
CN103810784B (zh) | 自助设备钱箱动态控制方法及系统 | |
CN103440160A (zh) | 虚拟机恢复方法和虚拟机迁移方法以及装置与系统 | |
CN105308553B (zh) | 动态提供存储 | |
CN106201690A (zh) | 应用运行控制方法及装置 | |
CN105095001A (zh) | 分布式环境下虚拟机异常恢复方法 | |
CN102984029A (zh) | 应用于分布式系统的心跳检测装置和方法、网络设备 | |
CN108063784A (zh) | 一种云环境下应用集群资源分配的方法、装置和系统 | |
CN107203255A (zh) | 一种网络功能虚拟化环境中迁移节能方法和装置 | |
CN104461731B (zh) | 一种动态资源扩展中虚拟机资源回收方法和装置 | |
CN107003713A (zh) | 用于电力管理的逻辑分区环境的事件驱动重新优化 | |
CN107220102A (zh) | 虚拟机的休眠与唤醒方法及系统 | |
CN104391736B (zh) | 虚拟机的休眠模式设置方法和装置 | |
CN114064217B (zh) | 一种基于OpenStack的节点虚拟机迁移方法及装置 | |
CN103810038B (zh) | 一种ha集群中虚拟机存储文件迁移方法及其装置 | |
CN103902401B (zh) | 基于监控的虚拟机容错方法及装置 | |
US9612907B2 (en) | Power efficient distribution and execution of tasks upon hardware fault with multiple processors |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170517 |