一种虚拟机CPU的限额处理方法和装置制造方法及图纸

技术编号:15541093 阅读:40 留言:0更新日期:2017-06-05 10:39
本申请公开了一种虚拟机CPU的限额处理方法和装置,其中,该方法包括:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时间,对所述虚拟机CPU进行限额。本申请提供的上述虚拟机CPU的限额处理方法和装置,能够采用等比例换算来实现所要达到的CPU限额值,减少了因CPU竞争压力而产生的不利影响,满足了实现此功能的全面性和健壮性,达到了精确管理虚拟机的目的。

Quota processing method and device for virtual machine CPU

The invention discloses a limit processing method and device, a CPU virtual machine, the method includes: determining the number of physical quantity of CPU virtual machine CPU is greater than the number of bound; when the virtual machine CPU is higher than that of the physical CPU, the ratio of the number of the physical quantity calculation CPU with the CPU virtual machine; product limit percentage using virtual machine CPU acquisition and time period, and multiplied by the first ratio calculation of the virtual machine CPU in a unit of time available CPU time; using libvirt interface to set the virtual machine available CPU CPU time in a unit of time, for the limit of the virtual machine CPU. The CPU virtual machine limit processing method and device provided by the application, can be used to achieve the proportion of conversion to the CPU limit value, and reduces the negative effects caused by the CPU competition, to meet the overall robustness and realize the function, achieve the precise management of virtual machine to.

【技术实现步骤摘要】
一种虚拟机CPU的限额处理方法和装置
本专利技术属于云计算
,特别是涉及一种虚拟机CPU的限额处理方法和装置。
技术介绍
RedHatEnterpriseLinux6提供新的内核功能:控制族群(controlgroup简称Cgroup)。Cgroup可为系统中所运行任务(进程)的用户定义组群分配资源--比如CPU时间、系统内存、网络带宽或者这些资源的组合。Libvirt正是利用这一功能来实现CPU的时间调度,进一步实现虚拟机CPU限额的功能。Libvirt将这一配置作为虚拟机引导时启用,再重启之后重新建立预先定义的Cgroup进而保存CPU的限额配置。然而,利用上述技术对虚拟机CPU进行限额处理时会出现如下问题:在虚拟机的虚拟CPU数量大于绑定在物理主机逻辑核数量时,所设定的CPU限额值与实际达到的CPU资源额度并不相符。
技术实现思路
为解决上述问题,本专利技术提供了一种虚拟机CPU的限额处理方法和装置,能够采用等比例换算来实现所要达到的CPU限额值,减少了因CPU竞争压力而产生的不利影响,满足了实现此功能的全面性和健壮性,达到了精确管理虚拟机的目的。本专利技术提供的一种虚拟机CPU的限额处理方法,包括:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时间,对所述虚拟机CPU进行限额。优选的,在上述虚拟机CPU的限额处理方法中,在所述确定虚拟机CPU的数量是否大于绑定的物理CPU的数量之前还包括:确定是否已经设定所述虚拟机CPU的份额;当已经设定所述虚拟机CPU的份额且所述物理CPU资源发生抢占时,根据所述虚拟机CPU的份额来进行资源的调度。优选的,在上述虚拟机CPU的限额处理方法中,所述根据所述虚拟机CPU的份额来进行资源的调度包括:利用单个虚拟机已经占有的CPU资源除以所述虚拟机的份额,得到单份额值;当发生资源抢占时,优先为单份额值小的虚拟机分配所述物理CPU的资源,直至发生资源抢占的所有虚拟机的单份额值全部相等。优选的,在上述虚拟机CPU的限额处理方法中,所述确定是否已经设定所述虚拟机CPU的份额包括:查询所述虚拟机的份额值是否为1024,如果是,则确定没有设定所述虚拟机CPU的份额,如果否,则确定设定了所述虚拟机CPU的份额。本专利技术提供的一种虚拟机CPU的限额处理装置,包括:第一确定单元,用于确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;第一计算单元,用于当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;第二计算单元,用于利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;设置单元,用于利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时间,对所述虚拟机CPU进行限额。优选的,在上述虚拟机CPU的限额处理装置中,还包括:第二确定单元,用于确定是否已经设定所述虚拟机CPU的份额;调度单元,用于当已经设定所述虚拟机CPU的份额且所述物理CPU资源发生抢占时,根据所述虚拟机CPU的份额来进行资源的调度。优选的,在上述虚拟机CPU的限额处理装置中,所述调度单元包括:单份额值计算部件,用于利用单个虚拟机已经占有的CPU资源除以所述虚拟机的份额,得到单份额值;资源分配部件,用于当发生资源抢占时,优先为单份额值小的虚拟机分配所述物理CPU的资源,直至发生资源抢占的所有虚拟机的单份额值全部相等。优选的,在上述虚拟机CPU的限额处理装置中,所述第二确定单元具体用于查询所述虚拟机的份额值是否为1024,如果是,则确定没有设定所述虚拟机CPU的份额,如果否,则确定设定了所述虚拟机CPU的份额。通过上述描述可知本专利技术提供了一种虚拟机CPU的限额处理方法和装置,由于该方法包括:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时间,对所述虚拟机CPU进行限额,因此能够采用等比例换算来实现所要达到的CPU限额值,减少了因CPU竞争压力而产生的不利影响,满足了实现此功能的全面性和健壮性,达到了精确管理虚拟机的目的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例提供的第一种虚拟机CPU的限额处理方法的示意图;图2为本申请实施例提供的第一种虚拟机CPU的限额处理装置的示意图。具体实施方式本专利技术的核心思想在于提供一种虚拟机CPU的限额处理方法和装置,能够采用等比例换算来实现所要达到的CPU限额值,减少了因CPU竞争压力而产生的不利影响,满足了实现此功能的全面性和健壮性,达到了精确管理虚拟机的目的。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请实施例提供的第一种虚拟机CPU的限额处理方法如图1所示,图1为本申请实施例提供的第一种虚拟机CPU的限额处理方法的示意图。该方法包括如下步骤:S1:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;在虚拟机日常管理中,虚拟机的资源管理能够实时调整主机以及虚拟机之间资源调度,使得主机资源能够充分利用且虚拟机之间互不影响。在创建虚拟机后,由于默认每个虚拟机CPU的利用率都可以达到100%,因此当一个虚拟机在运行大量消耗资源的程序时,其他虚拟机则无法正常运行或者造成系统停止响应以至于宕机,因此需要对虚拟机的最大处理能力进行一定的限制。当出现虚拟机CPU数量大于其绑定在物理主机CPU数量时,需要对限额的值进行换算处理。例如虚拟机全部四个CPU只绑定在物理机的0号和1号CPU上,则该虚拟机实际能够使用的CPU资源最大为200%而非400%,如果想要达到该虚拟机只占用50%的CPU资源的目的,即只占用50%*200%=100%的CPU资源,那么实际在设置虚拟机CPU限额时每一个CPU的限定值应该是25%才可以达到目的。S2:当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;S3:利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一本文档来自技高网...
一种虚拟机CPU的限额处理方法和装置

【技术保护点】
一种虚拟机CPU的限额处理方法,其特征在于,包括:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时间,对所述虚拟机CPU进行限额。

【技术特征摘要】
1.一种虚拟机CPU的限额处理方法,其特征在于,包括:确定虚拟机CPU的数量是否大于绑定的物理CPU的数量;当所述虚拟机CPU的数量大于所述物理CPU的数量时,计算所述物理CPU的数量与所述虚拟机CPU数量的第一比值;利用获取的虚拟机CPU的限额百分比与时间周期的乘积,并乘以所述第一比值,计算所述虚拟机CPU在单位时间内可用CPU的时间;利用libvirt接口设置所述虚拟机CPU在单位时间内可用CPU的时间,对所述虚拟机CPU进行限额。2.根据权利要求1所述的虚拟机CPU的限额处理方法,其特征在于,在所述确定虚拟机CPU的数量是否大于绑定的物理CPU的数量之前还包括:确定是否已经设定所述虚拟机CPU的份额;当已经设定所述虚拟机CPU的份额且所述物理CPU资源发生抢占时,根据所述虚拟机CPU的份额来进行资源的调度。3.根据权利要求2所述的虚拟机CPU的限额处理方法,其特征在于,所述根据所述虚拟机CPU的份额来进行资源的调度包括:利用单个虚拟机已经占有的CPU资源除以所述虚拟机的份额,得到单份额值;当发生资源抢占时,优先为单份额值小的虚拟机分配所述物理CPU的资源,直至发生资源抢占的所有虚拟机的单份额值全部相等。4.根据权利要求3所述的虚拟机CPU的限额处理方法,其特征在于,所述确定是否已经设定所述虚拟机CPU的份额包括:查询所述虚拟机的份额值是否为1024,如果是,则确定没有设定所述虚拟机CPU的份额,如果否,则确定设定了所述虚拟机CPU的份额。5.一种虚...

【专利技术属性】
技术研发人员:解琰曾鹏庞慷宇
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1