本发明专利技术提供了一种分配宿主机资源的方法和一种管理服务器,包括:获取应用所需多个虚拟机的资源规格;根据排序规则和所述虚拟机的资源规格,对所述多个虚拟机的权值进行排序;按照虚拟机权值从大到小的顺序申请分配宿主机资源。本发明专利技术通过应用所需虚拟机按照权值统一排序后再进行分配,大大提高了宿主机的资源利用率。
【技术实现步骤摘要】
本专利技术涉及信息
,尤其涉及一种分配宿主机资源的方法及装置。
技术介绍
云计算技术实现了对业务对底层资源的屏蔽。业务运行在宿主机中的虚拟机上,在多个宿主机、虚拟机的情况下,宿主机的资源利用率是跟虚拟机的分配算法密切相关的。例如,有两个宿主机hostA和hostB,他们的资源规格都是8核CPU,8G字节内存,需要在这两个宿主机上运行3个虚拟机VM1、VM2和VM3,其中VM1和VM2的资源规格为4核CPU、4G字节内存,VM3的资源规格为8核CPU、8G字节内存。显然运行利用率最高的分配方式为:VM1和VM2运行在一个宿主机上,VM3运行在另一个宿主机上。这样,资源利用率达到了100%。现有技术中,管理系统分配宿主机资源时,对上层应用提供了创建虚拟机(VirtualMachine)的接口,若上层需创建多个虚拟机,则需要调用多次。例如,根据上面的例子,第一次调用接口创建VM1,则管理系统分配hostA上创建VM1。第二次调用接口创建VM2,管理系统将因为hostB上剩余资源更多而把VM2创建在hostB上。当第三次调用接口创建VM3时,由于HostA、HostB上剩余资源均不能满足VM3所需资源,创建失败。由此导致系统资源利用率只有50%。可见,管理系统在进行资源分配时存在资源利用率不足的问题。
技术实现思路
为克服现有技术的缺陷,本专利技术实施例提供了一种分配宿主机资源的方法。所述方法的技术方案如下:第一方面,本专利技术实施例提供了一种分配宿主机资源的方法,包括:获取应用所需多个虚拟机的资源规格;根据排序规则和所述虚拟机的资源规格,对所述多个虚拟机的权值进行排序;按照虚拟机权值从大到小的顺序申请分配宿主机资源。在第一方面的第一种可能的实现方式中,所述资源规格包括虚拟机的CPU值,虚拟机的内存值,或者虚拟机外部存储器值。在第一方面的第二种可能的实现方式中,所述排序规则包括各资源规格所占的权重,所述虚拟机的权值为各资源规格的权值所占权重的和。在第一方面的第三种可能的实现方式中,所述资源规格的权值为归一化的值,所述资源规格的归一化值为虚拟机的资源规格值除以资源规格的最小值。在第一方面的第四种可能的实现方式中,所述应用所需多个虚拟机的资源规格是通过一次性调用接口获取的,或者是通过读取应用信息获取的。第二方面,本专利技术实施例提供了一种管理服务器,包括获取模块,排序模块,以及分配模块,其中:所述获取模块,用于获取应用所需多个虚拟机的资源规格;所述排序模块,用于根据排序规则和所述虚拟机的资源规格,对所述多个虚拟机的权值进行排序;所述分配模块,用于按照虚拟机权值从大到小的顺序申请分配宿主机资源。在第二方面的第一种可能的实现方式中,所述资源规格包括虚拟机的CPU值,虚拟机的内存值,或者虚拟机外部存储器值。在第二方面的第二种可能的实现方式中,所述排序规则包括各资源规格所占的权重,所述虚拟机的权值为各资源规格的权值所占权重的和。在第二方面的第三种可能的实现方式中,所述资源规格的权值为归一化的值,所述资源规格的归一化值为虚拟机的资源规格值除以资源规格的最小值。在第二方面的第四种可能的实现方式中,所述应用所需多个虚拟机的资源规格是所述获取模块通过一次性调用接口获取的,或者是通过读取应用信息获取的。本专利技术实施例提供的上述技术方案通过应用所需虚拟机按照权值统一排序后再进行分配,大大提高了宿主机的资源利用率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。图1为本专利技术实施例提供的一种系统架构图;图2为本专利技术实施例提供的一种分配宿主机资源的方法流程图;图3为本专利技术实施例提供的一种管理服务器的结构示意图;图4为本专利技术实施例提供的另一种管理服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下获取的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种分配宿主机资源的系统,如图1所示,系统包括上层应用、管理服务器、宿主机。上层应用是提供业务的应用程序。而管理服务器用于获取应用所需多个虚拟机的资源规格;根据排序规则和所述虚拟机的资源规格,对所述多个虚拟机的权值进行排序;按照虚拟机权值从大到小的顺序申请分配宿主机资源。宿主机用于运行分配的虚拟机。本专利技术实施例还提供一种分配宿主机资源的方法,应用于如图1所示的系统,特别是其中的管理服务器中。该方法如图2所示,包括下列步骤:201,获取应用所需多个虚拟机的资源规格;202,根据排序规则和所述虚拟机的资源规格,对所述多个虚拟机的权值进行排序;203,按照虚拟机权值从大到小的顺序申请分配宿主机资源。上述资源规格包括虚拟机的CPU值,虚拟机的内存值,或者虚拟机所需的外部存储器值。而所述排序规则包括各资源规格所占的权重,虚拟机的权值为各资源规格的权值所占权重的和。所述资源规格的权值为归一化的值,所述资源规格的归一化值为虚拟机的资源规格值除以资源规格的最小值。本专利技术实施例通过应用所需虚拟机按照权值统一排序后再进行分配,大大提高了宿主机的资源利用率。下面进一步举例来说明本专利技术,假设图1所示的系统中的宿主机有两个,hostA和hostB,他们的资源规格都是8核CPU,8G字节内存。分配宿主机资源的实现过程具体包括:201A,管理服务器获取应用所需多个虚拟机的资源规格。假设应用需要在这两个宿主机上运行3个虚拟机VM1、VM2和VM3,它们的资源规格需求分别为2核CPU、2G字节内存;3核CPU、4G字节内存;以及5核CPU、6G字节内存。应用可以通过一次性调用接口向管理服务器申请分配这3个虚拟机,也可以由管理服务器读取应用信息获取虚拟机资源规格。一个虚拟机的资源规格还可以包括外部存储器,如硬盘空间等。202A,管理服务器根据排序规则和所述虚拟机的资源规格,对所述多个虚拟机的权值进行排序。排序规则用于确定虚拟机排序的计算规则,可以预先设置。排序规则包括各资源规格所占的权重。例如,可以设CPU值和内存值的权重各为50%。对于计算量较大的应用,可以提高CPU值的权重。例如,CPU值的权重为70%,内存值的权重为30%。这样更有利于合理安排资源。如果资源规格还包括外部存储器,则CPU值、内存值、外部存储器值的权重的和为100%。计算虚拟机权值时首先把各资源规格归一化,权值的计算方法为虚拟机的资源规格值除以资源规格的最小值。本实施例中,3个虚拟机VM1、VM2和VM3的CPU值分别为2核、3核、5核,最小的CPU值为2核,则VM1的CPU权值为1,VM2的CPU权值为1.5,VM3的CPU权值为2.5。而VM1、VM2和VM3的内存值分别为2G字节、4G字节、6G字节。最小的内存值为2G字节,则VM1的内存权值为1,VM2的内存权值为2,VM3的内存权值为3。虚拟机各资源规格的权值计算出来后,各本文档来自技高网...
【技术保护点】
一种分配宿主机资源的方法,其特征在于,包括:获取应用所需多个虚拟机的资源规格;根据排序规则和所述虚拟机的资源规格,对所述多个虚拟机的权值进行排序;按照虚拟机权值从大到小的顺序申请分配宿主机资源。
【技术特征摘要】
1.一种分配宿主机资源的方法,其特征在于,包括:获取应用所需多个虚拟机的资源规格;根据排序规则和所述虚拟机的资源规格,对所述多个虚拟机的权值进行排序;按照虚拟机权值从大到小的顺序申请分配宿主机资源。2.如权利要求1所述的方法,其特征在于:所述资源规格包括虚拟机的CPU值,虚拟机的内存值,或者虚拟机外部存储器值。3.如权利要求1或2所述的方法,其特征在于:所述排序规则包括各资源规格所占的权重,所述虚拟机的权值为各资源规格的权值所占权重的和。4.如权利要求3所述的方法,其特征在于:所述资源规格的权值为归一化的值,所述资源规格的归一化值为虚拟机的资源规格值除以资源规格的最小值。5.如权利要求1-4任一项所述的方法,其特征在于:所述应用所需多个虚拟机的资源规格是通过一次性调用接口获取的,或者是通过读取应用信息获取的。6.一种管理服务器,其特征在于,包括获取模块,排序模块,以及...
【专利技术属性】
技术研发人员:邹韬,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。