一种资源池的资源分配方法及装置.pdf

上传人:t**** 文档编号:1636251 上传时间:2018-06-30 格式:PDF 页数:18 大小:1.10MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510059511.5

申请日:

2015.02.04

公开号:

CN104657216A

公开日:

2015.05.27

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/50申请日:20150204|||公开

IPC分类号:

G06F9/50; G06F9/455

主分类号:

G06F9/50

申请人:

华为技术有限公司

发明人:

张伟; 于璠

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

深圳市深佳知识产权代理事务所(普通合伙)44285

代理人:

王仲凯

PDF下载: PDF下载
内容摘要

本申请提供了一种资源池的资源分配方法及装置。所述方法包括:主机确定虚拟机所归属的资源池;所述虚拟机为运行在所述主机上的虚拟机;从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源。采用本申请的方法或装置,可以解决现有技术中对于资源池的资源分配强依赖于数据中心服务器的问题。

权利要求书

权利要求书
1.  一种资源池的资源分配方法,其特征在于,包括:
主机确定虚拟机所归属的资源池;所述虚拟机为运行在所述主机上的虚拟机;
从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;
确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;
触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源。

2.  根据权利要求1所述的方法,其特征在于,所述确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同,具体包括:
确定所述标识的个数与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的个数不同;
和\或,确定所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称不同。

3.  根据权利要求1所述的方法,其特征在于,所述从共享存储介质获取与所述资源池相关的拓扑结构文件之前,还包括:
获取运行在所述主机上的虚拟机的第一标识信息;
根据所述第一标识信息与最近一次获取的第二标识信息,确定运行在所述主机上的虚拟机发生了改变;
将所述第一标识信息更新至所述主机上维护的拓扑结构文件;所述主机上维护的拓扑结构文件至少包含所述主机上运行的虚拟机的标识信息,以及所述主机上运行的虚拟机所归属的资源池信息;
将所述主机上维护的拓扑结构文件存储至所述共享存储介质。

4.  根据权利要求3所述的方法,其特征在于,所述确定运行在所述主机 上的虚拟机发生了改变,具体包括:
确定所述第一标识信息中的标识个数与所述第二标识信息中的标识个数不同;
和\或,确定所述第一标识信息中的标识名称与所述第二标识信息中的标识名称不同。

5.  根据权利要求1-4任一项所述的方法,其特征在于,所述为运行在所述主机上的虚拟机重新分配资源之前,还包括:
获取所述资源池中处于运行状态的虚拟机的资源占用信息;
所述资源占用信息存储在所述与所述资源池相关的拓扑结构文件中,所述资源占用信息包括所述资源池中处于运行状态的虚拟机实际占用的资源信息,以及所述资源池中处于运行状态的虚拟机所需求的最大资源信息。

6.  根据权利要求3所述的方法,其特征在于,所述将所述主机上维护的拓扑结构文件存储至所述共享存储介质之前,还包括:
获取运行在所述主机上的虚拟机的资源占用信息;所述运行在所述主机上的虚拟机的资源占用信息包括所述主机上处于运行状态的虚拟机实际占用的资源信息,以及所述主机上处于运行状态的虚拟机所需求的最大资源信息。

7.  一种资源池的资源分配装置,其特征在于,包括:
确定单元,用于确定虚拟机所归属的资源池;所述虚拟机为运行在主机上的虚拟机;
获取单元,用于从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;
所述确定单元,还用于确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;
触发单元,用于触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源。

8.  根据权利要求7所述的装置,其特征在于,所述确定单元,具体用于:
确定所述标识的个数与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的个数不同;
和\或,确定所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称不同。

9.  根据权利要求7所述的装置,其特征在于,所述获取单元还用于:
从共享存储介质获取与所述资源池相关的拓扑结构文件之前,获取运行在所述主机上的虚拟机的第一标识信息;
所述确定单元,还用于根据所述第一标识信息与最近一次获取的第二标识信息,确定运行在所述主机上的虚拟机发生了改变;
所述装置还包括:
更新单元,用于将所述第一标识信息更新至所述主机上维护的拓扑结构文件;所述主机上维护的拓扑结构文件至少包含所述主机上运行的虚拟机的标识信息,以及所述主机上运行的虚拟机所归属的资源池信息;
存储单元,用于将所述主机上维护的拓扑结构文件存储至所述共享存储介质。

10.  根据权利要求9所述的装置,其特征在于,所述确定单元,具体用于:
确定所述第一标识信息中的标识个数与所述第二标识信息中的标识个数不同;
和\或,确定所述第一标识信息中的标识名称与所述第二标识信息中的标识名称不同。

11.  根据权利要求7-10任一项所述的装置,其特征在于,所述获取单元还用于:
为运行在所述主机上的虚拟机重新分配资源之前,获取所述资源池中处于运行状态的虚拟机的资源占用信息;
所述资源占用信息存储在所述与所述资源池相关的拓扑结构文件中,所述 资源占用信息包括所述资源池中处于运行状态的虚拟机实际占用的资源信息,以及所述资源池中处于运行状态的虚拟机所需求的最大资源信息。

12.  根据权利要求9所述的装置,其特征在于,所述获取单元还用于:
将所述主机上维护的拓扑结构文件存储至所述共享存储介质之前,获取运行在所述主机上的虚拟机的资源占用信息;所述运行在所述主机上的虚拟机的资源占用信息包括所述主机上处于运行状态的虚拟机实际占用的资源信息,以及所述主机上处于运行状态的虚拟机所需求的最大资源信息。

说明书

说明书一种资源池的资源分配方法及装置
技术领域
本申请涉及资源共享领域,特别是涉及一种资源池的资源分配方法及装置。
背景技术
网络功能虚拟化技术是近期兴起的较有发展前景的技术。该技术主要是通过使用通用性硬件以及虚拟化技术,使软硬件解耦,使网络设备功能不再依赖于专用硬件。
虚拟化技术带来的好处是,可以使硬件资源被充分灵活共享,实现新业务的快速开发和部署,并且可以基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。
现有技术中,虚拟化后可供共享的资源的抽象集合被称为资源池。资源池中的资源存在于各个主机中。每个主机上可以运行一个或多个虚拟机。每个虚拟机可以使用一个主机上的部分或全部资源。各个主机受控于数据中心服务器。数据中心服务器负责将资源池中的资源分配给各个虚拟机。
可见,现有技术中对于资源池的资源分配是强依赖于数据中心服务器的。当数据中心服务器出现故障,或者主机与数据中心服务器之间的控制网络出现异常时,将导致数据中心服务器无法及时获取虚拟机对于主机上的资源的使用情况。当虚拟机需要申请使用更多资源时,即使主机上的物理资源仍有剩余,但是也无法分配给该虚拟机使用,进而造成资源的浪费。
发明内容
本申请的目的是提供一种资源池的资源分配方法及装置,能够通过主机执行资源分配过程,解决现有技术中对于资源池的资源分配强依赖于数据中心服务器的问题。
为实现上述目的,本申请提供了如下方案:
根据本申请的第一方面的第一种可能的实现方式,本申请提供一种资源池 的资源分配方法,包括:
主机确定虚拟机所归属的资源池;所述虚拟机为运行在所述主机上的虚拟机;
从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;
确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;
触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源。
结合第一方面的第二种可能的实现方式,所述确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同,具体包括:
确定所述标识的个数与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的个数不同;
和\或,确定所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称不同。
结合第一方面的第三种可能的实现方式,所述从共享存储介质获取与所述资源池相关的拓扑结构文件之前,还包括:
获取运行在所述主机上的虚拟机的第一标识信息;
根据所述第一标识信息与最近一次获取的第二标识信息,确定运行在所述主机上的虚拟机发生了改变;
将所述第一标识信息更新至所述主机上维护的拓扑结构文件;所述主机上维护的拓扑结构文件至少包含所述主机上运行的虚拟机的标识信息,以及所述主机上运行的虚拟机所归属的资源池信息;
将所述主机上维护的拓扑结构文件存储至所述共享存储介质。
结合第一方面的第三种可能的实现方式的第一种具体实现方式,所述确定运行在所述主机上的虚拟机发生了改变,具体包括:
确定所述第一标识信息中的标识个数与所述第二标识信息中的标识个数不同;
和\或,确定所述第一标识信息中的标识名称与所述第二标识信息中的标识名称不同。
结合第一方面的四种可能的实现方式中的任意一种,所述为运行在所述主机上的虚拟机重新分配资源之前,还包括:
获取所述资源池中处于运行状态的虚拟机的资源占用信息;
所述资源占用信息存储在所述与所述资源池相关的拓扑结构文件中,所述资源占用信息包括所述资源池中处于运行状态的虚拟机实际占用的资源信息,以及所述资源池中处于运行状态的虚拟机所需求的最大资源信息。
结合第一方面的第三种可能的实现方式的第二种具体实现方式,所述将所述主机上维护的拓扑结构文件存储至所述共享存储介质之前,还包括:
获取运行在所述主机上的虚拟机的资源占用信息;所述运行在所述主机上的虚拟机的资源占用信息包括所述主机上处于运行状态的虚拟机实际占用的资源信息,以及所述主机上处于运行状态的虚拟机所需求的最大资源信息。
根据本申请的第二方面的第一种可能的实现方式,本申请提供一种资源池的资源分配装置,包括:
确定单元,用于确定虚拟机所归属的资源池;所述虚拟机为运行在主机上的虚拟机;
获取单元,用于从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;
所述确定单元,还用于确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;
触发单元,用于触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源。
结合第二方面的第二种可能的实现方式,所述确定单元,具体用于:
确定所述标识的个数与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的个数不同;
和\或,确定所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称不同。
结合第二方面的第三种可能的实现方式,所述获取单元还用于:
从共享存储介质获取与所述资源池相关的拓扑结构文件之前,获取运行在所述主机上的虚拟机的第一标识信息;
所述确定单元,还用于根据所述第一标识信息与最近一次获取的第二标识信息,确定运行在所述主机上的虚拟机发生了改变;
所述装置还包括:
更新单元,用于将所述第一标识信息更新至所述主机上维护的拓扑结构文件;所述主机上维护的拓扑结构文件至少包含所述主机上运行的虚拟机的标识信息,以及所述主机上运行的虚拟机所归属的资源池信息;
存储单元,用于将所述主机上维护的拓扑结构文件存储至所述共享存储介质。
结合第二方面的第三种可能的实现方式的第一种具体的实现方式,所述确定单元,具体用于:
确定所述第一标识信息中的标识个数与所述第二标识信息中的标识个数不同;
和\或,确定所述第一标识信息中的标识名称与所述第二标识信息中的标识名称不同。
结合第二方面的四种可能的实现方式中的任意一种,所述获取单元还用于:
为运行在所述主机上的虚拟机重新分配资源之前,获取所述资源池中处于运行状态的虚拟机的资源占用信息;
所述资源占用信息存储在所述与所述资源池相关的拓扑结构文件中,所述资源占用信息包括所述资源池中处于运行状态的虚拟机实际占用的资源信息,以及所述资源池中处于运行状态的虚拟机所需求的最大资源信息。
结合第二方面的第三种可能的实现方式的第二种具体的实现方式,所述获取单元还用于:
将所述主机上维护的拓扑结构文件存储至所述共享存储介质之前,获取运行在所述主机上的虚拟机的资源占用信息;所述运行在所述主机上的虚拟机的资源占用信息包括所述主机上处于运行状态的虚拟机实际占用的资源信息,以及所述主机上处于运行状态的虚拟机所需求的最大资源信息。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
本申请公开的资源池的资源分配方法或装置,通过确定虚拟机所归属的资源池;所述虚拟机为运行在所述主机上的虚拟机;从共享存储介质获取与所述资源池相关的拓扑结构文件;确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源;可以在资源池中处于运行状态的虚拟机发生了改变时,触发资源分配计算过程,当主机上有剩余资源时,可以直接分配给需要的虚拟机。即,本实施例中的方法,可以通过主机执行资源分配过程,从而解决了现有技术中对于资源池的资源分配强依赖于数据中心服务器的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的资源分配方法实施例1的流程图;
图2为本申请的资源分配方法实施例2的流程图;
图3为本申请中的资源池的拓扑结构示意图;
图4为本申请中的主机和共享存储介质的架构示意图;
图5为本申请的资源池的资源分配装置实施例的结构图;
图6为本申请的计算节点的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
图1为本申请的资源池的资源分配方法实施例1的流程图。如图1所示,该方法可以包括:
步骤101:主机确定虚拟机所归属的资源池;所述虚拟机为运行在所述主机上的虚拟机;
所述主机是指为虚拟机提供物理资源的计算机。具体的,所述主机可以具有CPU等计算资源,还可以具有内存或硬盘等存储资源。这些物理资源可以分配给运行在所述主机上的虚拟机使用。
所述资源池是一个抽象的逻辑概念。所有主机上的可供分配的物理资源,可以均归属于同一个根资源池。一个根资源池可以包括多个子资源池。步骤101中的所述资源池,主要是指根资源池底层的子资源池。
一个子资源池中的资源可以分配给多个虚拟机使用。一个子资源池中的资源数量是有限的。多个虚拟机可以按照一定的比例关系分别使用所述子资源池中的部分资源。例如,资源池A中的资源被分配给虚拟机1,虚拟机2和虚拟机3使用。其中,虚拟机1运行在主机1上。则主机1确定的虚拟机1所归属的资源池即为资源池A。
步骤102:从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;
所述拓扑结构文件中记录有资源池中包含的虚拟机的信息。例如,可以记录资源池A中的资源被分配给虚拟机1,虚拟机2和虚拟机3,资源池B中的资源被分配给虚拟机4,虚拟机5等等。其中,虚拟机1中的“1”,虚拟机2中的“2”均为虚拟机的标识。
所述共享存储介质可以被多个主机访问。所述多个主机均是为所述资源池提供资源的主机。所述多个主机中的任一主机也可以向所述共享存储介质写入拓扑结构文件。某一个主机写入的拓扑结构文件中,可以包含有运行在该主机上的虚拟机的标识信息,还可以包含运行在该主机上的虚拟机实际占用的资源量信息,以及运行在该主机上的虚拟机所需求占用的资源量信息。
需要说明的是,对于某一主机来说,运行在该主机上的虚拟机的状态是可以发生改变的。具体的,当用户对于某一虚拟机使用完毕后,可以关闭改虚拟机。被关闭后的虚拟机,将不再占用该主机上的资源。所述处于运行状态的虚拟机,是未被关闭的虚拟机。
步骤103:确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;
本实施例中的主机,可以周期性或非周期性地从所述共享介质中存储的拓扑结构文件中获取所述资源池中处于运行状态的虚拟机的标识。
可以将本次获取到的所述资源池中处于运行状态的虚拟机的标识与上一次(即最近一次)获取的所述资源池中处于运行状态的虚拟机的标识进行对比,从而确定所述资源池中处于运行状态的虚拟机发生了改变。当所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同时,则表示所述资源池中处于运行状态的虚拟机发生了改变。
步骤104:触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源。
检测到上述改变后,可以触发资源分配计算过程。本实施例中,所述资源分配计算过程可以由所述主机自身实现。对于具体的资源分配计算方式,可以采用现有的方式,在此不再赘述。
综上所述,本实施例中,通过确定虚拟机所归属的资源池;所述虚拟机为 运行在所述主机上的虚拟机;从共享存储介质获取与所述资源池相关的拓扑结构文件;确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源;可以在资源池中处于运行状态的虚拟机发生了改变时,触发资源分配计算过程,当主机上有剩余资源时,可以直接分配给需要的虚拟机。即,本实施例中的方法,可以通过主机执行资源分配过程,从而解决了现有技术中对于资源池的资源分配强依赖于数据中心服务器的问题。
需要说明的是,所述确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同,具体可以包括:
确定所述标识的个数与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的个数不同;
和\或,确定所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称不同。
一个资源池中的资源可以分别分配给不同的虚拟机使用。当处于运行状态的虚拟机的标识的个数发生改变时,则意味着与最近一次所述资源池中处于运行状态的虚拟机相比,虚拟机的数目发生了增加或减少。因此,可以确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识肯定是不同的。
当处于运行状态的虚拟机的标识的个数未发生改变时,处于运行状态的虚拟机不一定是最近一次获取的标识所对应的虚拟机。例如,最近一次处于运行状态的虚拟机为虚拟机1,虚拟机2,虚拟机3,本次处于运行状态的虚拟机为虚拟机2,虚拟机3和虚拟机4。两次获取的结果中,虚拟机的标识均为3个,但是两次对应的处于运行状态的虚拟机是发生了改变的。为了识别这种改变,可以将本次获取到的所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称进行对比,当本次获取到的所述标识的名称中,有任意一个名称未出现在最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称中时,或者最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称中的任意一个名称,未出现在本次获取到的所述标识的名称 中时,可以确定所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称不同。进而可以确定两次对应的处于运行状态的虚拟机发生了改变。
两种确定方式可以单独使用,也可以结合使用。当结合使用时,可以先判断所述标识的个数与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的个数是否相同,如果不同,则确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;如果相同,则可以判断所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称是否相同,如果不同,则确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;如果相同,则确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识相同。
上述结合使用的方式的好处是,“判断所述标识的个数与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的个数是否相同”这一步骤在计算机进行处理时,数据处理量较小,处理效率较高,所以先执行这一步骤。“判断所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称是否相同”这一步骤在计算机进行处理时,数据处理量稍大,处理效率稍低,但是判断精度高,所以在判断完个数之后,再执行判断名称的步骤,可以既具有较高的效率,还具有高的精度。
实际应用中,为了使任一主机可以获知与该主机上运行的虚拟机相关的其他主机上的虚拟机的资源使用情况,本申请还提供了下面的实施例。
图2为本申请的资源池的资源分配方法实施例2的流程图。如图2所示,该方法可以包括:
步骤201:为所述资源池提供资源的资源提供主机获取运行在所述资源提供主机上的虚拟机的第一标识信息;
所述资源提供主机可以是为所述资源池提供资源的任意一个主机。该主机可以周期性或非周期性地获取运行在所述资源提供主机上的虚拟机的标识信息。为了便于描述和区分,本申请中将该标识信息称为第一标识信息,将上一次(即最近一次)的获取到的所述资源提供主机上的虚拟机的标识信息称为第 二标识信息。
步骤202:根据所述第一标识信息与最近一次获取的第二标识信息,确定运行在所述资源提供主机上的虚拟机发生了改变;
当所述第一标识信息与所述第二标识信息中,标识的个数,和/或名称不同时,可以确定运行在所述资源提供主机上的虚拟机发生了改变。
步骤203:将所述第一标识信息更新至所述资源提供主机上维护的拓扑结构文件;所述资源提供主机上维护的拓扑结构文件至少包含所述资源提供主机上运行的虚拟机的标识信息,以及所述资源提供主机上运行的虚拟机所归属的资源池信息;
步骤204:将所述资源提供主机上维护的拓扑结构文件存储至所述共享存储介质;所述共享存储介质可供各个所述资源提供主机访问。
通过上述步骤,各个资源提供主机均可以将自身上运行的虚拟机的标识信息,以及每个虚拟机所归属资源池信息。后续任意一个所述资源提供主机可以从所述拓扑结构文件中,获取到归属于同一个资源池的虚拟机的标识信息,从而实现使任一主机可以获知与该主机上运行的虚拟机相关的其他主机上的虚拟机的资源使用情况。
步骤205:主机确定虚拟机所归属的资源池;所述虚拟机为运行在所述主机上的虚拟机;
本步骤中,所述主机可以是任意一个所述资源提供主机。
步骤206:从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;
步骤207:确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;
步骤208:触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源。
综上所述,本实施例中,通过将所述第一标识信息更新至所述资源提供主 机上维护的拓扑结构文件;所述资源提供主机上维护的拓扑结构文件至少包含所述资源提供主机上运行的虚拟机的标识信息,以及所述资源提供主机上运行的虚拟机所归属的资源池信息;将所述资源提供主机上维护的拓扑结构文件存储至所述共享存储介质;可以使任一主机获知与该主机上运行的虚拟机相关的其他主机上的虚拟机的资源使用情况。
实际应用中,为了使主机具有足够的信息以计算需要为各个虚拟机分配的资源,所述为运行在所述主机上的虚拟机重新分配资源之前,还可以包括以下步骤:
获取所述资源池中处于运行状态的虚拟机的资源占用信息;所述资源占用信息存储在所述与所述资源池相关的拓扑结构文件中,所述资源占用信息包括所述资源池中处于运行状态的虚拟机实际占用的资源信息,以及所述资源池中处于运行状态的虚拟机所需求的最大资源信息。
其中,所述资源池中处于运行状态的虚拟机实际占用的资源信息和所需求的最大资源信息,是计算需要为各个虚拟机分配的资源所需要采用的信息。
相应的,为了使各个主机可以获取到另外的主机上的虚拟机的资源占用信息,本申请实施例中,所述将所述资源提供主机上维护的拓扑结构文件存储至所述共享存储介质之前,还可以包括以下步骤:
获取运行在所述资源提供主机上的虚拟机的资源占用信息;所述运行在所述资源提供主机上的虚拟机的资源占用信息包括所述资源提供主机上处于运行状态的虚拟机实际占用的资源信息,以及所述资源提供主机上处于运行状态的虚拟机所需求的最大资源信息。
为便于理解本申请中的资源池的概念,请参照图3。图3为本申请中的资源池的拓扑结构示意图。如图3所示,主机31,主机32和主机33共同为根资源池301提供物理资源。根资源池301至少包括子资源池302,子资源池303和子资源池304。子资源池302包括子资源池304和虚拟机3021。子资源池304包含虚拟机3025和虚拟机3026。子资源池303包含虚拟机3022、虚拟机3023和虚拟机3024。其中,同一子资源池包含的虚拟机可以分别运行在不同的主机上。
图4为本申请中的主机和共享存储介质的架构示意图。如图4所示,主机401、主机402和主机403可以分别与共享存储介质404进行数据交互。主机401、主机402和主机403可以分别将自身运行的虚拟机的标识等信息更新至共享存储介质404上的拓扑结构文件中。主机401、主机402和主机403中的任意一个主机,也可以从共享存储介质404上的拓扑结构文件中获知其他主机上运行的与该任意一个主机上的虚拟机归属于同一资源池的虚拟机的运行情况。
本申请还提供了一种资源池的资源分配装置。所述资源分配装置可以是为虚拟机提供物理资源的计算机。
图5为本申请的资源池的资源分配装置实施例的结构图。如图5所示,该资源分配装置,可以包括:
确定单元501,用于确定虚拟机所归属的资源池;所述虚拟机为运行在主机上的虚拟机;
获取单元502,用于从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;
所述确定单元501,还用于确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;
触发单元503,用于触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源。
所述主机可以具有CPU等计算资源,还可以具有内存或硬盘等存储资源。这些物理资源可以分配给运行在所述主机上的虚拟机使用。
所述资源池是一个抽象的逻辑概念。所有主机上的可供分配的物理资源,可以均归属于同一个根资源池。一个根资源池可以包括多个子资源池。步骤101中的所述资源池,主要是指根资源池底层的子资源池。
一个子资源池中的资源可以分配给多个虚拟机使用。一个子资源池中的资 源数量是有限的。多个虚拟机可以按照一定的比例关系分别使用所述子资源池中的部分资源。例如,资源池A中的资源被分配给虚拟机1,虚拟机2和虚拟机3使用。其中,虚拟机1运行在主机1上。则主机1确定的虚拟机1所归属的资源池即为资源池A。
所述拓扑结构文件中记录有资源池中包含的虚拟机的信息。例如,可以记录资源池A中的资源被分配给虚拟机1,虚拟机2和虚拟机3,资源池B中的资源被分配给虚拟机4,虚拟机5等等。其中,虚拟机1中的“1”,虚拟机2中的“2”均为虚拟机的标识。
所述共享存储介质可以被多个主机访问。所述多个主机均是为所述资源池提供资源的主机。所述多个主机中的任一主机也可以向所述共享存储介质写入拓扑结构文件。某一个主机写入的拓扑结构文件中,可以包含有运行在该主机上的虚拟机的标识信息,还可以包含运行在该主机上的虚拟机实际占用的资源量信息,以及运行在该主机上的虚拟机所需求占用的资源量信息。
需要说明的是,对于某一主机来说,运行在该主机上的虚拟机的状态是可以发生改变的。具体的,当用户对于某一虚拟机使用完毕后,可以关闭改虚拟机。被关闭后的虚拟机,将不再占用该主机上的资源。所述处于运行状态的虚拟机,是未被关闭的虚拟机。
本实施例中的主机,可以周期性或非周期性地从所述共享介质中存储的拓扑结构文件中获取所述资源池中处于运行状态的虚拟机的标识。
可以将本次获取到的所述资源池中处于运行状态的虚拟机的标识与上一次(即最近一次)获取的所述资源池中处于运行状态的虚拟机的标识进行对比,从而确定所述资源池中处于运行状态的虚拟机发生了改变。当所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同时,则表示所述资源池中处于运行状态的虚拟机发生了改变。
检测到上述改变后,可以触发资源分配计算过程。本实施例中,所述资源分配计算过程可以由所述主机自身实现。对于具体的资源分配计算方式,可以采用现有的方式,在此不再赘述。
综上所述,本实施例中,通过确定虚拟机所归属的资源池;所述虚拟机为 运行在所述主机上的虚拟机;从共享存储介质获取与所述资源池相关的拓扑结构文件;确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;触发资源分配计算过程,为运行在所述主机上的虚拟机重新分配资源;可以在资源池中处于运行状态的虚拟机发生了改变时,触发资源分配计算过程,当主机上有剩余资源时,可以直接分配给需要的虚拟机。即,本实施例中的方法,可以通过主机执行资源分配过程,从而解决了现有技术中对于资源池的资源分配强依赖于数据中心服务器的问题。
实际应用中,所述确定单元501,具体可以用于:
确定所述标识的个数与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的个数不同;
和\或,确定所述标识的名称与最近一次获取的所述资源池中处于运行状态的虚拟机的标识的名称不同。
实际应用中,所述获取单元502还可以用于:
从共享存储介质获取与所述资源池相关的拓扑结构文件之前,获取运行在所述主机上的虚拟机的第一标识信息;
所述确定单元501,还用于根据所述第一标识信息与最近一次获取的第二标识信息,确定运行在所述主机上的虚拟机发生了改变;
所述装置还包括:
更新单元,用于将所述第一标识信息更新至所述主机上维护的拓扑结构文件;所述主机上维护的拓扑结构文件至少包含所述主机上运行的虚拟机的标识信息,以及所述主机上运行的虚拟机所归属的资源池信息;
存储单元,用于将所述主机上维护的拓扑结构文件存储至所述共享存储介质;所述共享存储介质可供各个所述主机访问。
实际应用中,所述确定单元501,具体可以用于:
确定所述第一标识信息中的标识个数与所述第二标识信息中的标识个数不同;
和\或,确定所述第一标识信息中的标识名称与所述第二标识信息中的标 识名称不同。
实际应用中,所述获取单元502还可以用于:
为运行在所述主机上的虚拟机重新分配资源之前,获取所述资源池中处于运行状态的虚拟机的资源占用信息;
所述资源占用信息存储在所述与所述资源池相关的拓扑结构文件中,所述资源占用信息包括所述资源池中处于运行状态的虚拟机实际占用的资源信息,以及所述资源池中处于运行状态的虚拟机所需求的最大资源信息。
实际应用中,所述获取单元502还可以用于:
将所述主机上维护的拓扑结构文件存储至所述共享存储介质之前,获取运行在所述主机上的虚拟机的资源占用信息;所述运行在所述主机上的虚拟机的资源占用信息包括所述主机上处于运行状态的虚拟机实际占用的资源信息,以及所述主机上处于运行状态的虚拟机所需求的最大资源信息。
另外,本申请实施例还提供了一种计算节点,计算节点可能是包含计算能力的主机服务器,或者是个人计算机PC,或者是可携带的便携式计算机或终端等等,本申请具体实施例并不对计算节点的具体实现做限定。
图6为本申请的计算节点的结构图。如图6所示,计算节点700包括:
处理器(processor)710,通信接口(Communications Interface)720,存储器(memory)730,总线740。
处理器710,通信接口720,存储器730通过总线740完成相互间的通信。
处理器710,用于执行程序732。
具体地,程序732可以包括程序代码,所述程序代码包括计算机操作指令。
处理器710可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器730,用于存放程序732。存储器730可能包含高速RAM存储器, 也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序732中各模块的具体实现参见图5所示实施例中的相应模块或单元,在此不赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变 之处。综上所述,本说明书内容不应理解为对本申请的限制。

一种资源池的资源分配方法及装置.pdf_第1页
第1页 / 共18页
一种资源池的资源分配方法及装置.pdf_第2页
第2页 / 共18页
一种资源池的资源分配方法及装置.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种资源池的资源分配方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种资源池的资源分配方法及装置.pdf(18页珍藏版)》请在专利查询网上搜索。

本申请提供了一种资源池的资源分配方法及装置。所述方法包括:主机确定虚拟机所归属的资源池;所述虚拟机为运行在所述主机上的虚拟机;从共享存储介质获取与所述资源池相关的拓扑结构文件;所述共享存储介质可供各个为所述资源池提供资源的主机访问;所述拓扑结构文件中至少记录了所述资源池中处于运行状态的虚拟机的标识;确定所述标识与最近一次获取的所述资源池中处于运行状态的虚拟机的标识不同;触发资源分配计算过程,为运行。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1