CN103077079A - 虚拟机迁移控制方法和装置 - Google Patents

虚拟机迁移控制方法和装置 Download PDF

Info

Publication number
CN103077079A
CN103077079A CN2012105871071A CN201210587107A CN103077079A CN 103077079 A CN103077079 A CN 103077079A CN 2012105871071 A CN2012105871071 A CN 2012105871071A CN 201210587107 A CN201210587107 A CN 201210587107A CN 103077079 A CN103077079 A CN 103077079A
Authority
CN
China
Prior art keywords
virtual machine
main frame
stock number
core application
migration
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.)
Granted
Application number
CN2012105871071A
Other languages
English (en)
Other versions
CN103077079B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210587107.1A priority Critical patent/CN103077079B/zh
Publication of CN103077079A publication Critical patent/CN103077079A/zh
Application granted granted Critical
Publication of CN103077079B publication Critical patent/CN103077079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例公开了虚拟机迁移控制方法和装置。其中,一种虚拟机迁移控制方法可包括:监测第一虚拟机上运行的核心应用的使用资源量,其中,第一虚拟机运行于第一主机上;若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。本发明实施例提供的技术方案,有利于提高虚拟机的高可用性,有利于避免业务中断。

Description

虚拟机迁移控制方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及虚拟机迁移控制方法和装置。
背景技术
随着信息系统技术的不断发展,数据在企业的应用越来越广,如何提高信息系统的高可用性(HA,High Availability),成为建设稳健的计算机系统的首要任务之一。HA通常指,通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。传统保护方案花费成本高并且实现起来过于复杂,目前行业的技术趋势是使用虚拟化技术。
虚拟化技术是一种将底层硬件设备与上层操作系统、应用程序分离的去耦合技术,如图1所示,引入虚拟机监控器(VMM,Virtual Machine Monitor)层直接管理底层硬件资源,创建与底层硬件无关的虚拟机(VM,Virtual Machine)供上层操作系统和应用程序使用。虚拟化技术打破了物理硬件和操作系统间的硬性连接。当下的计算机是专为运行单个操作系统而设计的,大部分计算机资源远未得到充分利用。借助虚拟化机制可在单台物理机上运行多个虚拟机,每个虚拟机都可以共享同一台物理机的资源并运行不同的操作系统。
虚拟化一台物理机仅仅是开始,如果将跨数百台互连的物理机和存储设备进行扩展,可以构建一个完整的虚拟基础架构。无需为每个应用程序永久性地分配服务器、存储空间或网络带宽。与之相对,硬件资源会根据需要动态分配到所需的位置。虚拟基础架构是一种企业级解决方案,可提供流畅、强大的计算能力,从而最大限度地利用资源和节约成本。基于虚拟化基础架构,当虚拟化环境中的硬件或者操作系统发生故障时,可以提供统一且经济高效的故障切换保护,大大提高了可用性。
现有技术主要通过在保护主机上未待迁移的主机预留指定资源量(如CPU和内存量),来保证迁移到保护主机的虚拟机的有足够的资源量。现有技术仅在保护主机有足够的未预留资源时,才允许虚拟机迁移到保护主机。当保护主机无足够资源量预留给待迁移的虚拟机(即待迁移虚拟机当前所使用资源量大于保护主机的剩余未预留资源)时,通常拒绝迁移该虚拟机到保护主机。在这种情况下,故障主机上的虚拟机无法立即恢复,导致了业务中断,并且中断时间不可控。
发明内容
本发明实施例提供虚拟机迁移控制方法和装置,以期尽量提高虚拟机的高可用性,尽量避免业务中断。
本发明一方面提供一种虚拟机迁移控制方法,可包括:
监测第一虚拟机上运行的核心应用的使用资源量,其中,所述第一虚拟机运行于第一主机上;
若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上。
结合第一方面,在第一种可能的实施方式中,所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量或所述第二主机剩余的实际资源量。
结合第一方面或第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述方法还包括:
监测所述第一虚拟机的使用资源量;
所述若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,包括:
若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述第一虚拟机上运行的部分或全部非核心应用在所述第一虚拟机迁移到所述第二主机之前或之后被裁减掉。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述方法还包括:
若所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量,则若所述第一主机发生了故障,且所述第二主机当前剩余的未预留资源量小于监测出的所述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量大于或等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述N个虚拟机为运行于所述第二主机上的虚拟机,所述N为正整数,所述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。
结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,
所述方法还包括:
若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量仍小于监测出的所述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将所述第一虚拟机迁移到所述第二主机上,其中,所述M个虚拟机为运行于所述第二主机上的虚拟机,所述M为正整数。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第五种可能的实施方式中,所述监测第一虚拟机上运行的核心应用的使用资源量,包括:周期性的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内监测到的所述第一虚拟机上运行的核心应用的使用资源量的平均值或最大值或最小值,作为监测到的所述第一虚拟机上运行的核心应用的使用资源量。
结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式,在第六种可能的实施方式中,所述核心应用包括操作系统和指定应用。
本发明第二方面提供一种虚拟机迁移控制装置,包括:
监测单元,监测第一虚拟机上运行的核心应用的使用资源量,其中,所述第一虚拟机运行于第一主机上;
迁移控制单元,用于若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于所述监测单元监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上。
结合第二方面,在第一种可能的实施方式中,
所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量或所述第二主机剩余的实际资源量。
结合第二方面或第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述监测单元还用于,监测所述第一虚拟机的使用资源量;
所述迁移控制单元具体用于,若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述第一虚拟机上运行的部分或全部非核心应用在所述第一虚拟机迁移到所述第二主机之前或之后被裁减掉。
结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第三种可能的实施方式中,所述迁移控制单元还用于,若所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量,则若所述第一主机发生了故障,且所述第二主机当前剩余的未预留资源量小于监测出的所述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量大于或等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述N个虚拟机为运行于所述第二主机上的虚拟机,所述N为正整数,所述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。
结合第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述迁移控制单元还用于,若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量仍小于所述监测单元监测出的所述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将所述第一虚拟机迁移到所述第二主机上,其中,所述M个虚拟机为运行于所述第二主机上的虚拟机,所述M为正整数。
可以看出,本发明实施例提供的技术方案中,通过监测运行于第一主机上的第一虚拟机上运行的核心应用的使用资源量;若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。由于首先考虑的是第一虚拟机上运行的核心应用的使用资源量,这样相对于现有虚拟机迁移机制,能够提高故障主机上运行的虚拟机成功迁移到保护主机的几率,有利于提高虚拟机的高可用性,并且有利于避免相关业务中断。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种虚拟化系统的示意图;
图2是本发明实施例提供的一种虚拟化集群系统的示意图;
图3是本发明实施例提供的一种虚拟机迁移控制方法的流程示意图;
图4是本发明实施例提供的另一种虚拟机迁移控制方法的流程示意图;
图5-a是本发明实施例提供的另一种虚拟化集群系统的示意图;
图5-b是本发明实施例提供的另一种虚拟化集群系统的示意图;
图5-c是本发明实施例提供的另一种虚拟化集群系统的示意图;
图6是本发明实施例提供的另一种虚拟化集群系统的示意图;
图7是本发明实施例提供的虚拟机迁移控制装置的示意图;
图8是本发明实施例提供的计算机系统能够的示意图。
具体实施方式
本发明实施例提供虚拟机迁移控制方法和装置,以期尽量提高虚拟机的高可用性,尽量避免业务中断。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面先对一些概念进行介绍。
主机是使用虚拟化软件的计算机。由于使用了虚拟化软件,计算机有了虚拟层,可以运行多台虚拟机。主机提供虚拟机使用的CPU和内存等资源,并使虚拟机能够访问存储器和网络。
群集可看成是一组共享资源和管理接口的主机。例如图2所示,集群可包括中心服务器(Center Sever)和多台主机。向群集添加主机时,主机的资源会成为群集资源的一部分。Center Sever可集中管理群集中的各主机,并可提供便捷的控制和基本的服务,如访问控制、性能监控和配置等。Center Sever可根据系统管理员设定的策略,管理主机的虚拟机分配,以及给定主机内虚拟机的资源分配。
利用多台主机搭建成一个群集,群集对其中的所有主机提供HA保护。主机上的虚拟层软件可监控物理机状况,一旦物理机出现故障,Center Sever可根据一定的策略,在具有备用资源量的其它主机上自动重启故障物理机中受影响的虚拟机。
当有多个主机出现故障时,保护主机可能会出现资源不足的情况。在这种情况下,虚拟机迁移到保护主机上,可利用虚拟页技术减少相同物理页,利用虚拟内存技术将内存换出到磁盘上等各种技术满足HA要求,但可能劣化保护主机上其它原有虚拟机的性能。
本发明虚拟机迁移控制方法的一个实施例,可包括:监测第一虚拟机上运行的核心应用的使用资源量,其中,第一虚拟机运行于第一主机上;若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上,其中,第二主机为第一虚拟机的保护主机。
参见图3,图3是本发明实施例提供的一种虚拟机迁移控制方法的流程示意图,参见图3,本发明实施例提供的一种虚拟机迁移控制方法可以包括以下内容:
301、监测第一虚拟机上运行的核心应用的使用资源量,其中,第一虚拟机运行于第一主机上。
在本发明一些实施例中,可周期性(周期可能是等时长或非等时长的)或在指定事件的触发下的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内(设定时长内可能记性进行了多次监测)监测到的第一虚拟机上运行的核心应用的使用资源量的平均值(或最大值或最小值或任意一次监测到的使用资源量),作为监测到的第一虚拟机上运行的核心应用的使用资源量。
302、若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。
其中,第二主机为第一虚拟机的保护主机。可将第二主机作为第一主机上运行的所有虚拟机的保护主机,此场景下,第二主机可看做是第一主机的保护主机,或也可将第二主机作为第一主机上运行的部分虚拟机的保护主机,当然此场景下第二主机也可看做是第一主机的其中一个保护主机。
在本发明一些实施例中,第二主机剩余的资源量可为第二主机剩余的未预留资源量或第二主机剩余的实际资源量。其中,第二主机可能为其上运行的部分或全部虚拟机分别预留一定的资源量,当然,这些虚拟机实际上可能未完全使用对应预留的资源量。可通过监测第二主机上的部分或全部虚拟机的使用资源量,来了解第二主机上的部分或全部虚拟机实际的使用资源量。可通过监测第二主机上的部分或全部虚拟机上运行的核心应用的使用资源量,来了解第二主机上的部分或全部虚拟机上运行的核心应用的使用资源量。
在本发明各实施例中,核心应用可包括操作系统和指定应用(当然指定应用可以没有),其中,指定应用例如为用户所指定的应用和/或业务需求所指定的应用,其中,业务需求指定的应用可能是核心业务对应的应用和/或紧急业务对应的应用。例如,第一虚拟机(或其它虚拟机)的核心应用可包括第一虚拟机(或其它虚拟机)操作系统和指定应用(指定应用可以没有),其中该指定应用例如为第一虚拟机(或其它虚拟机)上用户指定的应用和/或业务需求指定的应用,其中,该业务需求指定的应用可能是第一虚拟机(或其它虚拟机)上运行的与核心业务对应的应用和/或紧急业务对应的应用。
可以理解,本发明的各实施例所指资源可为虚拟资源或物理资源,其中虚拟资源可包括虚拟CPU和虚拟内存,当然还可包括虚拟机需使用的其它虚拟资源;物理资源可包括物理CPU和物理内存,当然还可包括虚拟机需使用的其它物理资源。
在本发明的一些实施例中,还可进一步监测第一虚拟机的使用资源量;若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的第一虚拟机的核心应用的使用资源量,则将第一虚拟机迁移到第二主机上可包括:若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的第一虚拟机核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将第一虚拟机迁移到第二主机上,其中,第一虚拟机上运行的部分或全部非核心应用(其中,非核心应用指的是除核心应用外的其它应用)在第一虚拟机迁移到第二主机之前或之后被裁减掉。
在本发明的一些实施例中,若第二主机剩余的资源量为第二主机剩余的未预留资源量,则若第一主机发生了故障,且第二主机当前剩余的未预留资源量小于监测出的第一虚拟机的核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减上述N个虚拟机的预留资源量之后,使得第二主机当前剩余的未预留资源量大于或等于监测出的第一虚拟机核心应用的使用资源量,则将第一虚拟机迁移到第二主机上,其中,上述N个虚拟机为运行于第二主机上的虚拟机,上述N为正整数,上述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。
在本发明的一些实施例中,进一步的,若缩减了上述N个虚拟机的预留资源量之后,使得第二主机当前剩余的未预留资源量仍小于监测出的第一虚拟机核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将第一虚拟机迁移到第二主机上,其中,上述M个虚拟机为运行于第二主机上的虚拟机,上述M为正整数。
在本发明的一些实施例中,若第二主机剩余的资源量为第二主机剩余的实际资源量,则若第一主机发生了故障,且第二主机当前剩余的实际资源量小于监测出的第一虚拟机的核心应用的使用资源量,则可裁减掉X个虚拟机上运行的部分或者全部非核心应用,将第一虚拟机迁移到第二主机上,其中,上述X个虚拟机为运行于第二主机上的虚拟机,上述X为正整数。
在本发明的另一些实施例中,若第二主机剩余的资源量为第二主机剩余的实际虚拟资源量,则若第一主机发生了故障,且第二主机当前剩余的实际虚拟资源量小于监测出的第一虚拟机的核心应用的使用资源量,则可扩展第二主机的虚拟资源量(扩展第二主机的虚拟资源量之后,可认为第二主机当前剩余的实际虚拟资源量,大于或者等于监测出的第一虚拟机或第一虚拟机的核心应用的使用资源量),将第一虚拟机迁移到第二主机上,其中,第一虚拟机上运行的部分或全部非核心应用在第一虚拟机迁移到第二主机之前或之后可以被裁减掉。其中,扩展第二主机的虚拟资源量后,第二主机的虚拟资源量和物理资源量之间比例可能高于1:1,例如第二主机的虚拟资源量和物理资源量之间比例可能变成2:1或其它比例。
可以看出,本发明实施例提供的技术方案中,通过监测运行于第一主机上的第一虚拟机上运行的核心应用的使用资源量;若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。由于首先考虑的是第一虚拟机上运行的核心应用的使用资源量,这样相对与现有虚拟机迁移机制,能够提高故障主机上的虚拟机成功迁移几率,这样有利于提高虚拟机的高可用性,并且有利于避免相关业务中断。
为便于更好的理解和实施本发明实施例的上述方案,下面举例一些应用场景进行详细说明。
参见图4,图4是本发明实施例提供的另一种虚拟机迁移控制方法的流程示意图,参见图4,本发明实施例提供的另一种虚拟机迁移控制方法可以包括以下内容:
401、监测第一虚拟机上运行的核心应用的使用资源量和第一虚拟机的使用资源量。
在本发明一些实施例中,可周期性(周期可能是等时长或非等时长的)或在指定事件的触发下的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内监测到的第一虚拟机上运行的核心应用的使用资源量的平均值(或最大值或最小值或任意一次监测到的使用资源量),作为监测到的第一虚拟机上运行的核心应用的使用资源量。
在本发明一些实施例中,可周期性(周期可能是等时长或非等时长的)或在指定事件的触发下的监测第一虚拟机的使用资源量,将设定时长内监测到的第一虚拟机上的使用资源量的平均值(或最大值或最小值或任意一次监测到的使用资源量),作为监测到的第一虚拟机的使用资源量。
402、若第一主机发生故障,判断第二主机当前剩余的未预留资源量是否大于或等于监测出的第一虚拟机的使用资源量;
若否,则执行步骤403;
若是,则执行步骤408。
403、判断第二主机当前剩余的未预留资源量是否大于或等于监测出的第一虚拟机核心应用的使用资源量;
若否,则执行步骤404;
若是,则执行步骤407。
404、缩减第二主机上运行的N个虚拟机的预留资源量;
其中,上述N为正整数。
在本发明的一些实施例中,上述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量,或者,上述N个虚拟机中的部分或全部虚拟机所运行的应用对应非核心业务或非紧急业务。
在本发明一些实施例中,可为每个虚拟机预留一定资源量,并可将虚拟机的预留资源量记录到对应的配置文件中。其中,在初始化过程中可为每个虚拟机设定预留资源量,该设定预留资源量可记录到配置文件,后续可修改配置文件中记录的预留资源量。
在本发明一些实施例中,可根据虚拟机实际的使用资源量得到虚拟机的最佳预留资源量,例如,预留资源量Y作为虚拟机的最佳预留资源量,或者可比较预留资源量Y和对应配置文件中当前记录的预留资源量,若预留资源量Y大于或等于对应配置文件中当前记录的预留资源量,则可将对应配置文件中当前记录的预留资源量作为该虚拟机的最佳预留资源量,若预留资源量Y小于对应配置文件中当前记录的预留资源量,则可将预留资源量Y作为该虚拟机的最佳预留资源量。其中,预留资源量Y为设定时长内监测到的该虚拟机(或该虚拟机上运行的核心应用)的使用资源量的平均值(或者最大值或最小值或任意1次监测到的使用资源量)。若得到了虚拟机的最佳预留资源量,则可将该最佳预留资源量记录到对应的配置文件。
在本发明的一些实施例中,可以不缩减第二主机上运行的所有虚拟机的预留资源量,例如在进行预留资源量调整前,将计算出每个虚拟机的最佳预留资源量和当前预留量相减,得出该虚拟机可缩减的资源量。
例如假设第二主机上已运行有虚拟机1、虚拟机2和虚拟机3,内存预留情况如下:
虚拟机1当前的预留资源量为3GB,
虚拟机1的最佳预留资源量为3GB(虚拟机1可缩减的资源量为0GB)。
虚拟机2当前的预留资源量为6GB,
虚拟机2的最佳预留资源量为3GB(虚拟机2可缩减的资源量为3GB)。
虚拟机3当前的预留资源量为5GB,
虚拟机3的最佳预留资源量为4GB(虚拟机2可缩减的资源量为1GB)。
将可缩减的资源量按大小排序,可从可缩减出最大资源量的虚拟机开始调整预留资源量,直到满足需求即停止预留资源量调整。以上举例为例,首先调整虚拟机2的预留资源量,若能满足资源需求则停止调整,否则,继续调整虚拟机3的预留,依此类推,直到调整完第二主机上的所有虚拟机的预留。这样的调整方式可减少需调整虚拟机的个数,进一步缩小了故障影响范围;在多个虚拟机同时迁移时,避免每次都对第二主机上已运行的所有虚拟机都调整一遍对应的预留资源量,每次可能仅调整第二主机上已运行部分虚拟机即可满足资源预留需求。
405、判断缩减第二主机上运行的N个虚拟机的预留资源量之后,第二主机当前剩余的未预留资源量是否大于或等于监测出的第一虚拟机核心应用的使用资源量;
若否,则执行步骤406;
若是,则执行步骤407;
406、扩展第二主机的虚拟资源量;
其中,扩展第二主机的虚拟资源量之后,可认为第二主机当前剩余的实际虚拟资源量,大于或者等于监测出的第一虚拟机或第一虚拟机的核心应用的使用资源量。其中,扩展第二主机的虚拟资源量后,第二主机的虚拟资源量和物理资源量之间比例可能高于1:1,例如第二主机的虚拟资源量和物理资源量之间比例可能变成2:1或其它比例。
407、裁减掉第一虚拟机上的部分或全部非核心应用。
408、将第一虚拟机迁移到第二主机上。
参见图5-a~图5-c,在本发明的一些实施例中,可通过在各虚拟机中部署代理程序4002,并可在Center Server部署管理程序4001(如图5-a所示),或在某个主机上部署管理程序4001(如图5-b所示),或者可单独部署管理程序4001(如图5-c所示),利用代理程序4002和管理程序4001协作,实现虚拟机的迁移控制。
在本发明的一些实施例中,代理程序4002可主要功能可包括:实时监控虚拟机的资源使用情况并通知管理程序4001;根据管理程序4001的指示按需裁剪虚拟机上的非核心应用。
管理程序4001可与Center Sever保持网络连接,主要功能可包括:记录用户指定的虚拟机核心应用;记录虚拟机的使用资源量,记录虚拟机上的核心应用的使用资源量(可包括CPU和内存等);与Center Sever通信修改虚拟机配置文件以调整相应虚拟机配置的预留资源量;通知代理程序4002裁剪掉虚拟机的非核心应用等。
若基于参见图5-a或图5-b或图5-c所示集群架构,在本发明的一些实施例中,集群启动后首先进入初始化阶段,在该初始化阶段各单元完成各自数据初始化。管理程序4001可记录用户指定的虚拟机的核心应用,并可为没有设置预留资源量的虚拟机配置预留资源量。初始化阶段完成后,集群进入监控阶段。在该阶段,各代理程序4002可周期性地监测它所在虚拟机的资源使用情况,并且,通过通道向管理程序4001传送监测到的虚拟机的资源量;管理程序记录各代理发送的虚拟机使用资源量,以作为后续选择资源调整策略时作为依据。当某主机发生故障时,管理程序4001可能失去与相应代理程序4002的通信,管理程序4001可通过调用相应应用程序接口,向Center Sever查询故障主机上的虚拟机的当前状态。若故障主机上的虚拟机全部成功迁移到其它主机,管理程序4001可继续监控,否则进入资源调节阶段(例如步骤404~步骤406所示资源调节方式)。在资源调节阶段结束后,管理程序4001可通知Center Server重新迁移故障主机上的虚拟机,迁移成功后相应代理程序4002重启并进入监控阶段。
下面举例一个更为具体的例子进行说明。
例如图6所示,假设群集中有两台主机,其中一台是将会发生故障的故障主机,另一台是提供保护的保护主机。其中,保护主机上有三个正在运行的虚拟机W1、虚拟机W2、虚拟机W3,故障主机上有一台运行的虚拟机W4;每台虚拟机上都运行着代理程序;当故障主机发生故障时,虚拟机W4将要迁移到保护主机上,例如下表1所示(本举例场景中的以内存资源为例):
表1
Figure BDA00002676799000131
在初始化阶段,管理程序A记录用户指定核心应用,并将需要监控的核心应用告知各代理程序,具体可如表2所示;管理程序A向Center Server查询所有虚拟机是否配置了预留资源量,若没有配置预留资源量,管理程序为其配置默认的最小预留资源量,该值可由Center Server提供。(本举例场景中的以内存资源为例)
表格1
Figure BDA00002676799000141
代理程序W11、代理程序W22、代理程序W33、代理程序W44开始分别监控上表的核心应用和整个虚拟机使用资源情况,例如每5分钟采集一次数据并将采集的数据上报给管理程序A。假设管理程序A记录的监控数据如表3所示:
表3
Figure BDA00002676799000142
当故障主机发生故障时,虚拟机W4及在虚拟机W4上运行的代理程序W44无法正常运行,管理程序A失去与代理程序W44的通信。此时管理程序A可向Center Sever查询虚拟机W4的当前状态。由表格2可知,保护主机上一共只有16G内存,而虚拟机W1、W2、W3总共预留3+6+5=14G内存,还剩下2G未预留内存,无法满足虚拟机W4的8G预留要求,因此,虚拟机W4无法迁移到保护主机上。所以虚拟机4的无法迁移,管理程序A进入资源调节阶段。
管理程序A首先查询到保护主机剩余的未预留资源量为2G;然后对记录的虚拟机W4的使用资源量(如表3所示),进行求平均值计算为9GB,取平均值(9GB)与原预留量(8GB)中较小值作为资源的最佳资源预留量即8GB,但保护主机剩余资源量只有2GB,仍然不够。计算待迁移虚拟机W4核心应用所需资源为7GB,仍然不能满足迁移要求。计算保护主机上其它虚拟机的最佳资源预留量,假设最佳资源预留量如下:虚拟机W1为3GB、虚拟机W4为3GB、虚拟机W4为3GB,调整保护主机上所有虚拟机的预留资源量调整为对应的最佳资源预留量,此时剩余7GB未预留内存,可满足虚拟机4核心应用需要的7GB内存。管理程序通知Center Server重新迁移虚拟机w4,虚拟机W4迁移成功,代理程序W44重新启动。管理程序通知代理程序W44裁剪虚拟机W4的非核心应用,仅启动核心应用,之后代理程序W44进入监控阶段。可以看出,在保护主机资源不充足的情况下,仍能让故障主机上的虚拟机成功迁移到保护主机上,确保了虚拟机环境的高可用性,并且可将故障影响控制在一定范围内,避免了所有虚拟机性能都下降的情况。
可以理解的是,上述场景仅为举例,在实际应用中还可能根据需要进行灵活变化。
可以看出,本实施例提供的技术方案中,通过监测运行于第一主机上的第一虚拟机上运行的核心应用的使用资源量;若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。由于首先考虑的是第一虚拟机上运行的核心应用的使用资源量,这样相对与现有虚拟机迁移机制,能够提高故障主机上的虚拟机成功迁移几率,这样有利于提高虚拟机的高可用性,并且有利于避免相关业务中断。
进一步的,尽量通过有限度的调整来满足虚拟机迁移条件,这样有利于减小虚拟机迁移对原有虚拟机的影响。
为便于更好实施本发明实施例的上述方案,下面还提供用于实施上述方法的相关装置和计算机系统。
参见图7、本发明实施例提供一种虚拟机迁移控制装置700,可包括:
监测单元710和迁移控制单元720。
监测单元710,监测第一虚拟机上运行的核心应用的使用资源量,其中第一虚拟机运行于第一主机上。
在本发明一些实施例中,监测单元710可周期性(周期可能是等时长或非等时长的)或在指定事件的触发下的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内监测到的第一虚拟机上运行的核心应用的使用资源量的平均值(或最大值或最小值或任意一次监测到的使用资源量),作为监测到的第一虚拟机上运行的核心应用的使用资源量。
迁移控制单元720,用于若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测单元710监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。
在本发明的一些实施例中,第二主机剩余的资源量为第二主机剩余的未预留资源量或第二主机剩余的实际资源量。其中,第二主机可能为其上运行的部分或全部虚拟机分别预留一定的资源量,当然,这些虚拟机实际上可能未完全使用对应预留的资源量。可通过监测第二主机上的部分或全部虚拟机的使用资源量,来了解第二主机上的部分或全部虚拟机实际的使用资源量。可通过监测第二主机上的部分或全部虚拟机上运行的核心应用的使用资源量,来了解第二主机上的部分或全部虚拟机上运行的核心应用的使用资源量。
在本发明的一些实施例中,监测单元710还用于,监测第一虚拟机的使用资源量;
迁移控制单元720可具体用于若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将第一虚拟机迁移到第二主机上,其中,第一虚拟机上运行的部分或全部非核心应用在第一虚拟机迁移到第二主机之前或之后被裁减掉。
在本发明各实施例中,核心应用可包括操作系统和指定应用(当然指定应用可以没有),其中,指定应用例如为用户所指定的应用和/或业务需求所指定的应用,其中,业务需求指定的应用可能是核心业务对应的应用和/或紧急业务对应的应用。例如,第一虚拟机(或其它虚拟机)的核心应用可包括第一虚拟机(或其它虚拟机)操作系统和指定应用(指定应用可以没有),其中该指定应用例如为第一虚拟机(或其它虚拟机)上用户指定的应用和/或业务需求指定的应用,其中,该业务需求指定的应用可能是第一虚拟机(或其它虚拟机)上运行的与核心业务对应的应用和/或紧急业务对应的应用。
在本发明的一些实施例中,迁移控制单元720还用于,若第二主机剩余的资源量为第二主机剩余的未预留资源量,则若第一主机发生了故障,且第二主机当前剩余的未预留资源量小于监测出的上述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减上述N个虚拟机的预留资源量之后,使得第二主机当前剩余的未预留资源量大于或等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上,其中,上述N个虚拟机为运行于第二主机上的虚拟机,上述N为正整数,上述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。
在本发明的一些实施例中,迁移控制单元720还可用于,若缩减上述N个虚拟机的预留资源量之后,使得第二主机当前剩余的未预留资源量仍小于上述监测单元监测出的上述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将第一虚拟机迁移到第二主机上,其中,上述M个虚拟机为运行于第二主机上的虚拟机,上述M为正整数。
在本发明的一些实施例中,迁移控制单元720可用于,若第二主机剩余的资源量为第二主机剩余的实际资源量,则若第一主机发生了故障,且第二主机当前剩余的实际资源量小于监测出的第一虚拟机的核心应用的使用资源量,则可裁减掉X个虚拟机上运行的部分或者全部非核心应用,将第一虚拟机迁移到第二主机上,其中,上述X个虚拟机为运行于第二主机上的虚拟机,上述X为正整数。
在本发明的另一些实施例中,若第二主机剩余的资源量为第二主机剩余的实际虚拟资源量,迁移控制单元720可用于,若第一主机发生了故障,且第二主机当前剩余的实际虚拟资源量小于监测出的第一虚拟机的核心应用的使用资源量,则可扩展第二主机的虚拟资源量(其中,扩展第二主机的虚拟资源量之后,可认为第二主机当前剩余的实际虚拟资源量,大于或者等于监测出的第一虚拟机或第一虚拟机的核心应用的使用资源量),将第一虚拟机迁移到第二主机上,其中,第一虚拟机上运行的部分或全部非核心应用在第一虚拟机迁移到第二主机之前或之后可以被裁减掉。
其中,扩展第二主机的虚拟资源量后,第二主机的虚拟资源量和物理资源量之间比例可能高于1:1,例如第二主机的虚拟资源量和物理资源量之间比例可能变成2:1或其它比例。
可以理解的是,本实施例的虚拟机迁移控制装置700的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例虚拟机迁移控制装置700通过监测运行于第一主机上的第一虚拟机上运行的核心应用的使用资源量;若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。由于首先考虑的是第一虚拟机上运行的核心应用的使用资源量,这样相对与现有虚拟机迁移机制,能够提高故障主机上的虚拟机成功迁移几率,这样有利于提高虚拟机的高可用性,并且有利于避免相关业务中断。
参见图8,图8为本发明实施例提供的一种计算机系统800的示意图,计算机系统800可包括输入装置810、输出装置820、存储器830和处理器840(计算机系统中的处理器840的数量可以1个或多个,图8中以1个处理器为例)。在本发明的一些实施例中,输入装置810、输出装置820、存储器830和处理器840可通过总线或其它方式连接,其中,图8中以通过总线连接为例。
其中,处理器840执行如下步骤:监测第一虚拟机上运行的核心应用的使用资源量,其中,第一虚拟机运行于第一主机上;若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。
其中,第二主机为第一虚拟机的保护主机。
在本发明一些实施例中,处理器840可周期性(周期可能是等时长或非等时长的)或在指定事件的触发下的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内监测到的第一虚拟机上运行的核心应用的使用资源量的平均值(或最大值或最小值或任意一次监测到的使用资源量),作为监测到的第一虚拟机上运行的核心应用的使用资源量。
在本发明一些实施例中,第二主机剩余的资源量可为第二主机剩余的未预留资源量或第二主机剩余的实际资源量。其中,第二主机可能为其上运行的部分或全部虚拟机分别预留一定的资源量,当然,这些虚拟机实际上可能未完全使用对应预留的资源量。其中,处理器840可通过监测第二主机上的部分或全部虚拟机的使用资源量,来了解第二主机上的部分或全部虚拟机实际的使用资源量。处理器840可通过监测第二主机上的部分或全部虚拟机上运行的核心应用的使用资源量,来了解第二主机上的部分或全部虚拟机上运行的核心应用的使用资源量。
在本发明各实施例中,核心应用可包括操作系统和指定应用(当然指定应用可以没有),其中,指定应用例如为用户所指定的应用和/或业务需求所指定的应用,其中,业务需求指定的应用可能是核心业务对应的应用和/或紧急业务对应的应用。例如,第一虚拟机(或其它虚拟机)的核心应用可包括第一虚拟机(或其它虚拟机)操作系统和指定应用(指定应用可以没有),其中该指定应用例如为第一虚拟机(或其它虚拟机)上用户指定的应用和/或业务需求指定的应用,其中,该业务需求指定的应用可能是第一虚拟机(或其它虚拟机)上运行的与核心业务对应的应用和/或紧急业务对应的应用。
在本发明的一些实施例中,处理器840还可进一步监测第一虚拟机的使用资源量;若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的第一虚拟机的核心应用的使用资源量,则将第一虚拟机迁移到第二主机上可包括:若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的第一虚拟机核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将第一虚拟机迁移到第二主机上,其中,第一虚拟机上运行的部分或全部非核心应用(其中,非核心应用指的是除核心应用外的其它应用)在第一虚拟机迁移到第二主机之前或之后被裁减掉。
在本发明的一些实施例中,若第二主机剩余的资源量为第二主机剩余的未预留资源量,则若第一主机发生了故障,且第二主机当前剩余的未预留资源量小于监测出的第一虚拟机的核心应用的使用资源量,则处理器840缩减N个虚拟机的预留资源量;若缩减上述N个虚拟机的预留资源量之后,使得第二主机当前剩余的未预留资源量大于或等于监测出的第一虚拟机核心应用的使用资源量,则处理器840将第一虚拟机迁移到第二主机上,其中,上述N个虚拟机为运行于第二主机上的虚拟机,上述N为正整数,上述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。
在本发明的一些实施例中,进一步的,若缩减了上述N个虚拟机的预留资源量之后,使得第二主机当前剩余的未预留资源量仍小于监测出的第一虚拟机核心应用的使用资源量,则处理器840可裁减掉M个虚拟机上运行的部分或者全部非核心应用,将第一虚拟机迁移到第二主机上,其中,上述M个虚拟机为运行于第二主机上的虚拟机,上述M为正整数。
在本发明的一些实施例中,处理器840还可用于若第二主机剩余的资源量为第二主机剩余的实际资源量,则若第一主机发生了故障,并且第二主机当前剩余的实际资源量小于监测出的第一虚拟机的核心应用的使用资源量,可裁减掉X个虚拟机上运行的部分或者全部非核心应用,可将第一虚拟机迁移到第二主机上,其中,上述X个虚拟机为运行于第二主机上的虚拟机,上述X为正整数。
在本发明的另一些实施例中,处理器840还可用于若第二主机剩余的资源量为第二主机剩余的实际虚拟资源量,则若第一主机发生了故障,且第二主机当前剩余的实际虚拟资源量小于监测出的第一虚拟机的核心应用的使用资源量,则可扩展第二主机的虚拟资源量(扩展第二主机的虚拟资源量之后,可认为第二主机当前剩余的实际虚拟资源量,大于或者等于监测出的第一虚拟机或第一虚拟机的核心应用的使用资源量),将第一虚拟机迁移到第二主机上,其中,第一虚拟机上运行的部分或全部非核心应用在第一虚拟机迁移到第二主机之前或之后可以被裁减掉。其中,扩展第二主机的虚拟资源量后,第二主机的虚拟资源量和物理资源量之间比例可能高于1:1,例如第二主机的虚拟资源量和物理资源量之间比例可能变成2:1或其它比例。
可以理解的是,本实施例的计算机800的各器件的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,本实施例处理器840通过监测运行于第一主机上的第一虚拟机上运行的核心应用的使用资源量;若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。由于首先考虑的是第一虚拟机上运行的核心应用的使用资源量,这样相对与现有虚拟机迁移机制,能够提高故障主机上的虚拟机成功迁移几率,这样有利于提高虚拟机的高可用性,并且有利于避免相关业务中断。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的虚拟机迁移控制方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种虚拟机迁移控制方法,其特征在于,包括:
监测第一虚拟机上运行的核心应用的使用资源量,其中,所述第一虚拟机运行于第一主机上;
若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上。
2.根据权利要求1所述的方法,其特征在于,
所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量或所述第二主机剩余的实际资源量。
3.根据权利要求1或2所述的方法,其特征在于,
所述方法还包括:
监测所述第一虚拟机的使用资源量;
所述若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,包括:
若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述第一虚拟机上运行的部分或全部非核心应用在所述第一虚拟机迁移到所述第二主机之前或之后被裁减掉。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述方法还包括:
若所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量,则若所述第一主机发生了故障,且所述第二主机当前剩余的未预留资源量小于监测出的所述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量大于或等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述N个虚拟机为运行于所述第二主机上的虚拟机,所述N为正整数,所述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。
5.根据权利要求4所述的方法,其特征在于,
所述方法还包括:
若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量仍小于监测出的所述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将所述第一虚拟机迁移到所述第二主机上,其中,所述M个虚拟机为运行于所述第二主机上的虚拟机,所述M为正整数。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述监测第一虚拟机上运行的核心应用的使用资源量,包括:周期性的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内监测到的所述第一虚拟机上运行的核心应用的使用资源量的平均值或最大值或最小值,作为监测到的所述第一虚拟机上运行的核心应用的使用资源量。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述核心应用包括操作系统和指定应用。
8.一种虚拟机迁移控制装置,其特征在于,包括:
监测单元,监测第一虚拟机上运行的核心应用的使用资源量,其中,所述第一虚拟机运行于第一主机上;
迁移控制单元,用于若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于所述监测单元监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上。
9.根据权利要求8所述的虚拟机迁移控制装置,其特征在于,
所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量或所述第二主机剩余的实际资源量。
10.根据权利要求8或9所述的虚拟机迁移控制装置,其特征在于,
所述监测单元还用于,监测所述第一虚拟机的使用资源量;
所述迁移控制单元具体用于,若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述第一虚拟机上运行的部分或全部非核心应用在所述第一虚拟机迁移到所述第二主机之前或之后被裁减掉。
11.根据权利要求8至10任一项所述的虚拟机迁移控制装置,其特征在于,
所述迁移控制单元还用于,若所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量,则若所述第一主机发生了故障,且所述第二主机当前剩余的未预留资源量小于监测出的所述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量大于或等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述N个虚拟机为运行于所述第二主机上的虚拟机,所述N为正整数,所述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。
12.根据权利要求11所述的虚拟机迁移控制装置,其特征在于,所述迁移控制单元还用于,若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量仍小于所述监测单元监测出的所述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将所述第一虚拟机迁移到所述第二主机上,其中,所述M个虚拟机为运行于所述第二主机上的虚拟机,所述M为正整数。
CN201210587107.1A 2012-12-28 2012-12-28 虚拟机迁移控制方法和装置 Active CN103077079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210587107.1A CN103077079B (zh) 2012-12-28 2012-12-28 虚拟机迁移控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210587107.1A CN103077079B (zh) 2012-12-28 2012-12-28 虚拟机迁移控制方法和装置

Publications (2)

Publication Number Publication Date
CN103077079A true CN103077079A (zh) 2013-05-01
CN103077079B CN103077079B (zh) 2016-06-08

Family

ID=48153614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210587107.1A Active CN103077079B (zh) 2012-12-28 2012-12-28 虚拟机迁移控制方法和装置

Country Status (1)

Country Link
CN (1) CN103077079B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468150A (zh) * 2013-09-12 2015-03-25 阿里巴巴集团控股有限公司 一种虚拟主机实现故障迁移的方法及虚拟主机业务装置
CN104836850A (zh) * 2015-04-16 2015-08-12 华为技术有限公司 一种实例节点管理的方法及管理设备
CN104915241A (zh) * 2014-03-12 2015-09-16 华为技术有限公司 一种虚拟机迁移控制方法及装置
CN105808341A (zh) * 2014-12-29 2016-07-27 中国移动通信集团公司 一种资源调度的方法、装置和系统
CN106325972A (zh) * 2015-06-24 2017-01-11 中国移动通信集团公司 一种虚拟机管理方法及网络设备
CN106559441A (zh) * 2015-09-25 2017-04-05 华为技术有限公司 一种基于云计算服务的虚拟机监控方法、装置及系统
CN108345490A (zh) * 2017-01-24 2018-07-31 华为技术有限公司 一种nfv中部署虚拟机的方法和系统
CN109800058A (zh) * 2019-01-23 2019-05-24 山东超越数控电子股份有限公司 一种虚拟机自动迁移方法
CN113515410A (zh) * 2021-04-23 2021-10-19 上海英方软件股份有限公司 一种虚拟机保护系统及实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739287A (zh) * 2008-11-13 2010-06-16 国际商业机器公司 管理虚拟机的装置、系统和方法
CN102004671A (zh) * 2010-11-15 2011-04-06 北京航空航天大学 一种云计算环境下数据中心基于统计模型的资源管理方法
CN102307133A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种公有云平台虚拟机调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739287A (zh) * 2008-11-13 2010-06-16 国际商业机器公司 管理虚拟机的装置、系统和方法
CN102004671A (zh) * 2010-11-15 2011-04-06 北京航空航天大学 一种云计算环境下数据中心基于统计模型的资源管理方法
CN102307133A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种公有云平台虚拟机调度方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468150A (zh) * 2013-09-12 2015-03-25 阿里巴巴集团控股有限公司 一种虚拟主机实现故障迁移的方法及虚拟主机业务装置
CN104915241B (zh) * 2014-03-12 2018-09-07 华为技术有限公司 一种虚拟机迁移控制方法及装置
US10956198B2 (en) 2014-03-12 2021-03-23 Huawei Technologies Co., Ltd. Controlling virtual machine migration based on the type of application within the virtual machine to be migrated, target resource availability, and affinity information
CN104915241A (zh) * 2014-03-12 2015-09-16 华为技术有限公司 一种虚拟机迁移控制方法及装置
WO2015135328A1 (zh) * 2014-03-12 2015-09-17 华为技术有限公司 一种虚拟机迁移控制方法及装置
US10198282B2 (en) 2014-03-12 2019-02-05 Huawei Technologies Co., Ltd. Controlling a VM migration to a destination host based on resource availability and a type of application running on the VM
CN109101318A (zh) * 2014-03-12 2018-12-28 华为技术有限公司 一种虚拟机迁移控制方法及装置
CN105808341A (zh) * 2014-12-29 2016-07-27 中国移动通信集团公司 一种资源调度的方法、装置和系统
CN105808341B (zh) * 2014-12-29 2019-05-28 中国移动通信集团公司 一种资源调度的方法、装置和系统
US10601657B2 (en) 2015-04-16 2020-03-24 Huawei Technologies Co., Ltd. Instance node management method and management device
CN104836850A (zh) * 2015-04-16 2015-08-12 华为技术有限公司 一种实例节点管理的方法及管理设备
CN106325972A (zh) * 2015-06-24 2017-01-11 中国移动通信集团公司 一种虚拟机管理方法及网络设备
CN106325972B (zh) * 2015-06-24 2020-02-07 中国移动通信集团公司 一种虚拟机管理方法及网络设备
CN106559441A (zh) * 2015-09-25 2017-04-05 华为技术有限公司 一种基于云计算服务的虚拟机监控方法、装置及系统
CN108345490A (zh) * 2017-01-24 2018-07-31 华为技术有限公司 一种nfv中部署虚拟机的方法和系统
CN108345490B (zh) * 2017-01-24 2021-04-09 华为技术有限公司 一种nfv中部署虚拟机的方法和系统
CN109800058A (zh) * 2019-01-23 2019-05-24 山东超越数控电子股份有限公司 一种虚拟机自动迁移方法
CN113515410A (zh) * 2021-04-23 2021-10-19 上海英方软件股份有限公司 一种虚拟机保护系统及实现方法
CN113515410B (zh) * 2021-04-23 2022-04-22 上海英方软件股份有限公司 一种虚拟机保护系统及实现方法

Also Published As

Publication number Publication date
CN103077079B (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN103077079A (zh) 虚拟机迁移控制方法和装置
EP3110106B1 (en) Disaster recovery data center configuration method and apparatus in cloud computing architecture
US9367340B2 (en) Resource management method and apparatus for virtual machine system, and virtual machine system
US10333859B2 (en) Multi-tenant resource coordination method
JP4119162B2 (ja) 多重化計算機システム、論理計算機の割当方法および論理計算機の割当プログラム
US8843772B2 (en) Systems and methods for dynamic power allocation in an information handling system environment
JP3978199B2 (ja) リソースの利用およびアプリケーションの性能の監視システムおよび監視方法
US20100211958A1 (en) Automated resource load balancing in a computing system
CN102325192A (zh) 云计算实现方法和系统
CN105743995A (zh) 一种可移植高可用部署和管理容器集群的系统和方法
CN104050045A (zh) 基于磁盘io的虚拟资源分配方法及装置
CN102082692A (zh) 基于网络数据流向的虚拟机迁移方法、设备和集群系统
CN103180830A (zh) 中央处理器资源分配方法和计算节点
CN104508634A (zh) 虚拟机的动态资源分配
CN101120317A (zh) 将存储器从一个虚拟机动态再分配到另一个的方法、装置和系统
CN102972010A (zh) 一种云环境下虚拟应用双机的切换方法、装置及系统
CN103885812A (zh) 虚拟机规格调整方法及装置
CN102035662A (zh) 一种虚拟服务器管理系统、方法及装置
US11740921B2 (en) Coordinated container scheduling for improved resource allocation in virtual computing environment
CN103399781A (zh) 云服务器及其虚拟机管理方法
CN102831015A (zh) 多核处理器的调度方法和设备
CN113312142A (zh) 虚拟化处理系统、方法、装置及设备
JP5961402B2 (ja) 計算機システム
CN111290833A (zh) 一种云平台管控方法
CN106302717B (zh) 一种ceph系统的资源优化方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant