虚拟机的资源分配方法和装置制造方法及图纸

技术编号:14965818 阅读:99 留言:0更新日期:2017-04-02 20:27
本发明专利技术公开了一种虚拟机的资源分配方法和装置,该方法包括:获取云主机列表中每个云主机的正在运行虚拟机的个数X和锁定虚拟机的个数Y,其中,锁定虚拟机为正在启动的虚拟机;根据云主机的预定分配需求对云主机列表中的每个云主机按照正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y进行排序;从排序后的云主机列表中选择最优云主机并分配虚拟机至最优云主机。本发明专利技术通过将云主机的运行虚拟机个数和锁定虚拟机个数相加并作出排序处理,从而使得云主机上的虚拟机的启动情况完全与真实的情况一致,能够实现真正的负载均衡。

【技术实现步骤摘要】

本专利技术涉及云计算领域,具体来说,涉及一种虚拟机的资源分配方法和装置
技术介绍
资源调度是云计算中的关键技术之一,资源调度可分为静态调度和动态调度,其中,静态调度指在虚拟机启动时,按照一定的调度策略选择目标云主机,只执行一次;而动态调度则指调度任务在后台定时查看资源负载情况,并根据调度策略执行迁移虚拟机、关闭或者启动云主机操作。资源调度实现的好坏从很大程度上能够决定一个云计算系统的成败。创建、启动虚拟机的过程就是资源分配的过程;在系统运行过程中,资源调度不断动态地根据系统负载情况调整资源,以达到系统的负载均衡和节能等需求。而在批量启动虚拟机时,由于启动一台虚拟机需要一个时间过程,在下一台虚拟机启动时,前面的虚拟机可能正在启动前的校验中,因此在统计云主机上正在运行的虚拟机个数时,只能得到已经启动的虚拟机个数,而正在启动的虚拟机个数获取不到,这就容易造成启动结果混乱,比如原本不能在云主机上启动的虚拟机在云主机上启动了,导致云主机上启动的虚拟机个数超出用户的设置;或者原本希望批量启动的虚拟机在各个云主机上是负载均衡的,但实际上可能所有虚拟机都启动在一台云主机上,根本没有达到负载均衡的效果等。具体的,如图1所示,在现有技术中,在应用负载均衡资源调度批量启动虚拟机时,在资源池1中有3个云主机,要启动3台虚拟机vm7、vm8、vm9,在启动过程中可能出现3台虚拟机均启动在云主机1上的情况,因为在启动>vm8、vm9的时候,vm7还没有进入启动状态,导致后面调度执行判断的时候,始终认为云主机1上运行虚拟机个数最少,最终结果是所有虚拟机都启动在同一个云主机上,显然并没有达到负载均衡的目标。由此可见,在现有技术中,资源调度无法很好地处理批量启动虚拟机的并发事件。批量启动虚拟机一般会同时创建多个异步任务,这就导致批量启动多台虚拟机时可能都选择了相同的目标云主机,造成云主机瞬间负载过大,可能会有一些虚拟机因为资源不足无法启动,同时也无法更好的分配使用云主机资源。针对相关技术中的上述问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述问题,本专利技术提出一种虚拟机的资源分配方法和装置,能够使云主机资源得到均衡分配。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种虚拟机的资源分配方法。该资源分配方法包括:获取云主机列表中每个云主机的正在运行虚拟机的个数X和锁定虚拟机的个数Y,其中,锁定虚拟机为正在启动的虚拟机;根据云主机的预定分配需求对云主机列表中的每个云主机按照正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y进行排序;从排序后的云主机列表中选择最优云主机并分配虚拟机至最优云主机。其中,在获取云主机列表中每个云主机的锁定虚拟机个数Y时,可通过查询预定的资源缓冲区中是否包含该云主机,在包含该云主机的情况下,获取该云主机的锁定虚拟机个数Y,其中,预定的资源缓冲区用于存储云主机与该云主机锁定虚拟机的个数的对应关系。此外,该资源分配方法进一步包括:在根据云主机的预定分配需求对云主机列表中的每个云主机按照正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y进行排序后,将云主机列表中每个云主机的正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y与该云主机能够运行虚拟机的最大个数进行比较;将云主机列表中的正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y小于该云主机能够运行虚拟机的最大个数的云主机的锁定虚拟机的个数Y+1。其中,在将云主机列表中的正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y小于该云主机能够运行虚拟机的最大个数的云主机的锁定虚拟机的个数Y+1时,可将资源缓冲区中该云主机的锁定虚拟机的个数Y+1。另外,该资源分配方法进一步包括:在将云主机列表中每个云主机的正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y与该云主机能够运行虚拟机的最大个数进行比较之前,查询预定的资源缓冲区中是否包含该云主机,在不包含该云主机的情况下,将该云主机添加至预定的资源缓冲区。此外,该资源分配方法进一步包括:将云主机列表中的正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y小于该云主机能够运行虚拟机的最大个数的云主机构成新的云主机列表;从排序后的云主机列表中选择最优云主机并分配虚拟机至最优云主机包括:从新的云主机列表中选择最优云主机并分配虚拟机至最优云主机。可选的,在从排序后的云主机列表中选择最优云主机时,可从云主机列表中查询是否存在预定最优云主机;在存在预定最优云主机的情况下,将云主机列表中该预定最优云主机作为最优云主机;在不存在预定最优云主机的情况下,将排序后的云主机列表中排序第一的云主机作为最优云主机。另外,该资源分配方法进一步包括:将云主机列表中未被选择的云主机在资源缓冲区中该云主机的锁定虚拟机的个数Y-1。此外,云主机的预定分配需求包括以下至少之一:用户需求优先;负载均衡优先;绿色节能优先。根据本专利技术的另一方面,提供了一种虚拟机的资源分配装置。该资源分配装置包括:获取模块,用于获取云主机列表中每个云主机的正在运行虚拟机的个数X和锁定虚拟机的个数Y,其中,锁定虚拟机为正在启动的虚拟机;排序模块,用于根据云主机的预定分配需求对云主机列表中的每个云主机按照正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y进行排序;选择模块,用于从排序后的云主机列表中选择最优云主机并分配虚拟机至最优云主机。本专利技术通过将云主机的运行虚拟机个数和锁定虚拟机个数相加并作出排序处理,从而使得云主机上的虚拟机的启动情况完全与真实的情况一致,能够实现真正的负载均衡。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据现有技术的批量启动虚拟机的结果示意图;图2是根据本专利技术实施例的虚拟机的资源分配方法的流程图;图3是根据本专利技术实施例的资源总缓冲区的查询设置流程图;图4是根据本专利技术实施例的获取最优云主机的流程图;图5是根据本专利技术实施例的批量启动虚拟机的结果示意图;图6是根据本专利技术实施例的虚拟机的资源分配装置的框图。具体实施方本文档来自技高网...

【技术保护点】
一种虚拟机的资源分配方法,其特征在于,包括:获取云主机列表中每个云主机的正在运行虚拟机的个数X和锁定虚拟机的个数Y,其中,所述锁定虚拟机为正在启动的虚拟机;根据云主机的预定分配需求对所述云主机列表中的每个云主机按照正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y进行排序;从排序后的所述云主机列表中选择最优云主机并分配虚拟机至所述最优云主机。

【技术特征摘要】
1.一种虚拟机的资源分配方法,其特征在于,包括:
获取云主机列表中每个云主机的正在运行虚拟机的个数X和锁定虚拟
机的个数Y,其中,所述锁定虚拟机为正在启动的虚拟机;
根据云主机的预定分配需求对所述云主机列表中的每个云主机按照正
在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y进行排序;
从排序后的所述云主机列表中选择最优云主机并分配虚拟机至所述最
优云主机。
2.根据权利要求1所述的资源分配方法,其特征在于,获取所述云主
机列表中每个云主机的锁定虚拟机个数Y包括:
查询预定的资源缓冲区中是否包含该云主机,在包含该云主机的情况
下,获取该云主机的锁定虚拟机个数Y,其中,所述预定的资源缓冲区用
于存储云主机与该云主机锁定虚拟机的个数的对应关系。
3.根据权利要求1或2所述的资源分配方法,其特征在于,在根据云
主机的预定分配需求对所述云主机列表中的每个云主机按照正在运行虚拟
机的个数X和锁定虚拟机的个数Y之和X+Y进行排序后,进一步包括:
将所述云主机列表中每个云主机的正在运行虚拟机的个数X和锁定虚
拟机的个数Y之和X+Y与该云主机能够运行虚拟机的最大个数进行比较;
将所述云主机列表中的正在运行虚拟机的个数X和锁定虚拟机的个数
Y之和X+Y小于该云主机能够运行虚拟机的最大个数的云主机的锁定虚拟
机的个数Y+1。
4.根据权利要求3所述的资源分配方法,其特征在于,将所述云主机
列表中的正在运行虚拟机的个数X和锁定虚拟机的个数Y之和X+Y小于
该云主机能够运行虚拟机的最大个数的云主机的锁定虚拟机的个数Y+1包
括:将所述资源缓冲区中该云主机的锁定虚拟机的个数Y+1。
5.根据权利要求3所述的资源分配方法,其特征在于,在将所述云主
机列表中每个云主机的正在运行虚拟机的个数X和锁定虚拟机的个数Y之
和X+Y与该云主机能够运行虚拟机的最大个数进行比较之前,进一步包

【专利技术属性】
技术研发人员:李绍辉郝秋影范霄王慧谦刘润峰
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1