CN105760209B - 移除虚拟机的方法、装置与自动弹性群组 - Google Patents
移除虚拟机的方法、装置与自动弹性群组 Download PDFInfo
- Publication number
- CN105760209B CN105760209B CN201410782382.8A CN201410782382A CN105760209B CN 105760209 B CN105760209 B CN 105760209B CN 201410782382 A CN201410782382 A CN 201410782382A CN 105760209 B CN105760209 B CN 105760209B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- candidate
- candidate virtual
- platform
- business datum
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种移除虚拟机的方法、装置与自动弹性群组,方法包括:监控虚拟机群组达到移除虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;选取虚拟机群组中的M台候选虚拟机执行业务数据保护操作,业务数据保护操作用于保证候选虚拟机上的业务数据,其中,M为M大于N的正整数;确定M台候选虚拟机中的任一候虚拟机中的业务数据保护操作执行完毕,则移除业务数据保护操作执行完毕的候选虚拟机确定被移除的候选虚拟机的台数达到N,并中止剩余的M‑N台候选虚拟机的业务数据保护操作。根据本发明的移除虚拟机的方法、装置与自动弹性群组,能够提高用户体验。
Description
技术领域
本发明涉及云计算技术,尤其涉及一种移除虚拟机的方法、装置与自动弹性群组。
背景技术
现有技术中,云服务(Cloud Service)的应用越来越广泛。云服务供应商将大量的计算、网络、存储等资源进行统一的管理、调度和分配。对用户来说,云服务提供商提供了一个巨大的资源池供用户使用,云服务的优点包括按需求分配资源(On-Demand)、依实际使用索取费用(Pay-as-you-go)等优点。一般来说,云服务设施被认为由三个层次组成,由下至上分别为:基础设施即服务(Infrastructure-as-a-Service,IaaS),平台即服务(Platform-as-a-Service),以及软件即服务(Software-as-a-Service,SaaS)。
自动弹性(Auto Scaling)是云计算能够实现按需分配的重要手段。自动弹性允许实例(Instance)的数目能够根据实际的负载变化而变化,即:当负载增加时,相应增加实例的数目,以提高群组的整体性能,即扩展(Scale Up)操作;而当负载降低时,减少实例的数目来降低成本,即收缩(Scale Down)操作。一个具体的实例可以指亚马逊的弹性计算云中的虚拟计算环境,实例(Amazon Elastic-Compute-Cloud,Instance)。虚拟机被移除时,该虚拟机上尚在运行的业务将被中断,其所占用的资源也会被彻底释放。
现有技术中,如果需移除虚拟机(Virtual Machine,VM)时,均是随机选取N台虚拟机进行移除。但是这种随机选取N台虚拟机的方式,如果被移除的虚拟机中有业务数据还未执行完毕,这些业务数据会损失,大大影响了用户的体验。
发明内容
本发明提供一种移除虚拟机的方法、装置与自动弹性群组,以解决现有技术中移除虚拟机大大影响用户的体验问题。
本发明第一方面提供一种移除虚拟机的方法,包括:
监控虚拟机群组达到移除所述虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;
选取所述虚拟机群组中的M台候选虚拟机执行业务数据保护操作,所述业务数据保护操作用于保证所述候选虚拟机上的业务数据,其中,M为M大于N的正整数;
确定M台所述候选虚拟机中的任一候虚拟机中的所述业务数据保护操作执行完毕,则移除所述业务数据保护操作执行完毕的所述候选虚拟机
确定被移除的所述候选虚拟机的台数达到N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作。
在第一种可能的实现方式中,根据第一方面,在所述获取预设的移除虚拟机的台数N之后,且在所述选取所述虚拟机群组中的M台候选虚拟机之前,还包括:
获取所述候选虚拟机的台数上限值P,P为大于或等于M的正整数;以及
在所述获取候选虚拟机的台数上限值P之后,且在所述选取所述虚拟机群组中的M台候选虚拟机之前,该方法还包括:选取M值,且N<M≤P。
在第二种可能的实现方式中,根据第一种可能的实现方式,所述获取所述候选虚拟机的台数上限值P包括:
根据如下公式获取候选虚拟机的台数上限值P:
其中,L是所述虚拟机群组包含的虚拟机的总台数,C1为虚拟机群组的第一平均负载值,S是预设的触发扩展操作的平均负载阈值。
在第三种可能的实现方式中,根据第一种可能的实现方式,在所述选取M值之后且在所述获取所述虚拟机群组中的M台候选虚拟机之前,该方法还包括:
判断所选取的M值是否安全,若不安全,则将M值更新为M-1,并重复判断所述M值是否安全的操作,直至获取安全的M值。
在第四种可能的实现方式中,根据第三种可能的实现方式,所述判断所选取的M值是否安全包括:
判断L×C2/(L-M)是否小于或等于S,其中,C2为所述虚拟机群组的第二平均负载值;
确定L×C2/(L-M)小于或等于S,则所述M值安全,其中,C2为所述虚拟机群组的第二平均负载值。
在第五种可能的实现方式中,结合第一方面至第四种可能的实现方式,所述选取所述虚拟机群组中的M台候选虚拟机执行业务数据保护操作包括:
分别向所述M台候选虚拟机发送业务保护消息,以使所述候选虚拟机根据所述业务保护消息监控自身活跃的业务数据量;或者
所述将所述候选虚拟机上正在执行的业务数据迁移到除了所述候选虚拟机之外的虚拟机上。
在第六种可能的实现方式中,结合第五种可能的实现方式,所述移除所述候选虚拟机包括:
接收所述候选虚拟机发送的可移除消息,所述可移除消息中包括该候选虚拟机的标识;
根据所述可移除消息移除该候选虚拟机,所述可移除消息是所述候选虚拟机监控到自身活跃的业务数据量为0时发送的。
在第七种可能的实现方式中,根据第六种可能的实现方式,所述确定被移除的所述候选虚拟机的台数到达N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作,包括:
更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止所述剩余的M-N台所述候选虚拟机的业务数据保护操作。
在第八种可能的实现方式中,结合第一方面或第一种可能得实现方式至第七种可能的实现方式,在所述M台候选虚拟机执行业务数据保护操作的同时,启动计时,并在判断被移除的所述候选虚拟机的台数是否到达N之前,还包括:
确定计时超过预设的等待时间,并移除N-k台候选虚拟机,k为已经移除的候选虚拟机的台数。
在第九种可能的实现方式中,根据第八种可能的实现方式,所述移除N-k台候选虚拟机包括:
根据负载占用率或活跃的业务数据量在M-k台所述候选虚拟机中选取N-k台候选虚拟机进行移除。
在第十种可能的实现方式中,结合第一方面至第九种可能的实现方式,在所述选取所述虚拟机群组中的M台候选虚拟机之后,还包括:
向负载均衡器发送所述M台候选虚拟机的候选消息,以禁止该负载均衡器向所述M台候选虚拟机分配新业务。
本发明第二方面提供一种移除虚拟机的装置,包括:
监控单元,用于监控虚拟机群组达到移除所述虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;
第一选取单元,用于选取所述虚拟机群组中的M台候选虚拟机执行业务数据保护操作,所述业务数据保护操作用于保证所述候选虚拟机上的业务数据,其中,M为M大于N的正整数;
移除单元,用于确定M台所述候选虚拟机中的任一候虚拟机中的所述业务数据保护操作执行完毕,则移除所述业务数据保护操作执行完毕的所述候选虚拟机;
中止单元,用于确定被移除的所述候选虚拟机的台数达到N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作。
在第一种可能的实现方式中,根据第二方面,还包括:
计算单元,用于获取所述候选虚拟机的台数上限值P,P为大于或等于M的正整数:
第二选取单元,用于选取M值,且N<M≤P。
在第二种可能的实现方式中,根据第一种可能的实现方式,所述计算单元具体用于:
根据如下公式获取候选虚拟机的台数上限值P:
其中,L是所述虚拟机群组包含的虚拟机的总台数,C1为虚拟机群组的第一平均负载值,S是预设的触发扩展操作的平均负载阈值。
在第三种可能的实现方式中,根据第一种可能的实现方式,所述第二选取单元还具体用于:
判断所选取的M值是否安全,若不安全,则将M值更新为M-1,并重复判断所述M值是否安全的操作,直至获取安全的M值。
在第四种可能的实现方式中,根据第三种可能的实现方式,所述第一选取单元具体包括:
判断L×C2/(L-M)是否小于或等于S,其中,C2为所述虚拟机群组的第二平均负载值;
确定L×C2/(L-M)小于或等于S,则所述M值安全,其中,C2为所述虚拟机群组的第二平均负载值。
在第五种可能的实现方式中,结合第二方面至第四种可能的实现方式,所述第一选取单元具体用于:
分别向所述M台候选虚拟机发送业务保护消息,以使所述候选虚拟机根据所述业务保护消息监控自身活跃的业务数据量;或者
所述将所述候选虚拟机上正在执行的业务数据迁移到除了所述候选虚拟机之外的虚拟机上。
在第六种可能的实现方式中,结合第五种可能的实现方式,所述移除单元具体用于:
接收所述候选虚拟机发送的可移除消息,所述可移除消息中包括该候选虚拟机的标识;
根据所述可移除消息移除该候选虚拟机,所述可移除消息是所述候选虚拟机监控到自身活跃的业务数据量为0时发送的。
在第七种可能的实现方式中,根据第六种可能的实现方式,所述中止单元具体用于:
更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止所述剩余的M-N台所述候选虚拟机的业务数据保护操作。
在第八种可能的实现方式中,结合第一方面或第一种可能得实现方式至第七种可能的实现方式,还包括:
计时单元,所述计时单元用于确定计时超过预设的等待时间,并移除N-k台候选虚拟机,k为已经移除的候选虚拟机的台数。
在第九种可能的实现方式中,根据第八种可能的实现方式,所述计时单元具体用于:
根据负载占用率或活跃的业务数据量在M-k台所述候选虚拟机中选取N-k台候选虚拟机进行移除。
在第十种可能的实现方式中,结合第一方面至第九种可能的实现方式,还包括:
发送单元,用于向负载均衡器发送所述M台候选虚拟机的候选消息,以禁止该负载均衡器向所述M台候选虚拟机分配新业务。
本发明第三方面提供一种弹性虚拟机群组,包括:
虚拟机群组,包括多台虚拟机;
管理服务器,用于监控虚拟机群组达到移除所述虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;选取所述虚拟机群组中的M台候选虚拟机执行业务数据保护操作,所述业务数据保护操作用于保证所述候选虚拟机上的业务数据,其中,M为M大于N的正整数;确定M台所述候选虚拟机中的任一候虚拟机中的所述业务数据保护操作执行完毕,则移除所述业务数据保护操作执行完毕的所述候选虚拟机;确定被移除的所述候选虚拟机的台数达到N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作。
由上述技术方案可知,本发明提供的移除虚拟机的方法、装置与自动弹性群组,首先选取大于需移除虚拟机台数N的M台候选虚拟机,然后从该M台候选虚拟机中移除N台虚拟机,能够提高选中N台虚拟机并在短时间内完成移除操作的概率,从而调高移除N虚拟机的效率,有利于降低成本,并提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明一实施例的自动弹性群组的结构示意图;
图2为根据本发明另一实施例的移除虚拟机的方法的流程示意图;
图3为根据本发明另一实施例的自动弹性群组的结构示意图;
图4为根据本发明又一实施例的移除虚拟机的装置的结构示意图;
图5为根据本发明另一实施例的移除虚拟机的装置的结构示意图;
图6为根据本发明再一实施例的移除虚拟机的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种自动弹性群组(Auto Scaling Group)。如图1所示,为该自动弹性群组的结构示意图。该自动弹性群组中包括虚拟机群组101、管理服务器102,该自动弹性群组还可以包括负载均衡器(Load Balancer)103,虚拟机群组101中包括多台虚拟机。其中,管理服务器102用于监控虚拟机群组达到移除虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;选取虚拟机群组中的M台候选虚拟机执行业务数据保护操作,业务数据保护操作用于保证候选虚拟机上的业务数据,其中,M为M大于N的正整数;确定M台候选虚拟机中的任一候虚拟机中的业务数据保护操作执行完毕,则移除业务数据保护操作执行完毕的候选虚拟机;确定被移除的候选虚拟机的台数达到N,并中止剩余的M-N台候选虚拟机的业务数据保护操作。虚拟机群组101在负载均衡器103的作用下,每一个虚拟机的负载趋于相等,本实施例中将各虚拟机的负载看作是相等的。
如图2所示,为根据本实施例的移除虚拟机的方法的流程示意图,本实施例的执行主体为移除虚拟机的装置,该移除虚拟机的装置可以设置在管理服务器中。本实施例的移除虚拟机的方法包括:
步骤201,监控虚拟机群组达到移除虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数。
移除虚拟机的装置监控虚拟机群组是否达到移除虚拟机的预设条件。具体地,该预设条件可以是虚拟机群组的CPU的平均使用率、内存的使用率和/或硬盘的使用率等等,例如当CPU的平均使用率降低到预设阈值时,需执行移除虚拟机的操作,以降低成本。移除虚拟机的装置若监控到虚拟机群组应当移除虚拟机,则获取需移除虚拟机的台数N,该数值N是预先设定好的。具体如何设定N值,属于现有技术,在此不再赘述。
步骤202,选取虚拟机群组中的M台候选虚拟机执行业务数据保护操作,业务数据保护操作用于保证候选虚拟机上的业务数据,其中,M为M大于N的正整数。
移除虚拟机的装置可以根据虚拟机群组中各虚拟机的创建时间选取M台候选虚拟机,例如,选取创建时间最早的M台虚拟机作为候选虚拟机;或者根据虚拟机群组中各虚拟机的当前活跃的业务数据量选取M台虚拟机,例如,选取当前活跃的业务数据量最少的M台虚拟机作为候选虚拟机;或者根据虚拟机群组中各虚拟机使用的模板版本的新旧程度选取M台虚拟机,例如,选取模板版本最旧的M台虚拟机作为候选虚拟机;或者根据虚拟机群组中各虚拟机距离下次计费时间的长短选取M台虚拟机,例如选取距离下次计费时间最短的M台虚拟机作为候选虚拟机。
当然,根据实际情况,还可以通过其它方式从虚拟机群组中选取M台候选虚拟机,具体不再赘述。
需要注意的是,本实施例中,M>N。
步骤203,确定M台候选虚拟机中的任一候虚拟机中的业务数据保护操作执行完毕,则移除业务数据保护操作执行完毕的候选虚拟机。
步骤204,确定被移除的候选虚拟机的台数达到N,并中止剩余的M-N台候选虚拟机的业务数据保护操作。
当候选虚拟机的台数已经被移除了N台,就代表收缩操作已经完成。若移除虚拟机的装置若判断出已经被移除的候选虚拟机的台数未达到N,则继续接收候选虚拟机发送的可移除消息,并再次进行判断已经被移除的候选虚拟机的台数是否达到N,直至确定被移除的候选虚拟机的台数达到N。
可选地,在步骤202之后,还包括:
向负载均衡器发送M台候选虚拟机的候选消息,以禁止负载均衡器向M台候选虚拟机分配新业务。
该步骤与步骤203、步骤204无先后顺序,也可以是同时执行。该候选消息可以包括M台候选虚拟机的标识信息,负载均衡器在接收到表示该M台虚拟机被选为候选虚拟机的候选消息之后,不再向该M台候选虚拟机分配新任务,例如不会向M台候选虚拟机发送新建的业务请求或数据,以避免新任务丢失。具体地,负载均衡器可以在预设数据分配列表中将M台候选虚拟机标记出来,以避免向该M台候选虚拟机分配新业务。数据分配列表中包括能够分配新业务的所有虚拟机的信息。
本实施例中,首先选取大于需移除虚拟机台数N的M台候选虚拟机,并触发该M台候选虚拟机执行业务数据保护操作,然后从该M台候选虚拟机中移除N台虚拟机,能够尽量保证虚拟机在被移除时其上的业务数据已经执行完毕,在有利于降低成本的同时,提高用户体验。
本实施例对上述实施例的如何选取虚拟机群组中的M台候选虚拟机做补充说明。
具体地,在步骤201之后,且在步骤202之前,还包括:
获取候选虚拟机的台数上限值P,P为大于或等于M的正整数。
具体可以根据如下公式(1.1)获取候选虚拟机的台数上限值P:
其中,L是虚拟机群组包含的虚拟机的总台数,C1为虚拟机群组的第一平均负载值,S是预设的虚拟机群组的触发扩展操作的平均负载阈值。P即公式L(S-C1)/S计算出来的数值向下取整之后的值。
虚拟机群组的第一平均负载值为每个虚拟机的当前负载值。为了保证每个虚拟机能够正常高效率的工作,预先为该虚拟机群组设置了触发扩展操作的平均负载阈值,即若虚拟机群组的平均负载一旦超过该平均负载阈值,则会触发扩展操作,为该虚拟机群组增加虚拟机,因此,需要设置一个移除虚拟机的台数的上限值,以避免触发扩展操作,使收缩操作失去意义。
具体地,可以通过计算各虚拟机的CPU(Central Processing Unit,中央处理器)占用率获取负载值,例如,当前有3台虚拟机,CPU占用率分别为U1、U2和U3,则第一平均负载值=(U1+U2+U3)/3。
在选取M台候选虚拟机之后,该M台候选虚拟机将不再接受新业务。因此,需要为M设置上限值,即可移除的虚拟机的最大数量,以能够保证剩余的L-M台虚拟机的平均负载值不超过预设的触发扩展操作的平均负载阈值。
举例来说,假设L=10,C1=15%,S=70%,则可以根据公式(1.1)计算出P为7。因此,只要选取不大于7且大于N的数值作为M值即可。
移除虚拟机的装置再确定出P后,可以选取M值,且N<M≤P。选取该M值的方式以越靠近P越好,但是这也许会带来触发扩展操作的风险,因此,需要为M选取一更加合理的值,例如M选取为P-1。
可选地,在选取M值之后且在步骤202之前,还包括:
判断所选取的M值是否安全,若不安全,则将M值更新为M-1,并重复判断M值是否安全的操作,直至获取安全的M值。
可以根据预设规则判断M值是否安全,例如选取M台候选虚拟机之后剩余的虚拟机是否能够正常工作。例如,M选取为7,采用预设规则判断选取的7不安全,则将M值更新为6,并继续判断选取6台候选虚拟机之后剩余的虚拟机的平均负载量是否达到预设的触发扩展操作的平均负载阈值。
具体地,可以通过以下方式判断所选取的M值是否安全:
判断L×C2/(L-M)是否小于或等于S,其中,L是虚拟机群组包含的虚拟机的总台数,C2为虚拟机群组的第二平均负载值,S是预设的触发扩展操作的平均负载阈值;
若L×C2/(L-M)小于或等于S,则M值安全。
由于P值的计算与M值的选取需经过一段时间,此时虚拟机群组的总负载很有可能已经改变,相应的,平均负载值也有可能从第一平均负载值变为第二平均负载值,因此,在选定M值之后,需要采用虚拟机群组的第二平均负载值判断M值是否安全,即进行实时判断。
本实施例中,通过确定M的上限值P,能够尽量避免移除虚拟机的同时触发扩展操作,使移除虚拟机的操作失去意义。另外,通过进一步确定所选取的M值是否安全,更加保证了在选取M台候选虚拟机之后,整个虚拟机群组的平均负载值不超过预设的触发扩展操作的平均负载阈值。
本实施例对上述实施例中的步骤203做进一步补充说明。
本实施例中,上述步骤202具体包括:
分别向M台候选虚拟机发送业务保护消息,以使候选虚拟机根据业务保护消息监控自身活跃的业务数据量;或者
将候选虚拟机上正在执行的业务数据迁移到除了候选虚拟机之外的虚拟机上。
相应的,本实施例中移除候选虚拟机的操作包括:
接收候选虚拟机发送的可移除消息,可移除消息中包括该候选虚拟机的标识;
根据可移除消息移除该候选虚拟机,可移除消息是候选虚拟机监控到自身活跃的业务数据量为0时发送的。
虚拟机所执行的业务数据保护操作包括监控自身的活跃的业务数据量,当执行的业务数据均已完成,或者正在执行的业务数据均被迁移到虚拟机群组中的非候选虚拟机上时,同样监控到其自身的活跃的业务数据量为0,即可以发送可移除消息。
移除虚拟机的装置选取出M台候选虚拟机之后,可以在虚拟机群组预先部署的模板中查找业务数据保护操作,并生成业务保护消息发送值各候选虚拟机,各候选虚拟机接收到该业务保护消息之后,就可以根据该业务保护消息执行业务数据保护操作。该业务保护消息中可以包括业务数据保护操作的标识。该预先部署的模板可以设置在各虚拟机的内部,或者单独存放在一个存储器中,以供各虚拟机调用。
本实施例的业务数据保护操作包括等待当前任务结束和对当前数据进行远程备份或者迁移,此外,候选虚拟机在执行完毕业务数据保护操作之后,可以通知服务器器完成业务数据保护操作,可以被移除。候选虚拟机执行业务数据保护操作时,具体可以是监控候选虚拟机自己的活跃业务量,当虚拟机上无活跃业务量时,即活跃业务量为0时,代表该虚拟机可以被移除,管理服务器移除该虚拟机,该虚拟机释放掉所占用的资源,或者是虚拟机被强制迁移出,例如,强制关机,也代表该虚拟机被移除。
在预先部署的模板中设置有“取消业务数据保护操作”的定义,虚拟机在接收到代表执行“取消业务数据保护操作”的中止指令之后,就在模板中查找该“取消业务数据保护操作”并执行,以中止自身的业务数据保护操作。
下面,以举例的方式说明如何在TOSCA(Topology and OrchestrationSpecification for Cloud Applications,云应用的拓扑和编排规范)规范下在虚拟机的部署模板Node Type中查找预先定义的操作,该“业务数据保护操作”具体取名为ToScaleDown,该操作的路径具体可以是NodeType/Interfaces/ScaleDownInterface/ToScaleDown。“取消业务数据保护操作”具体取名为CancelToScaleDown,相似的,该操作在TOSCA规范下也有相应的操作路径。移除虚拟机的装置在选定某个虚拟机为候选虚拟机之后,便在该候选虚拟机内部预先设置的部署模板中查找上述操作并执行。
如下所示,为在TOSCA规范中利用Node Type为虚拟机定义可被调用的ToScaleDown的具体程序。
如下所示,为在NodeTypeImplementation中定义相应的ToScaleDown的具体程序。
本实施例中,候选虚拟机在接收到中止指令并执行“取消业务数据保护操作”中止业务数据保护操作后,即恢复正常工作。正常工作指的是该虚拟机中可以建立新业务进程。
本实施例中,移除虚拟机的装置可以预先设定一个k值来记录已经被移除的候选虚拟机的台数。初始的k值设置为0。更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止剩余的M-N台候选虚拟机的业务数据保护操作。具体地,当识别到一个候选虚拟机已经被移除,将k值更新为1,并判断该k值是否已经到达N。若判断出k值未达到N,则可以继续等待,若判断出该k值已经到达N,则确定N台候选虚拟机已经被移除,接下来向M台候选虚拟机中未完成业务数据保护操作的其它M-N台候选虚拟机发出中止指令,以中止该M-N台候选虚拟机的业务数据保护操作。可选地,本实施例的移除虚拟机的方法还包括:在分别向M台候选虚拟机发送业务保护消息的同时,启动计时,并在判断被移除的候选虚拟机的台数是否到达N之前,确定计时超过预设的等待时间(WaitTime),并移除N-k台候选虚拟机,k为已经移除的候选虚拟机的台数。
具体可以根据负载占用率或活跃业务量在M-k台候选虚拟机中选取N-k台候选虚拟机进行移除。例如,选取负载占用率最低的M-k台候选虚拟机,或者活跃业务量最少的M-k台候选虚拟机。
需指出的是,计时一直都在移除虚拟机的装置的监控中,当然也可以是由进行计时的计时器向移除虚拟机的装置发出计时到达的信令,以使移除虚拟机的装置执行移除N-k台候选虚拟机的操作。移除虚拟机的装置在判断出计时超过预设的等待时间之后,选择触发被移除的候选虚拟机的台数是否到达N的操作,也可以在移除虚拟机的装置执行移除N-k台候选虚拟机的操作完成之后,直接中止剩余的M-N台候选虚拟机的业务数据保护操作,无需判断操作。
由于在移除虚拟机的过程中可能会出现宕机等现象,致使业务数据保护操作无法完成,此时,需要强制执行移除候选虚拟机的操作。本实施例的等待时间的设置,不仅能够等待一段时间以使被移除的候选虚拟机上的活跃的业务尽量完成,同时也为了避免移除候选虚拟机的操作无法完成,提高移除效率。
可选地,在接收候选虚拟机发送的移除完成消息之后,还包括:向负载均衡器发送被移除的虚拟机的标识信息,以使负载均衡器将被移除的虚拟机的标识信息从预设的数据分发列表中删除,数据分发列表中包括虚拟机群组中的各虚拟机的标识信息。
该操作可以是每移除一台候选虚拟机,即通知负载均衡器更新数据分发列表,也可以是在N台候选虚拟机完全被移除后通知负载均衡器更新数据分发列表,以减少信息交互过程,减轻负载均衡器的负担。
本实施例采用具体举例的方式对上述实施例做补充说明。如图3所示,本实施例的某小型电性应用的通话服务的自动弹性群组310和各终端320,其中,自动弹性群组包括虚拟机群组311、管理服务器312和负载均衡器313。管理服务器312包括移除虚拟机的装置。
如表1所示,某小型电信应用的通话服务的虚拟机群组311中包括5台虚拟机,分别为VM1、VM2、VM3、VM4和VM5,本实施例以CPU的占用率作为负载值。该虚拟机群组311中虚拟机的CPU使用率C1=(13%+12%+14%+15%+16%)/5=14%。最初的数据分发列表如表2所示,其中Active标明该虚拟机处于正常工作中,可以为其分配新的业务。
表1
虚拟机的标识信息 | 虚拟机的CPU使用率C1 | 创建时间 |
VM1 | 13% | 2014.09.10 23:55:01 |
VM2 | 12% | 2014.09.10 23:52:09 |
VM3 | 14% | 2014.09.10 23:53:23 |
VM4 | 15% | 2014.09.12 08:11:31 |
VM5 | 16% | 2014.09.12 13:10:40 |
表2
本实施例中,预设的虚拟机群组触发扩展操作的平均负载阈值S为75%,预设的N值为2。此外,根据统计,用户每次通话时间(单位为秒)符合(142.8,34.8)的正态分布,即90%的通话会在188秒结束,因此,本实施例中将等待时间预设为188秒。
虚拟机内部在部署时使用的TOSCA模板中的NodeType和NodeTypeImplementation如下所示:
移除虚拟机的装置可在虚拟机预先设置的Interface中查找ScaleDownInterface的ToScaleDown,并触发虚拟机执行该操作。
移除虚拟机的装置计算候选虚拟机的台数上限值 本实施例中选取3作为M值。
接着,移除虚拟机的装置判断选取3台候选虚拟机是否安全,假设M=3,则根据公式L×C2/(L-M)=5×14%/(5-3)=35%<75%,则确定该M=3安全。本实施例中,C1和C2相等。
然后,移除虚拟机的装置根据表1中各虚拟机创建时间的先后选出创建时间最早的3台虚拟机作为候选虚拟机,分别是VM1、VM2和VM3。
接着,移除虚拟机的装置向VM1、VM2和VM3发送业务保护消息,以使VM1、VM2和VM3均执行业务数据保护操作,开始监控自身的活跃业务量,移除虚拟机的装置启动计时。移除虚拟机的装置通知负载均衡器313将VM1、VM2和VM3的状态标记为ScalingDown,表明其正在执行业务数据保护操作,并将VM1、VM2和VM3的标识发送至负载均衡器313。负载均衡器313接下来只会向VM4和VM5发送新业务,VM1、VM2和VM3上只允许已有的通话数据进入,不会再建立新业务。
具体地,移除虚拟机的装置通过JSON over HTTP承载VM1、VM2和VM3的标识,内容如下:
{
“VM_1”:“ScalingDown”
“VM_2”:“ScalingDown”
“VM_3”:“ScalingDown”
}
负载均衡器313更新后的数据分发列表如表3所示。
表3
虚拟机的标识信息 | 状态 |
VM1 | ScalingDown |
VM2 | ScalingDown |
VM3 | ScalingDown |
VM4 | Active |
VM5 | Active |
直到再次接收到移除虚拟机的装置发送的虚拟机标识,否则,负载均衡器313一直按照表3分发数据。
本实施例中,VM1首先监控到自身活跃业务量为0,则向移除虚拟机的装置发送可移除消息,该可移除消息用于表示其业务数据保护操作完成,该可移除消息可以采用JSONover HTTP承载,JSON消息如下:
{
“VM_1_ToScaleDown”:“Completed”
}
移除虚拟机的装置接收到VM1发送的可移除消息,将VM1移除,并将k更新为1,代表1台虚拟机已经被移除,且获知k<2,移除2台虚拟机的操作并未完成,因此移除虚拟机的装置继续等待其他的候选虚拟机被移除。可选地,移除虚拟机的装置向负载均衡器313发送VM1已经被移除的消息,具体可以采用JSON over HTTP承载,JSON消息的内容如下:
{
“VM_1”:“Terminated”
}
负载均衡器313在接收到VM1已经被移除的消息之后,更新数据分发列表,从数据分发列表中删除VM1,更新后的数据分发列表如表4所示。
表4
接下来,移除虚拟机的装置的计时到达等待时间188秒,则移除虚拟机的装置获取VM2和VM3的当前CPU占用率分别为3%和2%,则选择CPU占用率更少的VM3进行强制移除,例如关机。接着,移除虚拟机的装置向负载均衡器313发送VM3已经被移除的消息,负载均衡器313更新数据分别列表,如表5所示。
表5
虚拟机的标识信息 | 状态 |
VM2 | ScalingDown |
VM4 | Active |
VM5 | Active |
移除虚拟机的装置向VM2发送中止指令,以使VM2中止业务数据保护操作,具体地,VM2执行CancelToScaleDown操作,并通知负载均衡器VM2恢复正常工作状态,可以为VM2分配新业务。具体地,可以采用JSON消息承载信息以将VM2的状态更新为Active,JSON消息例如为:
{
“VM_2”:“Active”
}
负载均衡器313在接收到VM2已经恢复正常工作的消息之后,更新数据列表,负载均衡器313可以向VM2发送新业务。更新后的数据列表如表6所示。
表6
虚拟机的标识信息 | 状态 |
VM2 | Active |
VM4 | Active |
VM5 | Active |
至此,2台虚拟机VM1和VM3被成功移除。
从上述操作中可以看出,移除虚拟机的装置首先选取M台候选虚拟机,并禁止负载均衡器313为该M台候选虚拟机分配新业务,以避免系业务的丢失,影响用户体验。接着执行从M台候选虚拟机移除N台候选虚拟机的操作,能够提高移除效率,而且通过等待时间的设置,在尽量保证不中断被移除的候选虚拟机上业务的情况下,确保移除虚拟机操作的完成。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明另一实施例提供一种移除虚拟机的装置,用于执行上述的移除虚拟机的方法。该移除虚拟机的装置可以设置在管理服务器中。如图4所示,为根据本实施例的移除虚拟机的装置的结构示意图。
本实施例的移除虚拟机的装置包括监控单元401、第一选取单元402和移除单元403和中止单元404。
其中,监控单元401用于监控虚拟机群组达到移除虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;第一选取单元402用于选取虚拟机群组中的M台候选虚拟机执行业务数据保护操作,业务数据保护操作用于保证候选虚拟机上的业务数据,其中,M为M大于N的正整数;移除单元403用于确定第一选取单元402所选取的M台候选虚拟机中的任一候虚拟机中的业务数据保护操作执行完毕,则移除业务数据保护操作执行完毕的候选虚拟机;中止单元404用于确定被移除单元403移除的候选虚拟机的台数达到N,并中止剩余的M-N台候选虚拟机的业务数据保护操作。
具体地,监控单元401在监控到虚拟机群组达到移除虚拟机群组中的虚拟机的预设条件时,触发第一选取单元402,第一选取单元402可以将所选取的M台候选虚拟机的信息发送给移除单元403。
可选地,本实施例的第一选取单元402具体用于:
根据虚拟机群组中各虚拟机的创建时间选取M台候选虚拟机;或
根据虚拟机群组中各虚拟机的当前活跃业务量选取M台虚拟机;或
根据虚拟机群组中各虚拟机使用的模板版本的新旧程度选取M台虚拟机;或
根据虚拟机群组中各虚拟机距离下次计费时间的长短选取M台虚拟机。
可选地,本实施例的第一选取单元402还用于:
向负载均衡器发送M台候选虚拟机的候选消息,以禁止该负载均衡器向M台候选虚拟机分配新业务。
本实施例的移除虚拟机的装置的具体操作方式与上述实施例一致,在此不再赘述。
根据本实施例的移除虚拟机的装置,首先选取大于需移除虚拟机台数N的M台候选虚拟机,并触发该M台候选虚拟机执行业务数据保护操作,然后从该M台候选虚拟机中移除N台虚拟机,能够尽量保证虚拟机在被移除时其上的业务数据已经执行完毕,在有利于降低成本的同时,提高用户体验。
本实施例对上述实施例的移除虚拟机的装置做进一步补充说明。
如图5所示,为根据本实施例的移除虚拟机的装置的结构示意图。本实施例的移除虚拟机的装置除了包括如实施例五所示的监控单元401、第一选取单元402、移除单元403和中止单元404,还包括计算单元501和第二选取单元502。其中,该计算单元501用于获取候选虚拟机的台数上限值P,P为大于或等于M的正整数;根据计算单元501的获取结果,第二选取单元502用于选取M值,且N<M≤P。
可选地,计算单元501具体用于:
根据如下公式获取候选虚拟机的台数上限值P:
其中,L是虚拟机群组包含的虚拟机的总台数,C1为虚拟机群组的第一平均负载值,S是预设的触发扩展操作的平均负载阈值。
可选地,第二选取单元502还具体用于:
判断所选取的M值是否安全,若不安全,则将M值更新为M-1,并重复判断M值是否安全的操作,直至获取安全的M值。
可选地,该第二选取单元502在判断所选取的M值是否安全时,具体用于:
判断L×C2/(L-M)是否小于或等于S,其中,C2为虚拟机群组的第二平均负载值;
确定L×C2/(L-M)小于或等于S,则M值安全,其中,C2为虚拟机群组的第二平均负载值。
第二选取单元502可以将M值发送至第一选取单元402,也可以是第一选取单元402主动从第二选取单元502中获取M值。
可选地,本实施例的第一选取单元402具体用于:
分别向M台候选虚拟机发送业务保护消息,以使候选虚拟机根据业务保护消息监控自身活跃的业务数据量;或者
将候选虚拟机上正在执行的业务数据迁移到除了候选虚拟机之外的虚拟机上。
可选地,本实施例的移除单元403具体用于:
接收候选虚拟机发送的可移除消息,可移除消息中包括该候选虚拟机的标识;
根据可移除消息移除该候选虚拟机,可移除消息是候选虚拟机监控到自身活跃的业务数据量为0时发送的。
可选地,本实施例的中止单元404具体用于:
更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止剩余的M-N台候选虚拟机的业务数据保护操作。
可选地,本实施例的虚拟机移除装置还包括计时单元503,该计时单元503用于确定计时超过预设的等待时间,并移除N-k台候选虚拟机,k为已经移除的候选虚拟机的台数。
可选地,本实施例的计时单元503具体用于根据负载占用率或活跃的业务数据量在M-k台候选虚拟机中选取N-k台候选虚拟机进行移除。
可选地,本实施例的虚拟机移除装置还包括发送单元(图中未示出),该发送单元与第一选取单元402连接,该发送单元用于向负载均衡器发送M台候选虚拟机的候选消息,以禁止该负载均衡器向M台候选虚拟机分配新业务。
本实施例的移除虚拟机的装置的具体操作方法与上述实施例一致,在此不再赘述。
根据本实施例的移除虚拟机的装置,通过确定M的上限值P,能够尽量避免移除虚拟机的同时触发扩展操作,使移除虚拟机的操作失去意义。另外,通过进一步确定所选取的M值是否安全,更加保证了在选取M台候选虚拟机之后,整个虚拟机群组的平均负载值不超过预设的触发扩展操作的平均负载阈值。
本发明的实施例还提供一种移除虚拟机的装置,该移除虚拟机的装置用于执行上述实施例的移除虚拟机的方法。
本实施例的移除虚拟机的装置600包括:至少一个处理器601,以及存储器602。其中,存储器602用于存储可执行程序代码,其中,处理器601通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于:
监控虚拟机群组达到移除虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;
选取虚拟机群组中的M台候选虚拟机执行业务数据保护操作,业务数据保护操作用于保证候选虚拟机上的业务数据,其中,M为M大于N的正整数;
确定M台候选虚拟机中的任一候虚拟机中的业务数据保护操作执行完毕,则移除业务数据保护操作执行完毕的候选虚拟机;
确定被移除的候选虚拟机的台数达到N,并中止剩余的M-N台候选虚拟机的业务数据保护操作。
可选地,在获取预设的移除虚拟机的台数N之后,且在选取虚拟机群组中的M台候选虚拟机之前,处理器601在还通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于:
获取候选虚拟机的台数上限值P,P为大于或等于M的正整数;以及
在获取候选虚拟机的台数上限值P之后,且在选取虚拟机群组中的M台候选虚拟机之前,该方法还包括:选取M值,且N<M≤P。
可选地,处理器601在通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于获取候选虚拟机的台数上限值P时,具体可以是:
根据如下公式获取候选虚拟机的台数上限值P:
其中,L是虚拟机群组包含的虚拟机的总台数,C1为虚拟机群组的第一平均负载值,S是预设的触发扩展操作的平均负载阈值。
可选地,在选取M值之后且在获取虚拟机群组中的M台候选虚拟机之前,处理器601在还通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于:
判断所选取的M值是否安全,若不安全,则将M值更新为M-1,并重复判断M值是否安全的操作,直至获取安全的M值。
可选地,处理器601在通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于判断所选取的M值是否安全时,具体可以是:
判断L×C2/(L-M)是否小于或等于S,其中,C2为虚拟机群组的第二平均负载值;
确定L×C2/(L-M)小于或等于S,则M值安全,其中,C2为虚拟机群组的第二平均负载值。
可选地,处理器601在通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于选取虚拟机群组中的M台候选虚拟机执行业务数据保护操作时,具体可以是:
分别向M台候选虚拟机发送业务保护消息,以使候选虚拟机根据业务保护消息监控自身活跃的业务数据量;或者
将候选虚拟机上正在执行的业务数据迁移到除了候选虚拟机之外的虚拟机上。
可选地,处理器601在通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于移除候选虚拟机,具体可以是:
接收候选虚拟机发送的可移除消息,可移除消息中包括该候选虚拟机的标识;
根据可移除消息移除该候选虚拟机,可移除消息是候选虚拟机监控到自身活跃的业务数据量为0时发送的。
可选地,处理器601在通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于确定被移除的候选虚拟机的台数到达N,并中止剩余的M-N台候选虚拟机的业务数据保护操作,具体可以是:
更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止剩余的M-N台候选虚拟机的业务数据保护操作。
可选地,在M台候选虚拟机执行业务数据保护操作的同时,处理器601还通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于启动计时,相应地,处理器601在通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于判断被移除的候选虚拟机的台数是否到达N之前,还用于:
确定计时超过预设的等待时间,并移除N-k台候选虚拟机,k为已经移除的候选虚拟机的台数。
可选地,处理器601在通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于移除N-k台候选虚拟机时,具体可以是:
根据负载占用率或活跃的业务数据量在M-k台候选虚拟机中选取N-k台候选虚拟机进行移除。
可选地,在选取虚拟机群组中的M台候选虚拟机之后,处理器601还通过读取存储器602中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于:
向负载均衡器发送M台候选虚拟机的候选消息,以禁止该负载均衡器向M台候选虚拟机分配新业务。
根据本实施例的移除虚拟机的装置600,首先选取大于需移除虚拟机台数N的M台候选虚拟机,然后从该M台候选虚拟机中移除N台虚拟机,能够提高选中N台虚拟机并在短时间内完成移除操作的概率,从而调高移除N虚拟机的效率,有利于降低成本,并提高用户体验。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (25)
1.一种移除虚拟机的方法,其特征在于,包括:
监控虚拟机群组达到移除所述虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;
选取所述虚拟机群组中的M台候选虚拟机执行业务数据保护操作,所述业务数据保护操作用于保证所述候选虚拟机上的业务数据,其中,M为M大于N的正整数;
确定M台所述候选虚拟机中的任一候虚拟机中的所述业务数据保护操作执行完毕,则移除所述业务数据保护操作执行完毕的所述候选虚拟机;
确定被移除的所述候选虚拟机的台数达到N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作。
2.根据权利要求1所述的移除虚拟机的方法,其特征在于,在所述获取预设的移除虚拟机的台数N之后,且在所述选取所述虚拟机群组中的M台候选虚拟机之前,还包括:
获取所述候选虚拟机的台数上限值P,P为大于或等于M的正整数;以及
在所述获取候选虚拟机的台数上限值P之后,且在所述选取所述虚拟机群组中的M台候选虚拟机之前,该方法还包括:选取M值,且N<M≤P。
3.根据权利要求2所述的移除虚拟机的方法,其特征在于,所述获取所述候选虚拟机的台数上限值P包括:
根据如下公式获取候选虚拟机的台数上限值P:
其中,L是所述虚拟机群组包含的虚拟机的总台数,C1为虚拟机群组的第一平均负载值,S是预设的触发扩展操作的平均负载阈值。
4.根据权利要求2所述的移除虚拟机的方法,其特征在于,在所述选取M值之后且在所述获取所述虚拟机群组中的M台候选虚拟机之前,该方法还包括:
判断所选取的M值是否安全,若不安全,则将M值更新为M-1,并重复判断所述M值是否安全的操作,直至获取安全的M值。
5.根据权利要求4所述的移除虚拟机的方法,其特征在于,所述判断所选取的M值是否安全包括:
判断L×C2/(L-M)是否小于或等于S,其中,C2为所述虚拟机群组的第二平均负载值;L为所述虚拟机群组包含的虚拟机的总台数,S是预设的触发扩展操作的平均负载阈值;
确定L×C2/(L-M)小于或等于S,则所述M值安全,其中,C2为所述虚拟机群组的第二平均负载值。
6.根据权利要求1-5中任一项所述的移除虚拟机的方法,其特征在于,所述选取所述虚拟机群组中的M台候选虚拟机执行业务数据保护操作包括:
分别向所述M台候选虚拟机发送业务保护消息,以使所述候选虚拟机根据所述业务保护消息监控自身活跃的业务数据量;或者
将所述候选虚拟机上正在执行的业务数据迁移到除了所述候选虚拟机之外的虚拟机上。
7.根据权利要求6所述的移除虚拟机的方法,其特征在于,所述移除所述候选虚拟机包括:
接收所述候选虚拟机发送的可移除消息,所述可移除消息中包括该候选虚拟机的标识;
根据所述可移除消息移除该候选虚拟机,所述可移除消息是所述候选虚拟机监控到自身活跃的业务数据量为0时发送的。
8.根据权利要求1-5、7中任一项所述的移除虚拟机的方法,其特征在于,所述确定被移除的所述候选虚拟机的台数到达N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作,包括:
更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止所述剩余的M-N台所述候选虚拟机的业务数据保护操作。
9.根据权利要求6所述的移除虚拟机的方法,其特征在于,所述确定被移除的所述候选虚拟机的台数到达N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作,包括:
更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止所述剩余的M-N台所述候选虚拟机的业务数据保护操作。
10.根据权利要求1-5、7、9中任一项所述的移除虚拟机的方法,其特征在于,在所述M台候选虚拟机执行业务数据保护操作的同时,启动计时,并在判断被移除的所述候选虚拟机的台数是否到达N之前,还包括:
确定计时超过预设的等待时间,并移除N-k台候选虚拟机,k为已经移除的候选虚拟机的台数。
11.根据权利要求10所述的移除虚拟机的方法,其特征在于,所述移除N-k台候选虚拟机包括:
根据负载占用率或活跃的业务数据量在M-k台所述候选虚拟机中选取N-k台候选虚拟机进行移除。
12.根据权利要求1-5、7、9、11中任一项所述的移除虚拟机的方法,其特征在于,在所述选取所述虚拟机群组中的M台候选虚拟机之后,还包括:
向负载均衡器发送所述M台候选虚拟机的候选消息,以禁止该负载均衡器向所述M台候选虚拟机分配新业务。
13.一种移除虚拟机的装置,其特征在于,包括:
监控单元,用于监控虚拟机群组达到移除所述虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;
第一选取单元,用于选取所述虚拟机群组中的M台候选虚拟机执行业务数据保护操作,所述业务数据保护操作用于保证所述候选虚拟机上的业务数据,其中,M为M大于N的正整数;
移除单元,用于确定M台所述候选虚拟机中的任一候虚拟机中的所述业务数据保护操作执行完毕,则移除所述业务数据保护操作执行完毕的所述候选虚拟机;
中止单元,用于确定被移除的所述候选虚拟机的台数达到N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作。
14.根据权利要求13所述的移除虚拟机的装置,其特征在于,还包括:
计算单元,用于获取所述候选虚拟机的台数上限值P,P为大于或等于M的正整数;
第二选取单元,用于选取M值,且N<M≤P。
15.根据权利要求14所述的移除虚拟机的装置,其特征在于,所述计算单元具体用于:
根据如下公式获取候选虚拟机的台数上限值P:
其中,L是所述虚拟机群组包含的虚拟机的总台数,C1为虚拟机群组的第一平均负载值,S是预设的触发扩展操作的平均负载阈值。
16.根据权利要求14所述的移除虚拟机的装置,其特征在于,所述第二选取单元还具体用于:
判断所选取的M值是否安全,若不安全,则将M值更新为M-1,并重复判断所述M值是否安全的操作,直至获取安全的M值。
17.根据权利要求16所述的移除虚拟机的装置,其特征在于,所述第二选取单元具体用于:
判断L×C2/(L-M)是否小于或等于S,其中,C2为所述虚拟机群组的第二平均负载值;
确定L×C2/(L-M)小于或等于S,则所述M值安全,其中,C2为所述虚拟机群组的第二平均负载值;L为所述虚拟机群组包含的虚拟机的总台数,S是预设的触发扩展操作的平均负载阈值。
18.根据权利要求13-17中任一项所述的移除虚拟机的装置,其特征在于,所述第一选取单元具体用于:
分别向所述M台候选虚拟机发送业务保护消息,以使所述候选虚拟机根据所述业务保护消息监控自身活跃的业务数据量;或者
将所述候选虚拟机上正在执行的业务数据迁移到除了所述候选虚拟机之外的虚拟机上。
19.根据权利要求18所述的移除虚拟机的装置,其特征在于,所述移除单元具体用于:
接收所述候选虚拟机发送的可移除消息,所述可移除消息中包括该候选虚拟机的标识;
根据所述可移除消息移除该候选虚拟机,所述可移除消息是所述候选虚拟机监控到自身活跃的业务数据量为0时发送的。
20.根据权利要求13-17、19中任一项所述的移除虚拟机的装置,其特征在于,所述中止单元具体用于:
更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止所述剩余的M-N台所述候选虚拟机的业务数据保护操作。
21.根据权利要求18所述的移除虚拟机的装置,其特征在于,所述中止单元具体用于:
更新已经被移除的候选虚拟机的台数,并确定被移除的候选虚拟机的台数达到N,向M台候选虚拟机中未完成业务数据保护操作的候选虚拟机发出中止指令,以中止所述剩余的M-N台所述候选虚拟机的业务数据保护操作。
22.根据权利要求13-17、19、21中任一项所述的移除虚拟机的装置,其特征在于,还包括:
计时单元,所述计时单元用于确定计时超过预设的等待时间,并移除N-k台候选虚拟机,k为已经移除的候选虚拟机的台数。
23.根据权利要求22所述的移除虚拟机的装置,其特征在于,所述计时单元具体用于:
根据负载占用率或活跃的业务数据量在M-k台所述候选虚拟机中选取N-k台候选虚拟机进行移除。
24.根据权利要求13-17、19、21、23中任一项所述的移除虚拟机的装置,其特征在于,还包括:
发送单元,用于向负载均衡器发送所述M台候选虚拟机的候选消息,以禁止该负载均衡器向所述M台候选虚拟机分配新业务。
25.一种弹性虚拟机群组,其特征在于,包括:
虚拟机群组,包括多台虚拟机;
管理服务器,用于监控虚拟机群组达到移除所述虚拟机群组中的虚拟机的预设条件,并获取预设的移除虚拟机的台数N,N为正整数;选取所述虚拟机群组中的M台候选虚拟机执行业务数据保护操作,所述业务数据保护操作用于保证所述候选虚拟机上的业务数据,其中,M为M大于N的正整数;确定M台所述候选虚拟机中的任一候虚拟机中的所述业务数据保护操作执行完毕,则移除所述业务数据保护操作执行完毕的所述候选虚拟机;确定被移除的所述候选虚拟机的台数达到N,并中止剩余的M-N台所述候选虚拟机的业务数据保护操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410782382.8A CN105760209B (zh) | 2014-12-16 | 2014-12-16 | 移除虚拟机的方法、装置与自动弹性群组 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410782382.8A CN105760209B (zh) | 2014-12-16 | 2014-12-16 | 移除虚拟机的方法、装置与自动弹性群组 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105760209A CN105760209A (zh) | 2016-07-13 |
CN105760209B true CN105760209B (zh) | 2019-06-21 |
Family
ID=56337114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410782382.8A Active CN105760209B (zh) | 2014-12-16 | 2014-12-16 | 移除虚拟机的方法、装置与自动弹性群组 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760209B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357638A (zh) * | 2017-09-01 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种电源状态的控制方法及控制装置 |
CN107832143B (zh) * | 2017-10-17 | 2020-11-03 | 北京京东尚科信息技术有限公司 | 一种物理机资源的处理方法和装置 |
CN108762899B (zh) * | 2018-05-16 | 2020-05-15 | 武汉轻工大学 | 一种云任务重调度方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257683A (zh) * | 2013-05-07 | 2013-08-21 | 华为技术有限公司 | 一种云计算业务伸缩的方法和装置 |
CN103514046A (zh) * | 2013-09-24 | 2014-01-15 | 华为技术有限公司 | 一种虚拟机放置方法及集群管理服务器 |
CN103810020A (zh) * | 2014-02-14 | 2014-05-21 | 华为技术有限公司 | 虚拟机弹性伸缩方法及装置 |
CN104040485A (zh) * | 2012-01-09 | 2014-09-10 | 微软公司 | Paas分层调度和自动缩放 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862922B2 (en) * | 2010-01-14 | 2014-10-14 | International Business Machines Corporation | Data center power adjustment |
-
2014
- 2014-12-16 CN CN201410782382.8A patent/CN105760209B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040485A (zh) * | 2012-01-09 | 2014-09-10 | 微软公司 | Paas分层调度和自动缩放 |
CN103257683A (zh) * | 2013-05-07 | 2013-08-21 | 华为技术有限公司 | 一种云计算业务伸缩的方法和装置 |
CN103514046A (zh) * | 2013-09-24 | 2014-01-15 | 华为技术有限公司 | 一种虚拟机放置方法及集群管理服务器 |
CN103810020A (zh) * | 2014-02-14 | 2014-05-21 | 华为技术有限公司 | 虚拟机弹性伸缩方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105760209A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11714671B2 (en) | Creating virtual machine groups based on request | |
CN108881495B (zh) | 资源分配方法、装置、计算机设备及存储介质 | |
CN107885595B (zh) | 一种资源分配方法、相关设备及系统 | |
CN111078363B (zh) | 一种虚拟机的numa节点调度方法、装置、设备及介质 | |
CN107301093B (zh) | 一种管理资源的方法和装置 | |
CN103902364B (zh) | 一种物理资源管理方法、装置及智能终端设备 | |
CN110389843B (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
CN111796908B (zh) | 一种资源自动弹性伸缩的系统、方法及云平台 | |
CN106663031B (zh) | 工作流执行中系统资源的公平共享 | |
CN105760209B (zh) | 移除虚拟机的方法、装置与自动弹性群组 | |
CN104199739A (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
CN109766172A (zh) | 一种异步任务调度方法以及装置 | |
CN111338785A (zh) | 资源调度方法及装置、电子设备、存储介质 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN108028806B (zh) | 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置 | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
CN110471769B (zh) | 一种虚拟机的资源管理方法及装置 | |
CN114816709A (zh) | 任务调度方法、装置、服务器及可读存储介质 | |
Amziani et al. | Time-based evaluation of service-based business process elasticity in the cloud | |
Tournaire et al. | Generating optimal thresholds in a hysteresis queue: Application to a cloud model | |
CN112073532A (zh) | 一种资源分配的方法及装置 | |
JP2014206805A (ja) | 制御装置 | |
CN111367648A (zh) | 资源分配的方法和装置 | |
CN106161572B (zh) | 一种服务的调用方法和服务器 | |
GB2570149A (en) | Scaling network functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |