《虚拟机迁移控制方法和装置.pdf》由会员分享,可在线阅读,更多相关《虚拟机迁移控制方法和装置.pdf(24页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103077079 A(43)申请公布日 2013.05.01CN103077079A*CN103077079A*(21)申请号 201210587107.1(22)申请日 2012.12.28G06F 9/48(2006.01)G06F 9/455(2006.01)(71)申请人华为技术有限公司地址 518129 广东省深圳市龙岗区坂田华为总部办公楼(72)发明人颜开 秦翼 刘贺(74)专利代理机构深圳市深佳知识产权代理事务所(普通合伙) 44285代理人唐华明(54) 发明名称虚拟机迁移控制方法和装置(57) 摘要本发明实施例公开了虚拟机迁移控制方法和装置。其中,。
2、一种虚拟机迁移控制方法可包括:监测第一虚拟机上运行的核心应用的使用资源量,其中,第一虚拟机运行于第一主机上;若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。本发明实施例提供的技术方案,有利于提高虚拟机的高可用性,有利于避免业务中断。(51)Int.Cl.权利要求书2页 说明书15页 附图6页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书15页 附图6页(10)申请公布号 CN 103077079 ACN 103077079 A1/2页21.一种虚拟机迁移控制方法,其特征在于,包括:监测第一虚拟。
3、机上运行的核心应用的使用资源量,其中,所述第一虚拟机运行于第一主机上;若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上。2.根据权利要求1所述的方法,其特征在于,所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量或所述第二主机剩余的实际资源量。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:监测所述第一虚拟机的使用资源量;所述若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,包括:若所述第一主机发生了。
4、故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述第一虚拟机上运行的部分或全部非核心应用在所述第一虚拟机迁移到所述第二主机之前或之后被裁减掉。4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:若所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量,则若所述第一主机发生了故障,且所述第二主机当前剩余的未预留资源量小于监测出的所述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留。
5、资源量大于或等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述N个虚拟机为运行于所述第二主机上的虚拟机,所述N为正整数,所述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量仍小于监测出的所述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将所述第一虚拟机迁移到所述第二主机上,其中,所述M个虚拟机为运行于所述第二主机上的虚拟机,所述M为正整数。6.根据权利要求1至5任一项所述的方法。
6、,其特征在于,所述监测第一虚拟机上运行的核心应用的使用资源量,包括:周期性的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内监测到的所述第一虚拟机上运行的核心应用的使用资源量的平均值或最大值或最小值,作为监测到的所述第一虚拟机上运行的核心应用的使用资源量。7.根据权利要求1至6任一项所述的方法,其特征在于,所述核心应用包括操作系统和指定应用。8.一种虚拟机迁移控制装置,其特征在于,包括:权 利 要 求 书CN 103077079 A2/2页3监测单元,监测第一虚拟机上运行的核心应用的使用资源量,其中,所述第一虚拟机运行于第一主机上;迁移控制单元,用于若所述第一主机发生了故障,且所述第二。
7、主机剩余的资源量大于或者等于所述监测单元监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上。9.根据权利要求8所述的虚拟机迁移控制装置,其特征在于,所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量或所述第二主机剩余的实际资源量。10.根据权利要求8或9所述的虚拟机迁移控制装置,其特征在于,所述监测单元还用于,监测所述第一虚拟机的使用资源量;所述迁移控制单元具体用于,若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述第一。
8、虚拟机上运行的部分或全部非核心应用在所述第一虚拟机迁移到所述第二主机之前或之后被裁减掉。11.根据权利要求8至10任一项所述的虚拟机迁移控制装置,其特征在于,所述迁移控制单元还用于,若所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量,则若所述第一主机发生了故障,且所述第二主机当前剩余的未预留资源量小于监测出的所述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量大于或等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述N个虚拟机为运行于所述第二主机上的虚拟机,所述N为正整数。
9、,所述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。12.根据权利要求11所述的虚拟机迁移控制装置,其特征在于,所述迁移控制单元还用于,若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量仍小于所述监测单元监测出的所述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将所述第一虚拟机迁移到所述第二主机上,其中,所述M个虚拟机为运行于所述第二主机上的虚拟机,所述M为正整数。权 利 要 求 书CN 103077079 A1/15页4虚拟机迁移控制方法和装置技术领域0001 本发明涉及计算机技术领域,具体涉及虚拟机迁移控制方法和装。
10、置。背景技术0002 随着信息系统技术的不断发展,数据在企业的应用越来越广,如何提高信息系统的高可用性(HA,High Availability),成为建设稳健的计算机系统的首要任务之一。HA通常指,通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。传统保护方案花费成本高并且实现起来过于复杂,目前行业的技术趋势是使用虚拟化技术。0003 虚拟化技术是一种将底层硬件设备与上层操作系统、应用程序分离的去耦合技术,如图1所示,引入虚拟机监控器(VMM,Virtual Machine Monitor)层直接管理底层硬件资源,创建与底层硬件无关的虚拟。
11、机(VM,Virtual Machine)供上层操作系统和应用程序使用。虚拟化技术打破了物理硬件和操作系统间的硬性连接。当下的计算机是专为运行单个操作系统而设计的,大部分计算机资源远未得到充分利用。借助虚拟化机制可在单台物理机上运行多个虚拟机,每个虚拟机都可以共享同一台物理机的资源并运行不同的操作系统。0004 虚拟化一台物理机仅仅是开始,如果将跨数百台互连的物理机和存储设备进行扩展,可以构建一个完整的虚拟基础架构。无需为每个应用程序永久性地分配服务器、存储空间或网络带宽。与之相对,硬件资源会根据需要动态分配到所需的位置。虚拟基础架构是一种企业级解决方案,可提供流畅、强大的计算能力,从而最大限。
12、度地利用资源和节约成本。基于虚拟化基础架构,当虚拟化环境中的硬件或者操作系统发生故障时,可以提供统一且经济高效的故障切换保护,大大提高了可用性。0005 现有技术主要通过在保护主机上未待迁移的主机预留指定资源量(如CPU和内存量),来保证迁移到保护主机的虚拟机的有足够的资源量。现有技术仅在保护主机有足够的未预留资源时,才允许虚拟机迁移到保护主机。当保护主机无足够资源量预留给待迁移的虚拟机(即待迁移虚拟机当前所使用资源量大于保护主机的剩余未预留资源)时,通常拒绝迁移该虚拟机到保护主机。在这种情况下,故障主机上的虚拟机无法立即恢复,导致了业务中断,并且中断时间不可控。发明内容0006 本发明实施例。
13、提供虚拟机迁移控制方法和装置,以期尽量提高虚拟机的高可用性,尽量避免业务中断。0007 本发明一方面提供一种虚拟机迁移控制方法,可包括:0008 监测第一虚拟机上运行的核心应用的使用资源量,其中,所述第一虚拟机运行于第一主机上;0009 若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出说 明 书CN 103077079 A2/15页5的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上。0010 结合第一方面,在第一种可能的实施方式中,所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量或所述第二主机剩余的实际资源量。0011 结合第一方面或第一方面的第。
14、一种可能的实施方式,在第二种可能的实施方式中,所述方法还包括:0012 监测所述第一虚拟机的使用资源量;0013 所述若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,包括:0014 若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于监测出的所述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述第一虚拟机上运行的部分或全部非核心应用在所述第一虚拟机迁移到所述第二主机之前或之后被裁减掉。0015 结合第一方面或第一方面的第一。
15、种可能的实施方式或第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述方法还包括:0016 若所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量,则若所述第一主机发生了故障,且所述第二主机当前剩余的未预留资源量小于监测出的所述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量大于或等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述N个虚拟机为运行于所述第二主机上的虚拟机,所述N为正整数,所述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。00。
16、17 结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,0018 所述方法还包括:0019 若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量仍小于监测出的所述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将所述第一虚拟机迁移到所述第二主机上,其中,所述M个虚拟机为运行于所述第二主机上的虚拟机,所述M为正整数。0020 结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第五种可能的实施方式中,所述监测第一虚拟机上运行的核心应用的使用资源量。
17、,包括:周期性的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内监测到的所述第一虚拟机上运行的核心应用的使用资源量的平均值或最大值或最小值,作为监测到的所述第一虚拟机上运行的核心应用的使用资源量。0021 结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式,在第六种可能的实施方式中,所述核心应用包括操作系统和指定应用。0022 本发明第二方面提供一种虚拟机迁移控制装置,包括:0023 监测单元,监测第一虚拟机上运行的核心应用的使用资源量,其中,所述第一虚拟说 明 书。
18、CN 103077079 A3/15页6机运行于第一主机上;0024 迁移控制单元,用于若所述第一主机发生了故障,且所述第二主机剩余的资源量大于或者等于所述监测单元监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上。0025 结合第二方面,在第一种可能的实施方式中,0026 所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量或所述第二主机剩余的实际资源量。0027 结合第二方面或第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述监测单元还用于,监测所述第一虚拟机的使用资源量;0028 所述迁移控制单元具体用于,若所述第一主机发生了故障,且所述第二主机剩余。
19、的资源量大于或者等于监测出的所述核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述第一虚拟机上运行的部分或全部非核心应用在所述第一虚拟机迁移到所述第二主机之前或之后被裁减掉。0029 结合第二方面或第二方面的第一种可能的实施方式或第二方面的第二种可能的实施方式,在第三种可能的实施方式中,所述迁移控制单元还用于,若所述第二主机剩余的资源量为所述第二主机剩余的未预留资源量,则若所述第一主机发生了故障,且所述第二主机当前剩余的未预留资源量小于监测出的所述核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减所述N个虚拟机的预。
20、留资源量之后,使得所述第二主机当前剩余的未预留资源量大于或等于监测出的所述核心应用的使用资源量,则将所述第一虚拟机迁移到所述第二主机上,其中,所述N个虚拟机为运行于所述第二主机上的虚拟机,所述N为正整数,所述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。0030 结合第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述迁移控制单元还用于,若缩减所述N个虚拟机的预留资源量之后,使得所述第二主机当前剩余的未预留资源量仍小于所述监测单元监测出的所述核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将所述第一虚拟机迁移到所述第二主机上,其中,所述。
21、M个虚拟机为运行于所述第二主机上的虚拟机,所述M为正整数。0031 可以看出,本发明实施例提供的技术方案中,通过监测运行于第一主机上的第一虚拟机上运行的核心应用的使用资源量;若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。由于首先考虑的是第一虚拟机上运行的核心应用的使用资源量,这样相对于现有虚拟机迁移机制,能够提高故障主机上运行的虚拟机成功迁移到保护主机的几率,有利于提高虚拟机的高可用性,并且有利于避免相关业务中断。附图说明0032 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使。
22、用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以说 明 书CN 103077079 A4/15页7根据这些附图获得其他的附图。0033 图1是本发明实施例提供的一种虚拟化系统的示意图;0034 图2是本发明实施例提供的一种虚拟化集群系统的示意图;0035 图3是本发明实施例提供的一种虚拟机迁移控制方法的流程示意图;0036 图4是本发明实施例提供的另一种虚拟机迁移控制方法的流程示意图;0037 图5-a是本发明实施例提供的另一种虚拟化集群系统的示意图;0038 图5-b是本发明实施例提供的另一种虚拟化集群。
23、系统的示意图;0039 图5-c是本发明实施例提供的另一种虚拟化集群系统的示意图;0040 图6是本发明实施例提供的另一种虚拟化集群系统的示意图;0041 图7是本发明实施例提供的虚拟机迁移控制装置的示意图;0042 图8是本发明实施例提供的计算机系统能够的示意图。具体实施方式0043 本发明实施例提供虚拟机迁移控制方法和装置,以期尽量提高虚拟机的高可用性,尽量避免业务中断。0044 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例。
24、,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。0045 以下分别进行详细说明。0046 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三” “第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有。
25、清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。0047 下面先对一些概念进行介绍。0048 主机是使用虚拟化软件的计算机。由于使用了虚拟化软件,计算机有了虚拟层,可以运行多台虚拟机。主机提供虚拟机使用的CPU和内存等资源,并使虚拟机能够访问存储器和网络。0049 群集可看成是一组共享资源和管理接口的主机。例如图2所示,集群可包括中心服务器(Center Sever)和多台主机。向群集添加主机时,主机的资源会成为群集资源的一部分。Center Sever可集中管理群集中的各主机,并可提供便捷的控制和基本的服务,如访问控制、性能监控和配置等。Center Sever可根据系统管。
26、理员设定的策略,管理主机的虚拟机分配,以及给定主机内虚拟机的资源分配。0050 利用多台主机搭建成一个群集,群集对其中的所有主机提供HA保护。主机上的虚拟层软件可监控物理机状况,一旦物理机出现故障,Center Sever可根据一定的策略,在具说 明 书CN 103077079 A5/15页8有备用资源量的其它主机上自动重启故障物理机中受影响的虚拟机。0051 当有多个主机出现故障时,保护主机可能会出现资源不足的情况。在这种情况下,虚拟机迁移到保护主机上,可利用虚拟页技术减少相同物理页,利用虚拟内存技术将内存换出到磁盘上等各种技术满足HA要求,但可能劣化保护主机上其它原有虚拟机的性能。0052。
27、 本发明虚拟机迁移控制方法的一个实施例,可包括:监测第一虚拟机上运行的核心应用的使用资源量,其中,第一虚拟机运行于第一主机上;若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上,其中,第二主机为第一虚拟机的保护主机。0053 参见图3,图3是本发明实施例提供的一种虚拟机迁移控制方法的流程示意图,参见图3,本发明实施例提供的一种虚拟机迁移控制方法可以包括以下内容:0054 301、监测第一虚拟机上运行的核心应用的使用资源量,其中,第一虚拟机运行于第一主机上。0055 在本发明一些实施例中,可周期性(周期可能是等时长或非等时长的。
28、)或在指定事件的触发下的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内(设定时长内可能记性进行了多次监测)监测到的第一虚拟机上运行的核心应用的使用资源量的平均值(或最大值或最小值或任意一次监测到的使用资源量),作为监测到的第一虚拟机上运行的核心应用的使用资源量。0056 302、若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。0057 其中,第二主机为第一虚拟机的保护主机。可将第二主机作为第一主机上运行的所有虚拟机的保护主机,此场景下,第二主机可看做是第一主机的保护主机,或也可将第二主机作为第一主机上运行的部分虚。
29、拟机的保护主机,当然此场景下第二主机也可看做是第一主机的其中一个保护主机。0058 在本发明一些实施例中,第二主机剩余的资源量可为第二主机剩余的未预留资源量或第二主机剩余的实际资源量。其中,第二主机可能为其上运行的部分或全部虚拟机分别预留一定的资源量,当然,这些虚拟机实际上可能未完全使用对应预留的资源量。可通过监测第二主机上的部分或全部虚拟机的使用资源量,来了解第二主机上的部分或全部虚拟机实际的使用资源量。可通过监测第二主机上的部分或全部虚拟机上运行的核心应用的使用资源量,来了解第二主机上的部分或全部虚拟机上运行的核心应用的使用资源量。0059 在本发明各实施例中,核心应用可包括操作系统和指定。
30、应用(当然指定应用可以没有),其中,指定应用例如为用户所指定的应用和/或业务需求所指定的应用,其中,业务需求指定的应用可能是核心业务对应的应用和/或紧急业务对应的应用。例如,第一虚拟机(或其它虚拟机)的核心应用可包括第一虚拟机(或其它虚拟机)操作系统和指定应用(指定应用可以没有),其中该指定应用例如为第一虚拟机(或其它虚拟机)上用户指定的应用和/或业务需求指定的应用,其中,该业务需求指定的应用可能是第一虚拟机(或其它虚拟机)上运行的与核心业务对应的应用和/或紧急业务对应的应用。0060 可以理解,本发明的各实施例所指资源可为虚拟资源或物理资源,其中虚拟资源可包括虚拟CPU和虚拟内存,当然还可包。
31、括虚拟机需使用的其它虚拟资源;物理资源可包括物理CPU和物理内存,当然还可包括虚拟机需使用的其它物理资源。说 明 书CN 103077079 A6/15页90061 在本发明的一些实施例中,还可进一步监测第一虚拟机的使用资源量;若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的第一虚拟机的核心应用的使用资源量,则将第一虚拟机迁移到第二主机上可包括:若第一主机发生了故障,且第二主机剩余的资源量大于或者等于监测出的第一虚拟机核心应用的使用资源量,且第二主机剩余的资源量小于第一虚拟机的使用资源量,则将第一虚拟机迁移到第二主机上,其中,第一虚拟机上运行的部分或全部非核心应用(其中,非核心。
32、应用指的是除核心应用外的其它应用)在第一虚拟机迁移到第二主机之前或之后被裁减掉。0062 在本发明的一些实施例中,若第二主机剩余的资源量为第二主机剩余的未预留资源量,则若第一主机发生了故障,且第二主机当前剩余的未预留资源量小于监测出的第一虚拟机的核心应用的使用资源量,则缩减N个虚拟机的预留资源量;若缩减上述N个虚拟机的预留资源量之后,使得第二主机当前剩余的未预留资源量大于或等于监测出的第一虚拟机核心应用的使用资源量,则将第一虚拟机迁移到第二主机上,其中,上述N个虚拟机为运行于第二主机上的虚拟机,上述N为正整数,上述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量。0063 。
33、在本发明的一些实施例中,进一步的,若缩减了上述N个虚拟机的预留资源量之后,使得第二主机当前剩余的未预留资源量仍小于监测出的第一虚拟机核心应用的使用资源量,则裁减掉M个虚拟机上运行的部分或者全部非核心应用,将第一虚拟机迁移到第二主机上,其中,上述M个虚拟机为运行于第二主机上的虚拟机,上述M为正整数。0064 在本发明的一些实施例中,若第二主机剩余的资源量为第二主机剩余的实际资源量,则若第一主机发生了故障,且第二主机当前剩余的实际资源量小于监测出的第一虚拟机的核心应用的使用资源量,则可裁减掉X个虚拟机上运行的部分或者全部非核心应用,将第一虚拟机迁移到第二主机上,其中,上述X个虚拟机为运行于第二主机。
34、上的虚拟机,上述X为正整数。0065 在本发明的另一些实施例中,若第二主机剩余的资源量为第二主机剩余的实际虚拟资源量,则若第一主机发生了故障,且第二主机当前剩余的实际虚拟资源量小于监测出的第一虚拟机的核心应用的使用资源量,则可扩展第二主机的虚拟资源量(扩展第二主机的虚拟资源量之后,可认为第二主机当前剩余的实际虚拟资源量,大于或者等于监测出的第一虚拟机或第一虚拟机的核心应用的使用资源量),将第一虚拟机迁移到第二主机上,其中,第一虚拟机上运行的部分或全部非核心应用在第一虚拟机迁移到第二主机之前或之后可以被裁减掉。其中,扩展第二主机的虚拟资源量后,第二主机的虚拟资源量和物理资源量之间比例可能高于1:。
35、1,例如第二主机的虚拟资源量和物理资源量之间比例可能变成2:1或其它比例。0066 可以看出,本发明实施例提供的技术方案中,通过监测运行于第一主机上的第一虚拟机上运行的核心应用的使用资源量;若第一主机发生故障,且第二主机剩余的资源量大于或者等于监测出的上述核心应用的使用资源量,则将第一虚拟机迁移到第二主机上。由于首先考虑的是第一虚拟机上运行的核心应用的使用资源量,这样相对与现有虚拟机迁移机制,能够提高故障主机上的虚拟机成功迁移几率,这样有利于提高虚拟机的高可用性,并且有利于避免相关业务中断。0067 为便于更好的理解和实施本发明实施例的上述方案,下面举例一些应用场景进行说 明 书CN 1030。
36、77079 A7/15页10详细说明。0068 参见图4,图4是本发明实施例提供的另一种虚拟机迁移控制方法的流程示意图,参见图4,本发明实施例提供的另一种虚拟机迁移控制方法可以包括以下内容:0069 401、监测第一虚拟机上运行的核心应用的使用资源量和第一虚拟机的使用资源量。0070 在本发明一些实施例中,可周期性(周期可能是等时长或非等时长的)或在指定事件的触发下的监测第一虚拟机上运行的核心应用的使用资源量,将设定时长内监测到的第一虚拟机上运行的核心应用的使用资源量的平均值(或最大值或最小值或任意一次监测到的使用资源量),作为监测到的第一虚拟机上运行的核心应用的使用资源量。0071 在本发明。
37、一些实施例中,可周期性(周期可能是等时长或非等时长的)或在指定事件的触发下的监测第一虚拟机的使用资源量,将设定时长内监测到的第一虚拟机上的使用资源量的平均值(或最大值或最小值或任意一次监测到的使用资源量),作为监测到的第一虚拟机的使用资源量。0072 402、若第一主机发生故障,判断第二主机当前剩余的未预留资源量是否大于或等于监测出的第一虚拟机的使用资源量;0073 若否,则执行步骤403;0074 若是,则执行步骤408。0075 403、判断第二主机当前剩余的未预留资源量是否大于或等于监测出的第一虚拟机核心应用的使用资源量;0076 若否,则执行步骤404;0077 若是,则执行步骤407。
38、。0078 404、缩减第二主机上运行的N个虚拟机的预留资源量;0079 其中,上述N为正整数。0080 在本发明的一些实施例中,上述N个虚拟机中的部分或全部虚拟机的实际使用资源量小于其对应的预留资源量,或者,上述N个虚拟机中的部分或全部虚拟机所运行的应用对应非核心业务或非紧急业务。0081 在本发明一些实施例中,可为每个虚拟机预留一定资源量,并可将虚拟机的预留资源量记录到对应的配置文件中。其中,在初始化过程中可为每个虚拟机设定预留资源量,该设定预留资源量可记录到配置文件,后续可修改配置文件中记录的预留资源量。0082 在本发明一些实施例中,可根据虚拟机实际的使用资源量得到虚拟机的最佳预留资源。
39、量,例如,预留资源量Y作为虚拟机的最佳预留资源量,或者可比较预留资源量Y和对应配置文件中当前记录的预留资源量,若预留资源量Y大于或等于对应配置文件中当前记录的预留资源量,则可将对应配置文件中当前记录的预留资源量作为该虚拟机的最佳预留资源量,若预留资源量Y小于对应配置文件中当前记录的预留资源量,则可将预留资源量Y作为该虚拟机的最佳预留资源量。其中,预留资源量Y为设定时长内监测到的该虚拟机(或该虚拟机上运行的核心应用)的使用资源量的平均值(或者最大值或最小值或任意1次监测到的使用资源量)。若得到了虚拟机的最佳预留资源量,则可将该最佳预留资源量记录到对应的配置文件。0083 在本发明的一些实施例中,可以不缩减第二主机上运行的所有虚拟机的预留资源说 明 书CN 103077079 A10。