一种虚拟化场景下的设备资源分配方法和装置与流程

文档序号:11216080阅读:536来源:国知局
一种虚拟化场景下的设备资源分配方法和装置与流程

本申请涉及设备虚拟化领域,特别是涉及一种虚拟化场景下的设备资源分配方法和装置。



背景技术:

设备虚拟化是一种常用的技术。我们可以通过设备虚拟化技术将一台物理设备虚拟化为逻辑上的多台设备,每个虚拟化实例可以简单理解为一个独立的虚拟设备,各个虚拟设备之间互不影响。设备虚拟化技术有效提高了设备的利用率,但由于物理设备的硬件约束,物理设备所能支持的各种资源都有上限。举例说明:某物理设备支持100万会话表,50万路由表,10万arp表。当物理设备进行虚拟化后,各个虚拟设备需要将这些资源进行分配,虚拟设备的资源使用量之和不能超过物理设备能提供的最大资源量。

现有技术中,一般使用如下两种资源分配方式:

固定分配:使物理设备可以创建的虚拟设备数量为固定值,每一个虚拟设备分配的资源量也为固定值。这种方式用户不需要做额外的配置,比较简单易用,方便管理。缺点如图1所示,深色部分表示已使用完的资源,浅色部分表示可用空闲资源。可见,分配给虚拟设备vs5的资源已使用完,但物理设备实际上还是有资源的。这种方式的资源分配不够灵活,没有做到差异化分配,会出现物理设备有未分配的空闲资源却无法进行分配的情况。

按需分配:使物理设备可以创建的虚拟设备数量为任意值,每个虚拟设备的资源数是可配置的,当新创建一个虚拟设备时,设备根据该系统的需求配置所需的资源量,这种方式是根据用户的需求进行配置,比较容易做到差异化分配,预期业务量大的可以多分配资源,预期业务量小的可以少分配资源,对资源的使用更加合理。缺点如图2所示,当先创建的虚拟设备分配的资源较多时,后创建的虚拟设备可能无法分配到所需的资源,从而无法创建成功,即整个物理设备所能支持的虚拟设备的总数无法保障。另外,某个虚拟设备所需的资源量并不能很精确的确定,而且也不是固定的,不同的时间点实际的业务量会有波动,若分配的资源量太少,可能大多数情况下足够使用,但高峰时期会有资源不够用的情况,从而造成业务故障;若资源量分配的太多,满足了高峰时的需求,但其他时间可能会有一定的浪费。



技术实现要素:

为解决上述技术问题,本申请提供了一种虚拟化场景下的设备资源分配方法和装置,技术方案如下:

一种虚拟化场景下的设备资源分配方法,应用于虚拟设备管理装置,所述虚拟设备管理装置配置于物理设备,且所述虚拟设备管理装置在物理设备中创建了若干虚拟设备,所述方法包括:

接收目标虚拟设备发送的资源申请,所述资源申请中携带资源需求数量;

判断所述资源需求数量是否大于所述物理设备的空闲资源数量;

如果所述资源需求数量不大于所述物理设备的空闲资源数量,将物理设备中的空闲资源分配给目标虚拟设备;

如果所述资源需求数量大于所述物理设备的空闲资源数量,则控制其他虚拟设备释放资源至所述物理设备,并且根据释放结果将物理设备中的空闲资源分配给目标虚拟设备。

一种虚拟化场景下的设备资源分配装置,所述设备资源分配装置配置于物理设备,且所述设备资源分配装置在物理设备中创建了若干虚拟设备,所述装置包括:

资源申请模块,用于接收目标虚拟设备发送的资源申请,所述资源申请中携带资源需求数量;

资源判断模块,用于判断所述资源需求数量是否大于所述物理设备的空闲资源数量;

资源分配模块,用于当所述资源需求数量不大于所述物理设备的空闲资源数量时,将物理设备中的空闲资源分配给目标虚拟设备;

资源抢占模块,用于当所述资源需求数量大于所述物理设备的空闲资源数量时,控制其他虚拟设备释放资源至所述物理设备,并且根据释放结果将物理设备中的空闲资源分配给目标虚拟设备。

本申请提供了一种虚拟化场景下的设备资源分配方法和装置,通过动态调整每个虚拟设备的资源分配数量,只要物理设备还有未分配的空闲资源,就能提供给虚拟设备使用,可以最大限度满足虚拟设备的资源需求。本申请资源分配灵活,做到了差异化分配,也避免了先创建的虚拟设备资源分配过多时,新创建的虚拟设备需求资源量无法满足的问题,可以更好的保证设备支持创建的虚拟设备的数量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明现有技术中固定分配设备资源的一种示意图;

图2为本发明现有技术中按需分配设备资源的一种示意图;

图3为本发明实施例虚拟化场景下的创建虚拟设备的一种流程图;

图4为本发明实施例虚拟化场景下的设备资源分配方法的一种流程图;

图5为本发明实施例虚拟化场景下的设备资源分配方法的另一种流程图;

图6为本发明实施例虚拟化场景下的设备资源分配装置的一种示意图。

具体实施方式

在物理设备虚拟化时,需要将物理设备中的各种资源分配给创建出的虚拟设备。现有技术中一般使用两种资源分配方式:固定分配和按需分配。但两种分配方式都无法做到动态调整每个虚拟设备的资源分配数量。

有鉴于此,本发明实施例就一种虚拟化场景下的设备资源分配方法进行说明,该方法可以包括以下步骤:

一种虚拟化场景下的设备资源分配方法,应用于虚拟设备管理装置,所述虚拟设备管理装置配置于物理设备,且所述虚拟设备管理装置在物理设备中创建了若干虚拟设备,所述方法包括:

接收目标虚拟设备发送的资源申请,所述资源申请中携带资源需求数量;

判断所述资源需求数量是否大于所述物理设备的空闲资源数量;

如果所述资源需求数量不大于所述物理设备的空闲资源数量,将物理设备中的空闲资源分配给目标虚拟设备;

如果所述资源需求数量大于所述物理设备的空闲资源数量,则控制其他虚拟设备释放资源至所述物理设备,并且根据释放结果将物理设备中的空闲资源分配给目标虚拟设备。

在资源分配之前,需要预先配置以下数据:

预先配置物理设备支持的虚拟设备的最大数量,记为countvs,设备实际创建的虚拟设备数量不能大于该值。

为每个虚拟设备分别指定标准资源值,虚拟设备x的标准资源值记为expx,且为所有虚拟设备指定的标准资源值之和不大于物理设备中该类资源的总值。

在资源分配的过程中,还需要记录各种资源使用状况,记录的数据包括但不限于以下几种:

空闲资源值:在物理设备中,所述空闲资源值每种类型的资源只有一个,是设备全局的空闲资源,虚拟设备申请到资源时,所述空闲资源值减少,虚拟设备释放资源时,所述空闲资源值增加;

系统资源值:所述系统资源值在物理设备中存在多个,每个虚拟设备存在一个,用于记录所述虚拟设备当前使用的资源量,虚拟设备申请到资源时,所述系统资源值增加,虚拟设备释放资源时,所述系统资源值减少;

系统资源峰值:所述系统资源值在物理设备中存在多个,每个虚拟设备存在一个,用于记录所述虚拟设备使用资源量的最高值,每当虚拟设备申请到资源时,比较系统资源值与系统资源峰值,如果系统资源值比系统资源峰值大,则修改系统资源峰值为最新的系统资源值的值;

系统资源均值:所述系统资源值在物理设备中存在多个,每个虚拟设备存在一个,通过周期性采样获取系统资源值,通过预设算法进行平均值计算,用于粗略估计所述虚拟设备的平均资源使用值。

为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述。

在资源分配开始之前,物理设备中已经创建了若干虚拟设备,请参考图3,为本发明实施例虚拟化场景中创建虚拟设备的一种流程图,其可以包括以下基本步骤:

s301,发起虚拟设备创建请求,为待创建设备配置标准资源值。

s302,判断已有虚拟设备的个数是否不小于预先配置的最大值;

如果已有虚拟设备的个数小于预先配置的最大数量countvs,则执行步骤s303;如果已有虚拟设别的个数不小于预先配置的最大数量countvs,则执行步骤s306。

s303,判断所有虚拟设备标准资源值之和是否大于物理设备中的总值;

这里的标准资源值之和,也包括为当前待创建的虚拟设备配置的标准资源值在内,如果所有虚拟设备配置的标准资源值之和不大于物理设备中该类资源的总值,则执行步骤s304;如果所有虚拟设备配置的标准资源值之和大于物理设备中该类资源的总值,则执行步骤s305。

s304,创建虚拟设备。

s305,输出当前的资源使用情况;

当可配置的标准资源值不足导致新虚拟设备无法完成创建时,需要输出物理设备和各个虚拟设备的资源使用状况,以便用户进行参考和调整。

可以输出的数据种类包括但不限于:物理设备的最大资源数量、各虚拟设备配置的标准资源值、各虚拟设备使用资源数量的最高值,各虚拟设备的使用资源数量的平均值。

s306,创建结束;

请参考图4,为本发明实施例虚拟化场景下的设备资源分配方法的一种流程图,其可以包括以下基本步骤:

s401,接收目标虚拟设备发送的资源申请;

接收目标虚拟设备发送的资源申请,资源申请中携带了目标虚拟设备想要申请的资源数量;

s402,判断资源需求数量是否大于空闲资源数量;

空闲资源就是物理设备中所剩余的,可以用来分配给虚拟设备的资源。需要注意的是,物理设备可以分配给虚拟设别的资源种类有很多,比如会话表,路由表,arp表等都是可分配的资源。这里的空闲资源,指的是与虚拟设备资源申请相同的一类资源。

在接收到资源申请后,检查资源需求数量是否大于空闲资源数量,也就是检查物理设备中的空闲资源能否满足资源申请的需求量。

如果资源需求数量不大于空闲资源数量,执行步骤s403;

如果资源需求数量大于空闲资源数量,执行步骤s404。

s403,将物理设备中的空闲资源分配给目标虚拟设备。

s404,控制其他虚拟设备释放资源至物理设备,根据释放结果将物理设备中的空闲资源分配给目标虚拟设备;

如果资源需求数量大于空闲资源数量,说明物理设备中的空闲资源无法满足目标虚拟设备的资源需求,此时,需要动态调整各个虚拟设备中的资源分配比例。

在实际应用过程中,触发资源释放之前通常需要进行条件检查,举例说明:

a)检查目标虚拟设备,如果目标虚拟设备当前使用的资源数量没有到达阈值,则控制其他虚拟设备资源数量释放资源至物理设备,再由物理设备分配给目标虚拟设备。

b)检查其他虚拟设备,如果某些虚拟设备当前使用的资源数量超过阈值,则控制这些虚拟设备释放资源至物理设备,再由物理设备分配给目标虚拟设备。

c)检查目标虚拟设备和其他虚拟设备,如果目标虚拟设备当前使用的资源数量没有到达阈值,且某些虚拟设备当前使用的资源数量超过阈值,则控制这些虚拟设备释放资源至物理设备,再由物理设备分配给目标虚拟设备。

进一步地,资源分配也可采用多种方案,举例说明:

a)先把物理设备中的空闲资源都分配给目标虚拟设备,满足目标虚拟设备的一部分资源需求,然后进行条件检查,如果可以进行资源释放,再从其他虚拟设备中释放资源至物理设备,使物理设备中的空闲资源能补足剩下一部分资源需求。

b)先进行条件检查,如果可以进行资源释放,从其他虚拟设备中释放资源至物理设备,使物理设备中的空闲资源数量大于目标虚拟设备的资源数量,然后将足量的空闲资源分配给虚拟设备。

请参考图5,为本发明实施例虚拟化场景下的设备资源分配方法的另一种流程图,其可以包括以下基本步骤:

s501,接收目标虚拟设备发送的资源申请,和s401所述相同。

s502,判断资源需求数量是否大于空闲资源数量,和s402所述相同。

如果资源需求数量大于空闲资源数量,执行步骤s503;

如果资源需求数量不大于空闲资源数量,执行步骤s504。

s503,发送资源不足告警日志,然后执行步骤505;

一般来说,发生了以下情况时,会产生资源不足告警日志:

a)物理设备的最大资源能力已经不满足当前的应用环境;

b)发生了资源类攻击,导致资源消耗过多。

s504,将物理设备中的空闲资源分配给目标虚拟设备,然后执行步骤508。

s505,判断目标设备的当前资源使用数量是否小于标准资源值;

标准资源值可以理解为,虚拟设备可以无条件获得的资源数量。

当虚拟设备申请资源时,虚拟设备当前使用的资源值没有到达标准资源值,那么不管物理设备中空闲资源值够不够,都会设法满足虚拟设备的资源申请,即控制其他虚拟设备释放资源至物理设备,再由物理设备分配给虚拟设备。这里可以有进一步的两种处理方式:a)在此次申请的资源需求量尚未足量分配的情况下,虚拟设备当前使用的资源值到达标准资源值,此时,停止控制其他虚拟设备资源数量释放资源至物理设备;b)不管虚拟设备当前使用的资源值是否到达标准资源值,满足此次申请的资源需求量,再停止控制其他虚拟设备资源数量释放资源至物理设备。

当虚拟设备申请资源时,虚拟设备当前使用的资源值已经到达标准资源值,那么只有在物理设备中的空闲资源值足够时,才会满足虚拟设备的资源申请。

如果目标设备的当前资源使用数量小于它的标准资源值,执行步骤s506;

如果目标设备的当前资源使用数量不小于它的标准资源值,执行步骤s508。

s506,从其他虚拟设备中选中当前使用的资源数量与标准资源值比值最大的虚拟设备。

s507,控制选中虚拟设备释放资源至物理设备,根据释放结果将物理设备中的空闲资源分配给目标虚拟设备,和s404所述相同。

s508,分配结束。

请参考图6,为本发明实施例虚拟化场景下的设备资源分配装置。包括:资源申请模块601,资源判断模块602,资源分配模块603,资源抢占模块604。

资源申请模块601,用于接收目标虚拟设备发送的资源申请,所述资源申请中携带资源需求数量;

资源判断模块602,用于判断所述资源需求数量是否大于所述物理设备的空闲资源数量;

资源分配模块603,用于当所述资源需求数量不大于所述物理设备的空闲资源数量时,将物理设备中的空闲资源分配给目标虚拟设备;

资源抢占模块604,用于当所述资源需求数量大于所述物理设备的空闲资源数量时,控制其他虚拟设备释放资源至所述物理设备,并且根据释放结果将物理设备中的空闲资源分配给目标虚拟设备。

在本实施例中,所述设备资源分配装置创建的虚拟设备的数量,不高于预先配置的最大值。

设备资源分配装置在创建虚拟设备时,为每个虚拟设备分别指定标准资源值,且为所有虚拟设备指定的标准资源值之和不大于物理设备中该类资源的总值

在本实施例中,所述资源抢占模块,具体用于:

当所述资源需求数量大于所述物理设备的空闲资源数量时,判断目标虚拟设备当前使用的资源数量是否小于标准资源值;

如果目标虚拟设备当前使用的资源数量小于标准资源值,则控制其他虚拟设备释放资源至所述物理设备。

在本实施例中,所述资源抢占模块,具体还用于:

当所述资源需求数量大于所述物理设备的空闲资源数量时,根据预设算法选择符合标准的虚拟设备,从所选择的虚拟设备中释放资源至所述物理设备。

在本实施例中,所述资源抢占模块,具体还用于:

当所述资源需求数量大于所述物理设备的空闲资源数量时,计算其他虚拟设备当前使用的资源数量与该设备标准资源值的比值,选择所述比值最大的虚拟设备,从所选择的虚拟设备中释放资源至所述物理设备;

其中,虚拟设备管理装置在创建虚拟设备时,为每个虚拟设备分别指定标准资源值,且为所有虚拟设备指定的标准资源值之和不大于物理设备中该类资源的总值。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1