虚拟机调度方法和设备的制作方法

文档序号:6382507阅读:333来源:国知局
专利名称:虚拟机调度方法和设备的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种虚拟机调度方法和设备。
背景技术
网络中各类业务长时间运行后会造成云计算资源池内各物理计算节点负载不均,从而导致业务效率降低,资源浪费,需要通过负载均衡调度平衡各物理计算节点的负载。目前最常用的负载均衡技术是基于物理计算节点的中央处理器(Central Process Unit,CPU)占用率的负载均衡调度。这种调度方式下资源管理系统定期采集各物理计算节点的CPU占用率,通过比对各物理计算节点的CPU占用率和预先设定的重载阈值来判定物理计算节点是否重载从而触发虚拟机调度。调度时系统先选出轻载计算节点,通过比对物理计算节点CPU占用率和预先设定的轻载阈值来判定物理计算节点是否轻载。系统将轻载的物 理计算节点作为目标节点,将重载的物理计算节点作为源节点,当触发调度时开始从源节点向目标节点迁移虚拟机,当目标节点的CPU占用率达到均衡阈值且源节点的CPU占用率还高于重载阈值时重新选择目标节点继续迁移虚拟机。源节点CPU占用率低于重载阈值后停止虚拟机迁移。但是,该调度方案只关注物理计算节点的CPU占用率,不能保证调度后虚拟机的CPU服务质量。

发明内容
有鉴于此,本发明实施例提供了一种虚拟机调度方法和设备,用以解决现有的负载均衡调度方案不能保证CPU服务质量的问题。第一方面,提供了一种虚拟机调度方法,包括确定源资源池的复用比,所述源资源池为源物理计算节点上的重载资源池,所述复用比为VCPU的数量与物理内核的数量的比值;选取目标资源池,所述目标资源池为目标物理计算节点上的资源池,且所述目标资源池的复用比与所述源资源池的复用比相同,以及所述目标资源池具备设定的足够资源;将所述源资源池上的虚拟机迁移到所述目标资源池上。结合第一方面,在第一方面的第一种可能的实现方式中,所述目标资源池具备设定的足够资源,包括当(X+Y)〈=NX (M+K)时,所述目标资源池具备设定的足够资源,其中,X为源资源池的VCPU的数量,Y为目标资源池原有的VCPU的数量,N为源资源池和目标资源池的复用t匕,M为目标资源池的物理内核的数量,K为目标资源池能够从另外资源池获取的物理内核
的数量。结合第一方面,在第一方面的第二种可能的实现方式中,所述确定源资源池的复用比,包括
与所述源物理计算节点进行信令交互,获取所述源资源池的资源信息,所述资源信息包括所述源资源池包括的物理内核的数量以及所述源资源池包括的虚拟机列表;根据所述虚拟机列表确定所述源资源池包括的VCPU的数量;根据所述VCPU的数量和所述物理内核的数量,确定所述复用比。结合第一方面,在第一方面的第三种可能的实现方式中,还包括获取每个资源池内每个虚拟机的中央处理器CPU占用率,根据每个虚拟机的CPU占用率得到所有虚拟机的CPU占用率总和,以及获取每个资源池的物理内核的数量;将所述虚拟机的CPU占用率总和与所述物理内核的数量的比值,确定为所述资源池的CPU占用率; 将所述资源池的CPU占用率超过设定的重载阈值的资源池确定为所述源资源池;所述将所述源资源池上的虚拟机迁移到所述目标资源池上,包括在待迁移的虚拟机的CPU占用率与所述目标资源池的原有的CPU占用率之和小于或等于所述重载阈值时,将所述源资源池上的虚拟机迁移到所述目标资源池上。结合第一方面,在第一方面的第四种可能的实现方式中,还包括与每个物理计算节点交互,获取每个资源池的资源信息,所述资源信息包括虚拟机列表,并在虚拟机启动、创建、迁移、停止或删除时,更新每个资源池的虚拟机列表。结合第一方面或第一方面的第一种至第四种任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述选取目标资源池,包括在所述目标物理计算节点上存在与所述源资源池复用比相同,且具备设定的足够资源的资源池时,将所述资源池选取为所述目标资源池;或者,在所述目标物理计算节点上不存在与所述源资源池复用比相同的资源池,或者,存在与所述源资源池复用比相同的资源池但所述资源池不具备设定的足够资源时,如果所述目标物理计算节点上存在另外的资源冗余的资源池,则降低所述另外的资源冗余的资源池中的资源,将降低的资源分配给所述目标资源池。第二方面,提供了一种虚拟机调度设备,包括确定模块,用于确定源资源池的复用比,所述源资源池为源物理计算节点上的重载资源池,所述复用比为VCPU的数量与物理内核的数量的比值;选取模块,用于选取目标资源池,所述目标资源池为目标物理计算节点上的资源池,且所述目标资源池的复用比与所述源资源池的复用比相同,以及所述目标资源池具备设定的足够资源;迁移模块,用于将所述源资源池上的虚拟机迁移到所述目标资源池上。结合第二方面,在第二方面的第一种可能的实现方式中,所述选取模块选取的目标资源池具备设定的足够资源包括当(X+Y)〈=NX (M+K)时,所述目标资源池具备设定的足够资源,其中,X为源资源池的VCPU的数量,Y为目标资源池原有的VCPU的数量,N为源资源池和目标资源池的复用t匕,M为目标资源池的物理内核的数量,K为目标资源池能够从另外资源池获取的物理内核
的数量。结合第二方面,在第二方面的第二种可能的实现方式中,所述确定模块具体用于
与所述源物理计算节点进行信令交互,获取所述源资源池的资源信息,所述资源信息包括所述源资源池包括的物理内核的数量以及所述源资源池包括的虚拟机列表;根据所述虚拟机列表确定所述源资源池包括的VCPU的数量;根据所述VCPU的数量和所述物理内核的数量,确定所述复用比。结合第二方面,在第二方面的第三种可能的实现方式中,还包括处理模块,用于获取每个资源池内每个虚拟机的中央处理器CPU占用率,根据每个虚拟机的CPU占用率得到所有虚拟机的CPU占用率总和,以及获取每个资源池的物理内核的数量;将所述虚拟机的CPU占用率总和与所述物理内核的数量的比值,确定为所述资源池的CPU占用率;将所述资源池的CPU占用率超过设定的重载阈值的资源池确定为所述源资源池;所述迁移模块具体用于在待迁移的虚拟机的CPU占用率与所述目标资源池的原有的CPU占用率之和小于或等于所述重载阈值时,将所述源资源池上的虚拟机迁移到所述目标资源池上。结合第二方面,在第二方面的第四种可能的实现方式中,还包括更新模块,用于与每个物理计算节点交互,获取每个资源池的资源信息,所述资源信息包括虚拟机列表,并在虚拟机启动、创建、迁移、停止或删除时,更新每个资源池的虚拟机列表。结合第二方面或第二方面的第一种至第四种任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述选取模块具体用于在所述目标物理计算节点上存在与所述源资源池复用比相同,且具备设定的足够资源的资源池时,将所述资源池选取为所述目标资源池;或者,在所述目标物理计算节点上不存在与所述源资源池复用比相同的资源池,或者,存在与所述源资源池复用比相同的资源池但所述资源池不具备设定的足够资源时,如果所述目标物理计算节点上存在另外的资源冗余的资源池,则降低所述另外的资源冗余的资源池中的资源,将降低的资源分配给所述目标资源池。通过上述技术方案,在虚拟机调度时,将具有相同复用比的资源池作为迁移虚拟机的目标资源池,由于相同复用比的资源池具有相同的CPU服务质量,因此经过虚拟机调度后可以保证CPU服务质量。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明虚拟机调度方法一实施例的流程示意图;图2为本发明实施例中物理计算节点划分资源池的示意图;图3为本发明实施例中资源池一种更新情况示意图;图4为本发明实施例中资源池另一种更新情况示意图;图5为本发明实施例中虚拟机调度的一种示意图6为本发明虚拟机调度方法另一实施例的流程示意图;图7为本发明实施例中虚拟机调度的另一种示意图;图8为本发明虚拟机调度设备一实施例的结构示意图;图9为本发明虚拟机调度设备另一实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图I为本发明虚拟机调度方法一实施例的流程示意图,包括11 :调度节点确定源资源池的复用比,所述源资源池为源物理计算节点上的重载资源池,所述复用比为VCPU的数量与物理内核的数量的比值;12:调度节点选取目标资源池,所述目标资源池为目标物理计算节点上的资源池,且所述目标资源池的复用比与所述源资源池的复用比相同,以及所述目标资源池具备用于承载所述源资源池的虚拟机的足够资源;13 :调度节点将所述源资源池上的虚拟机迁移到所述目标资源池上。每个物理计算节点的CPU都有多个物理内核,底层的操作系统进程与内核绑定技术可以控制虚拟机的虚拟CPU (Virtual CPU,VCPU)进程跑在不同的物理内核上,从而隔离不同虚拟机对CPU资源使用上的冲突。可以通过将物理计算节点的CPU划分为多个资源池,不同的资源池具有不同的CPU服务质量(Quality of Service, QoS)。具体可以根据复用比划分资源池,复用比是指资源池内VCPU的数量与该资源池内物理内核的数量之比。对于同一个资源池内的虚拟机(Virtual Machine, VM),需要保证在资源池内的所有虚拟机业务最繁忙时都要满足虚拟机的CPU服务质量。根据底层CPU公平调度的算法,每个虚拟机可以获取的CPU资源与资源池内VCPU的数量和物理内核数量相关,当资源池内所有虚拟机都繁忙时每个VCPU可以获取的物理CPU资源为物理内核数/VCPU总数。基于上述原理,通过控制资源池内物理内核的数量和VCPU的数量即可保证虚拟机的CPU服务质量。如图2所示,可以根据复用比划分资源池,每个资源池具有各自的复用比。例如,物理计算节点A可以划分为高性能资源池、普通资源池和默认资源池。高性能资源池的复用比为1: 1,普通资源池的复用比为2:1,默认资源池的复用比为4: I。也就是说,高性能资源池内的每个VCPU可独占一个物理内核,每个VCPU最繁忙时也可以获得100%计算能力的保障;普通资源池内的一个VCPU可以与另一个VCPU共站一个物理内核,每个VCPU最繁忙时每个VCPU可以获得50%计算能力的保障;默认资源池内的VCPU —个物理内核上可以运行4个VCPU,当每个VCPU都繁忙时,每个VCPU可以获得25%计算能力的保障。调度节点可以收集每个物理计算节点的资源池的资源信息,资源信息包括每个资源池内的物理内核的数量以及虚拟机列表。例如,调度节点通过信令交互可以获知高性能资源池内的物理内核数量为6,虚拟机列表包括VM1-1、VM1-2、VM2-1、VM2-2、VM2-3和VM2-4。通过该资源信息可以确定资源池的复用比,以便在重载时迁移到相同复用比的资源池。另外,在虚拟机启动、创建、迁移、停止或删除时,每个资源池还可以进行扩张或者收缩。如图3所示,在普通资源池内虚拟机启动、创建、迁入时,可以压缩默认资源池,扩张普通资源池。例如,普通资源池内增加一个VM。或者,如图4所示,在普通资源池内虚拟机停止、删除、迁出时,可以收缩普通资源池,扩张默认资源池。例如,普通资源池内减少一个VM。本实施例中,在虚拟机迁移时,不仅考虑CPU占用率,而且在具有相同复用比的资
源池内迁移。例如,参见图5,存在两个物理计算节点,分别为物理计算节点A和物理计算节点B,左部分为迁移前两个物理计算节点的VM的情况,右部分为迁移后两个物理计算节点的VM的情况。其中,每个物理计算节点分为3个资源池,同一平面的两个资源池具有相同的复用比,即两个物理计算节点的顶部的资源池具有相同的复用比,中部的资源池具有相同的复用比,底部的资源池具有相同的复用比。在负载均衡时,虚拟机在具有相同的复用比的资源池内迁移,如,物理计算节点A的顶部资源池的一个VM迁移到物理计算节点B的顶部资源池,物理计算节点A的中部资源池的一个VM迁移到物理计算节点B的中部资源池,物理计算节点B的底部资源池的一个VM迁移到物理计算节点A的地部资源池。由于在相同复用比的资源池内迁移,可以保证CPUQoS0本实施例通过将虚拟机迁移到与其源资源池具有相同复用比的资源池,由于复用比相同,可以保证相同的CPU服务质量,因此,本实施例的虚拟机调度可以实现负载均衡且保证CPU服务质量。图6为本发明虚拟机调度方法另一实施例的流程示意图,包括61 :调度节点判断是否存在重载资源池,若是,执行62,否则执行67。其中,调度节点可以通过与物理计算节点的交互,获取每个资源池的信息,该信息可以包括每个资源池内每个虚拟机的CPU占用率,以及每个资源池内包括的物理内核数量。根据该信息可以确定每个资源池的CPU占用率,计算公式可以为每个资源池的CPU占用率=该资源池内所有虚拟机的CPU占用率总和/该资源池内包括的物理内核数量。另外,调度节点可以设置重载阈值,当某个资源池的CPU占用率超过该重载阈值,则该资源池为重载资源池。62 :调度节点确定重载资源池的复用比。上述调度节点与资源池交换的信息中还可以包括虚拟机信息,根据该虚拟机信息可以确定出一个资源池内包括的VCPU的数量,之后可以计算得到一个资源池的复用比=该资源池内包括的VCPU的数量/该资源池内包括的物理内核的数量。63 :调度节点判断在重载资源池内是否选取到待迁移的虚拟机,若是,执行64,否则执行67。其中,在设置时可能将某些虚拟机绑定,不能进行迁移,因此,选取的待迁移的虚拟机是能够迁移到另外资源池的虚拟机。64 :调度节点判断是否选取到目标资源池,若是,执行65,否则执行67。其中,目标资源池满足如下条件与重载资源池具有相同的复用比,且,资源足够。资源足够是指假设待迁移的虚拟机的VCPU的数量为X,目标资源池已有的VCPU的数量为Y,目标资源池的物理内核数量为M,同时通过挤压低等级资源池可获取的物理内核数量为K,目标资源池和重载资源池的复用比为N:l,那么当(X+Y)〈=NX (M+K)时则表明资源足够,否则资源不足。其中,可获取的物理内核数量K是指能够被挤压的资源池的物理内核数量,例如,每个物理计算节点上的默认存在默认资源池,其余资源池,如普通资源池和高性能资源池都是在默认资源池的基础上挤压得到的,即,将默认资源池的物理内核分 配给其余资源池使用。那么可挤压的资源池的物理内核数量就是当前的默认资源池内包括的物理内核的数量。可选的,目标资源池可以是目标物理计算节点上原有的,即原有的与源资源池的复用比相同且资源足够的资源池,或者,目标资源池也可以是目标物理计算节点上从其余资源池挤压得到的,例如,目标资源池上原有的资源池仅是默认资源池,而源资源池是普通资源池,那么在默认资源池存在冗余资源时,可以从默认资源池内挤压出部分资源,这些部分资源组成普通资源池,作为目标资源池使用;或者,源资源池是普通资源池,而目标物理计算节点上的原有的普通资源池的资源不足够,而默认资源池的资源冗余时,则也可以从默认资源池内挤压出部分资源,将该部分资源增加到原有的普通资源池内,与原有的资源共同组成目标资源池。65 :调度节点将待迁移的虚拟机迁移到目标资源池。可选的,在迁移之前,也可以判断目标资源池的负载情况,在判断出目标资源池在增加待迁移的虚拟机后也不超载时再进行迁移,即,在待迁移的虚拟机的CPU占用率与目标资源池的原有的CPU占用率之和小于或等于目标资源池的设定的重载阈值时,将所述源资源池上的虚拟机迁移到所述目标资源池上。66:调度节点判断迁移出虚拟机的重载资源池是否依然重载,若是,重复执行63及其后续步骤,否则执行67。67 :结束。本实施例中,例如,参见图7,假设存在物理计算节点A和物理计算节点B,物理计算节点A的复用比为1:1的资源池重载,物理计算节点B的复用比为2:1和4:1的资源池重载,经过上述流程后,可以将物理计算节点A的复用比I: I的资源池的虚拟机迁移到物理计算节点B的复用比1:1的资源池,将物理计算节点B的复用比2:1的资源池的虚拟机迁移到物理计算节点A的复用比2:1的资源池,将物理计算节点B的复用比4:1的资源池的虚拟机迁移到物理计算节点A的复用比4:1的资源池。可以理解的是,本实施例以物理计算节点A和物理计算节点B之间的负载均衡调度为例,也可以是物理计算节点A将的重载迁移到物理计算节点B,而物理计算节点B将复用比2:1的资源池的虚拟机迁移到物理计算节点C的复用比2:1的资源池。本实施例通过将虚拟机迁移到具有相同复用比的资源池,可以保证虚拟机CPU的服务质量,实现既可以保证用户体验不受影响,同时达到服务器负载均衡的效果。
图8为本发明虚拟机调度设备一实施例的结构示意图,该设备包括确定模块81、选取模块82和迁移模块83 ;确定模块81用于确定源资源池的复用比,所述源资源池为源物理计算节点上的重载资源池,所述复用比为VCPU的数量与物理内核的数量的比值;选取模块82用于选取目标资源池,所述目标资源池为目标物理计算节点上的资源池,且所述目标资源池的复用比与所述源资源池的复用比相同,以及所述目标资源池具备设定的足够资源;迁移模块83用于将所述源资源池上的虚拟机迁移到所述目标资源池上。可选的,所述选取模块选取的目标资源池具备设定的足够资源包括当(X+Y)〈=NX (M+K)时,所述目标资源池具备设定的足够资源,其中,X为源资源池的VCPU的数量,Y为目标资源池原有的VCPU的数量,N为源资源池和目标资源池的复用t匕,M为目标资源池的物理内核的数量,K为目标资源池能够从另外资源池获取的物理内核的数量。可选的,所述确定模块具体用于与所述源物理计算节点进行信令交互,获取所述源资源池的资源信息,所述资源信息包括所述源资源池包括的物理内核的数量以及所述源资源池包括的虚拟机列表;根据所述虚拟机列表确定所述源资源池包括的VCPU的数量;根据所述VCPU的数量和所述物理内核的数量,确定所述复用比。可选的,该设备还包括处理模块,用于获取每个虚拟机的CPU占用率,根据每个虚拟机的CPU占用率得到每个资源池内所有虚拟机的CPU占用率总和,以及获取每个资源池的物理内核的数量;将所述虚拟机的CPU占用率总和与所述物理内核的数量的比值,确定为所述资源池的CPU占用率;将所述资源池的CPU占用率超过设定的重载阈值的资源池确定为所述源资源池;所述迁移模块具体用于在待迁移的虚拟机的CPU占用率与所述目标资源池的原有的CPU占用率之和小于或等于所述重载阈值时,将所述源资源池上的虚拟机迁移到所述目标资源池上。可选的,该设备还包括更新模块,用于与每个物理计算节点交互,获取每个资源池的资源信息,所述资源信息包括虚拟机列表,并在虚拟机启动、创建、迁移、停止或删除时,更新每个资源池的虚拟机列表。可选的,所述选取模块具体用于·
在所述目标物理计算节点上存在与所述源资源池复用比相同,且具备设定的足够资源的资源池时,将所述资源池选取为所述目标资源池;或者,在所述目标物理计算节点上不存在与所述源资源池复用比相同的资源池,或者,存在与所述源资源池复用比相同的资源池但所述资源池不具备设定的足够资源时,如果所述目标物理计算节点上存在另外的资源冗余的资源池,则降低所述另外的资源冗余的资源池中的资源,将降低的资源分配给所述目标资源池。另外,如图9所示,本发明实施例还提供一种通信设备,该通信设备可以为虚拟机调度服务器,该通信设备90包括发射电路902、接收电路903、功率控制器904、处理器905,存储器906及天线901。处理器905控制设备90的操作,处理器905还可以称为CPU。存储器906可以包括只读存储器和随机存取存储器,并向处理器905提供指令和数据。存储器906的一部分还可以包括非易失行随机存取存储器(NVRAM)。发射电路902和接收电路903可以耦合到天线901,天线可以是无线形式,也可以是有线形式的网线、光纤等。设备90的各个组件通过总线系统9100耦合在一起,其中,总线系统9100除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统9100。上述本发明实施例揭示的方法可以应用于处理器905中,或者说由处理器905以实现。处理器905可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器905中的硬件的集成逻辑电路或者软件形式的指令完成。用于执行本发明实施例揭示的方法,上述的处理器905可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,
或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器906,处理器905读取存储器906中的信息,结合其硬件完成上述方法的步骤。而上述方法中的消息可以通过发射电路902和接收电路903予以发送或者接收。具体而言,该设备可以包括处理器,处理器具体用于确定源资源池的复用比,所述源资源池为源物理计算节点上的重载资源池,所述复用比为VCPU的数量与物理内核的数量的比值;选取目标资源池,所述目标资源池为目标物理计算节点上的资源池,且所述目标资源池的复用比与所述源资源池的复用比相同,以及所述目标资源池具备设定的足够资源;将所述源资源池上的虚拟机迁移到所述目标资源池上。可选的,所述目标资源池具备设定的足够资源,包括当(X+Y)〈=NX (M+K)时,所述目标资源池具备设定的足够资源,其中,X为源资源池的VCPU的数量,Y为目标资源池原有的VCPU的数量,N为源资源池和目标资源池的复用t匕,M为目标资源池的物理内核的数量,K为目标资源池能够从另外资源池获取的物理内核
的数量。可选的,处理器具体用于与所述源物理计算节点进行信令交互,获取所述源资源池的资源信息,所述资源信息包括所述源资源池包括的物理内核的数量以及所述源资源池包括的虚拟机列表;根据所述虚拟机列表确定所述源资源池包括的VCPU的数量;根据所述VCPU的数量和所述物理内核的数量,确定所述复用比。可选的,处理器还用于获取每个资源池内每个虚拟机的CPU占用率,根据每个虚拟机的CPU占用率得到所有虚拟机的CPU占用率总和,以及获取每个资源池的物理内核的数量;将所述虚拟机的CPU占用率总和与所述物理内核的数量的比值,确定为所述资源池的CPU占用率;将所述资源池的CPU占用率超过设定的重载阈值的资源池确定为所述源资源池;以及,具体用于在待迁移的虚拟机的CPU占用率与所述目标资源池的原有的CPU占用率之和小于或等于所述重载阈值时,将所述源资源池上的虚拟机迁移到所述目标资源池上。
可选的,处理器还用于与每个物理计算节点交互,获取每个资源池的资源信息,所述资源信息包括虚拟机列表,并在虚拟机启动、创建、迁移、停止或删除时,更新每个资源池的虚拟机列表。可选的,处理器具体用于在所述目标物理计算节点上存在与所述源资源池复用比相同,且具备设定的足够资源的资源池时,将所述资源池选取为所述目标资源池;或者,在所述目标物理计算节点上不存在与所述源资源池复用比相同的资源池,或者,存在与所述源资源池复用比相同的资源池但所述资源池不具备设定的足够资源时,如果所述目标物理计算节点上存在另外的资源冗余的资源池,则降低所述另外的资源冗余的资源池中的资源,将降低的资源分配给所述目标资源池。本实施例通过将虚拟机迁移到具有相同复用比的资源池,可以保证虚拟机CPU的服务质量,实现既可以保证用户体验不受影响,同时达到服务器负载均衡的效果。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模 块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的 精神和范围。
权利要求
1.一种虚拟机调度方法,其特征在于,包括 确定源资源池的复用比,所述源资源池为源物理计算节点上的重载资源池,所述复用比为虚拟中央处理器VCPU的数量与物理内核的数量的比值; 选取目标资源池,所述目标资源池为目标物理计算节点上的资源池,且所述目标资源池的复用比与所述源资源池的复用比相同,以及所述目标资源池具备设定的足够资源;将所述源资源池上的虚拟机迁移到所述目标资源池上。
2.根据权利要求I所述的方法,其特征在于,所述目标资源池具备设定的足够资源,包括 当(X+Y)〈=NX (M+K)时,所述目标资源池具备设定的足够资源,其中,X为源资源池的VCPU的数量,Y为目标资源池原有的VCPU的数量,N为源资源池和目标资源池的复用比,M为目标资源池的物理内核的数量,K为目标资源池能够从另外资源池获取的物理内核的数量。
3.根据权利要求I所述的方法,其特征在于,所述确定源资源池的复用比,包括 与所述源物理计算节点进行信令交互,获取所述源资源池的资源信息,所述资源信息包括所述源资源池包括的物理内核的数量以及所述源资源池包括的虚拟机列表; 根据所述虚拟机列表确定所述源资源池包括的VCPU的数量; 根据所述VCPU的数量和所述物理内核的数量,确定所述复用比。
4.根据权利要求I所述的方法,其特征在于,还包括 获取每个资源池内每个虚拟机的中央处理器CPU占用率,根据每个虚拟机的CPU占用率得到所有虚拟机的CPU占用率总和,以及获取每个资源池的物理内核的数量; 将所述虚拟机的CPU占用率总和与所述物理内核的数量的比值,确定为所述资源池的CPU占用率; 将所述资源池的CPU占用率超过设定的重载阈值的资源池确定为所述源资源池; 所述将所述源资源池上的虚拟机迁移到所述目标资源池上,包括 在待迁移的虚拟机的CPU占用率与所述目标资源池的原有的CPU占用率之和小于或等于所述重载阈值时,将所述源资源池上的虚拟机迁移到所述目标资源池上。
5.根据权利要求I所述的方法,其特征在于,还包括 与每个物理计算节点交互,获取每个资源池的资源信息,所述资源信息包括虚拟机列表,并在虚拟机启动、创建、迁移、停止或删除时,更新每个资源池的虚拟机列表。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述选取目标资源池,包括 在所述目标物理计算节点上存在与所述源资源池复用比相同,且具备设定的足够资源的资源池时,将所述资源池选取为所述目标资源池;或者, 在所述目标物理计算节点上不存在与所述源资源池复用比相同的资源池,或者,存在与所述源资源池复用比相同的资源池但所述资源池不具备设定的足够资源时,如果所述目标物理计算节点上存在另外的资源冗余的资源池,则降低所述另外的资源冗余的资源池中的资源,将降低的资源分配给所述目标资源池。
7.—种虚拟机调度设备,其特征在于,包括 确定模块,用于确定源资源池的复用比,所述源资源池为源物理计算节点上的重载资源池,所述复用比为虚拟中央处理器VCPU的数量与物理内核的数量的比值;选取模块,用于选取目标资源池,所述目标资源池为目标物理计算节点上的资源池,且所述目标资源池的复用比与所述源资源池的复用比相同,以及所述目标资源池具备设定的足够资源; 迁移模块,用于将所述源资源池上的虚拟机迁移到所述目标资源池上。
8.根据权利要求7所述的设备,其特征在于,所述选取模块选取的目标资源池具备设定的足够资源包括 当(X+Y)〈=NX (M+K)时,所述目标资源池具备设定的足够资源,其中,X为源资源池的VCPU的数量,Y为目标资源池原有的VCPU的数量,N为源资源池和目标资源池的复用比,M为目标资源池的物理内核的数量,K为目标资源池能够从另外资源池获取的物理内核的数量。
9.根据权利要求7所述的设备,其特征在于,所述确定模块具体用于 与所述源物理计算节点进行信令交互,获取所述源资源池的资源信息,所述资源信息包括所述源资源池包括的物理内核的数量以及所述源资源池包括的虚拟机列表; 根据所述虚拟机列表确定所述源资源池包括的VCPU的数量; 根据所述VCPU的数量和所述物理内核的数量,确定所述复用比。
10.根据权利要求7所述的设备,其特征在于,还包括 处理模块,用于获取每个资源池内每个虚拟机的中央处理器CPU占用率,根据每个虚拟机的CPU占用率得到所有虚拟机的CPU占用率总和,以及获取每个资源池的物理内核的数量;将所述虚拟机的CPU占用率总和与所述物理内核的数量的比值,确定为所述资源池的CPU占用率;将所述资源池的CPU占用率超过设定的重载阈值的资源池确定为所述源资源池; 所述迁移模块具体用于在待迁移的虚拟机的CPU占用率与所述目标资源池的原有的CPU占用率之和小于或等于所述重载阈值时,将所述源资源池上的虚拟机迁移到所述目标资源池上。
11.根据权利要求7所述的设备,其特征在于,还包括 更新模块,用于与每个物理计算节点交互,获取每个资源池的资源信息,所述资源信息包括虚拟机列表,并在虚拟机启动、创建、迁移、停止或删除时,更新每个资源池的虚拟机列表。
12.根据权利要求7-11任一项所述的设备,其特征在于,所述选取模块具体用于 在所述目标物理计算节点上存在与所述源资源池复用比相同,且具备设定的足够资源的资源池时,将所述资源池选取为所述目标资源池;或者, 在所述目标物理计算节点上不存在与所述源资源池复用比相同的资源池,或者,存在与所述源资源池复用比相同的资源池但所述资源池不具备设定的足够资源时,如果所述目标物理计算节点上存在另外的资源冗余的资源池,则降低所述另外的资源冗余的资源池中的资源,将降低的资源分配给所述目标资源池。
全文摘要
本发明提供一种虚拟机调度方法和设备。该方法包括确定源资源池的复用比,所述源资源池为源物理计算节点上的重载资源池,所述复用比为VCPU的数量与物理内核的数量的比值;选取目标资源池,所述目标资源池为目标物理计算节点上的资源池,且所述目标资源池的复用比与所述源资源池的复用比相同,以及所述目标资源池具备设定的足够资源;将所述源资源池上的虚拟机迁移到所述目标资源池上。本发明实施例可以保证虚拟机调度时的CPU服务质量。
文档编号G06F9/455GK102937912SQ20121049472
公开日2013年2月20日 申请日期2012年11月28日 优先权日2012年11月28日
发明者陈岩, 单卫华 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1