技术领域
[0001] 本
发明属于虚拟化与
云计算技术领域,具体涉及一种基于资源合理化应用的虚拟化集群资源调度系统。
背景技术
[0002] 虚拟化技术是一种能够打破传统物理机器的结构壁垒,将
硬件资源进行抽象,实现在一台物理机上运行多个
虚拟机,虚拟机间互不干扰,从而提高系统可用性、节省硬件成本的技术。虚拟化集群技术是将多台物理
服务器组成一个虚拟资源池,统一对外提供资源,供多台虚拟机使用,能够有效提高物理服务器的资源利用率的技术。在虚拟化集群中,对系统提供高性能和高可用主要是通过集群资源的调度实现的。
[0003] 现有集群资源调度方案主要有两种:静态调度和动态调度两种方案。
[0004] 1、静态资源调度:由系统维护人员,对虚拟机资源进行人工监控,在发现集群资源消耗影响到系统性能的情况下,手动对虚拟机资源进行迁移或对主机资源进行调整,以满足整个集群性能的要求。
[0005] 2、动态资源调度:集群管理系统定时监控各物理服务器CPU、内存、网络的资源占用率,当某个资源
阀值超出合理的范围,选择该主机上该类资源占用率比较高的虚拟机进行迁移,实现集群范围内的各物理服务器资源的负载均衡。
[0006] 静态资源调度采用人
力实现,操作繁琐,需要消耗大量的人力和物力,且系统的
稳定性差,资源利用率低下。且静态资源调度具有滞后性,严重降低了整个系统的性能。
[0007] 因此,目前主流的动态调度方法尽管会从CPU、内存、网络多个单独阀值出发考虑资源负载,但由于没有考虑整个服务器资源的综合负载情况,从而造成服务器多个资源利用率并未超过调度阀值,但是整个服务器资源的综合负载情况过高,影响虚拟机的性能。同时,主流的调度
算法由于对主机的负载峰值评估不够准确,由于主机负载的峰值震荡导致虚拟机的频繁迁移,也增加了资源浪费。
发明内容
[0008] (一)要解决的技术问题
[0009] 本发明要解决的技术问题是:如何提供一种基于资源合理化应用的虚拟化集群资源调度系统。
[0010] (二)技术方案
[0011] 为解决上述技术问题,本发明提供一种基于资源合理化应用的虚拟化集群资源调度系统,所述虚拟化集群资源调度系统包括:资源监控模
块、主机负载计算模块、虚拟机优先级排序模块、资源调度模块;其中,
[0012] 所述资源监控模块用于实时对虚拟机的资源使用进行监控,采集虚拟机的cpu、内存、网络资源负载数据,并将虚拟机的cpu、内存、网络资源负载数据传输给虚拟机优先级排序模块;
[0013] 所述资源监控模块还用于实时对主机的资源使用进行监控,采集主机的cpu、内存、网络资源负载数据,并将主机的cpu、内存、网络资源负载数据传输给主机负载计算模块和虚拟机优先级排序模块;
[0014] 所述主机负载计算模块用于接收资源监控模块采集的主机的cpu、内存、网络资源负载数据,利用统计分析的方法对主机的cpu、内存、网络资源负载数据进行分析,得出主机的资源震荡粒度p;
[0015] 所述主机负载计算模块还用于通过分析主机的cpu、内存、网络资源负载数据得出主机的cpu、内存、网络的资源权重Wcpu、Wmem、Wnet,进而获得当前主机资源负载LRhi,然后根据当前主机资源负载LRhi获得主机的动态综合负载LA;
[0016] 如果主机的动态综合负载LA超过主机的综合负载阀值,则由主机负载计算模块向资源调度模块发送调度指令进行资源调度,并向虚拟机优先级排序模块发送排序指令,进行虚拟机优先级排序;
[0017] 所述虚拟机优先级排序模块用于在接收到主机负载计算模块发送的排序指令后,对虚拟机的cpu、内存、网络资源负载数据及主机的cpu、内存、网络资源负载数据进行统计分析,计算出虚拟机契合系数λ;
[0018] 所述虚拟机优先级排序模块还用于按照虚拟机契合系数λ对虚拟机进行优先级排序,形成虚拟机调度优先级列表,并将虚拟机调度优先级列表传输给资源调度模块;
[0019] 所述资源调度模块用于在收到调度指令后,根据虚拟机调度优先级列表,选择优先级最高的虚拟机进行调度,选择合理的服务器进行资源调度。
[0020] 其中,所述主机为物理服务器。
[0021] 其中,所述主机资源震荡粒度p为:主机负载是一个动态变化的过程,可能会出现瞬时负载过高,在合理时间范围内又恢复到正常负载范围的情况,主机从瞬时负载到正常负载的时间内,所述资源监控模块采集资源的次数为主机的资源震荡粒度。
[0022] 其中,所述动态综合负载LA根据如下公式获得:
[0023] LRhi=LRhi_cpu*Wcpu+LRhi_mem*Wmem+LRhi_net*Wnet;
[0024]
[0025] 其中,p为主机资源震荡粒度;
[0026] LRhi_cpu、LRhi_mem、LRhi_net分别表示资源监控模块采集的主机的cpu、内存、网络资源负载数据。
[0027] 其中,Wcpu+Wmem+Wnet=1。
[0028] 其中,主机的cpu、内存、网络的资源权重根据资源的负载情况动态自适应,且当某类资源的负载超过该资源的该项
阈值时,该资源的权重为1。
[0029] 其中,所述虚拟机契合系数λ根据如下公式获得:
[0030]
[0031] 其中,m表示资源类型维数;
[0032] Rij表示虚拟机资源j在i时刻的资源负载;
[0033] Lpj表示服务器资源j在动态综合负载LA超过综合负载阀值时的资源负载。
[0034] 其中,在采用cpu、内存、网络三种类型资源的情况下,m=3,j=1表示cpu,j=2表示内存,j=3表示网络。
[0035] 其中,Rij表示虚拟机资源j在i时刻的资源负载;所述虚拟机资源的资源负载,即资源监控模块采集的虚拟机的cpu、内存、网络资源负载数据。
[0036] 其中,Lpj表示服务器资源j在动态综合负载LA超过综合负载阀值时的资源负载;
[0037] 即,Lpj表示在动态综合负载LA超过综合负载阀值时的LRhi_cpu、LRhi_mem、LRhi_net。
[0038] (三)有益效果
[0039] 与
现有技术相比较,本发明采用基于虚拟化集群的综合启发式高效资源调度系统,首先在资源资源调度触发阶段,在考虑CPU、内存、网络多阀值触
发条件的
基础上,加入动态综合负载条件,能够更加有效的均衡服务器的资源利用情况;然后在选择虚拟阶段,对由综合负载条件触发的调度问题,引入虚拟机资源匹配的计算方法,选择合理的虚拟机进行调度,调度过程能够更充分的利用物理服务器的资源,提升了物理服务器资源的利用率,同时降低由于负载峰值的震荡导致虚拟机的频繁迁移,以达到进一步提高处理器性能的目的。
[0040] 具体而言,本发明的技术效果在于:
[0041] (1)在主机负载计算模块引入主机的资源震荡粒度,能够避免主机资源负载的震荡造成的虚拟机频繁迁移。
[0042] (2)整个集群无中心
节点,能够保证系统的高可用。
[0043] (3)在主机负载计算模块引入资源权值,能够综合评估整个主机的资源负载情况。
[0044] (4)在主机负载计算模块引入主机动态综合负载值,能够动态评估整个主机的资源负载情况,提升主机资源负载评估的合理性。
[0045] (5)在虚拟机优先级排序模块引入虚拟机的契合系数λ,能够在调度过程中选择合理的虚拟机进行调度,提升主机负载均衡的效率。
附图说明
[0046] 图1为本发明技术方案原理示意图。
具体实施方式
[0047] 为使本发明的目的、内容、和优点更加清楚,下面结合附图和
实施例,对本发明的具体实施方式作进一步详细描述。
[0048] 为解决上述技术问题,本发明提供一种基于资源合理化应用的虚拟化集群资源调度系统,如图1所示,所述虚拟化集群资源调度系统包括:资源监控模块、主机负载计算模块、虚拟机优先级排序模块、资源调度模块;其中,
[0049] 所述资源监控模块用于实时对虚拟机的资源使用进行监控,采集虚拟机的cpu、内存、网络资源负载数据,并将虚拟机的cpu、内存、网络资源负载数据传输给虚拟机优先级排序模块;
[0050] 所述资源监控模块还用于实时对主机的资源使用进行监控,采集主机的cpu、内存、网络资源负载数据,并将主机的cpu、内存、网络资源负载数据传输给主机负载计算模块和虚拟机优先级排序模块;
[0051] 所述主机负载计算模块用于接收资源监控模块采集的主机的cpu、内存、网络资源负载数据,利用统计分析的方法对主机的cpu、内存、网络资源负载数据进行分析,得出主机的资源震荡粒度p;
[0052] 所述主机负载计算模块还用于通过分析主机的cpu、内存、网络资源负载数据得出主机的cpu、内存、网络的资源权重Wcpu、Wmem、Wnet,进而获得当前主机资源负载LRhi,然后根据当前主机资源负载LRhi获得主机的动态综合负载LA;
[0053] 如果主机的动态综合负载LA超过主机的综合负载阀值,则由主机负载计算模块向资源调度模块发送调度指令进行资源调度,并向虚拟机优先级排序模块发送排序指令,进行虚拟机优先级排序;
[0054] 所述虚拟机优先级排序模块用于在接收到主机负载计算模块发送的排序指令后,对虚拟机的cpu、内存、网络资源负载数据及主机的cpu、内存、网络资源负载数据进行统计分析,计算出虚拟机契合系数λ;
[0055] 所述虚拟机优先级排序模块还用于按照虚拟机契合系数λ对虚拟机进行优先级排序,形成虚拟机调度优先级列表,并将虚拟机调度优先级列表传输给资源调度模块;
[0056] 所述资源调度模块用于在收到调度指令后,根据虚拟机调度优先级列表,选择优先级最高的虚拟机进行调度,选择合理的服务器进行资源调度。
[0057] 其中,所述主机为物理服务器。
[0058] 其中,所述主机资源震荡粒度p为:主机负载是一个动态变化的过程,可能会出现瞬时负载过高,在合理时间范围内又恢复到正常负载范围的情况,主机从瞬时负载到正常负载的时间内,所述资源监控模块采集资源的次数为主机的资源震荡粒度。
[0059] 其中,所述动态综合负载LA根据如下公式获得:
[0060] LRhi=LRhi_cpu*Wcpu+LRhi_mem*Wmem+LRhi_net*Wnet;
[0061]
[0062] 其中,p为主机资源震荡粒度;
[0063] LRhi_cpu、LRhi_mem、LRhi_net分别表示资源监控模块采集的主机的cpu、内存、网络资源负载数据。
[0064] 其中,Wcpu+Wmem+Wnet=1。
[0065] 其中,主机的cpu、内存、网络的资源权重根据资源的负载情况动态自适应,且当某类资源的负载超过该资源的该项阈值时,该资源的权重为1。
[0066] 其中,所述虚拟机契合系数λ根据如下公式获得:
[0067]
[0068] 其中,m表示资源类型维数;
[0069] Rij表示虚拟机资源j在i时刻的资源负载;
[0070] Lpj表示服务器资源j在动态综合负载LA超过综合负载阀值时的资源负载。
[0071] 其中,在采用cpu、内存、网络三种类型资源的情况下,m=3,j=1表示cpu,j=2表示内存,j=3表示网络。
[0072] 其中,Rij表示虚拟机资源j在i时刻的资源负载;所述虚拟机资源的资源负载,即资源监控模块采集的虚拟机的cpu、内存、网络资源负载数据。
[0073] 其中,Lpj表示服务器资源j在动态综合负载LA超过综合负载阀值时的资源负载;
[0074] 即,Lpj表示在动态综合负载LA超过综合负载阀值时的LRhi_cpu、LRhi_mem、LRhi_net。
[0075] 此外,本发明还提供一种基于资源合理化应用的虚拟化集群资源调度方法,如图1所示,所述方法基于虚拟化集群资源调度系统来实施,所述虚拟化集群资源调度系统包括:资源监控模块、主机负载计算模块、虚拟机优先级排序模块、资源调度模块;
[0076] 所述方法包括如下步骤:
[0077] 步骤1:资源监控模块实时对虚拟机的资源使用进行监控,采集虚拟机的cpu、内存、网络资源负载数据,并将虚拟机的cpu、内存、网络资源负载数据传输给虚拟机优先级排序模块;
[0078] 步骤2:资源监控模块实时对主机的资源使用进行监控,采集主机的cpu、内存、网络资源负载数据,并将主机的cpu、内存、网络资源负载数据传输给主机负载计算模块和虚拟机优先级排序模块;
[0079] 步骤3:主机负载计算模块接收资源监控模块采集的主机的cpu、内存、网络资源负载数据,利用统计分析的方法对主机的cpu、内存、网络资源负载数据进行分析,得出主机的资源震荡粒度p;
[0080] 步骤4:主机负载计算模块通过分析主机的cpu、内存、网络资源负载数据得出主机的cpu、内存、网络的资源权重Wcpu、Wmem、Wnet,进而获得当前主机资源负载LRhi,然后根据当前主机资源负载LRhi获得主机的动态综合负载LA;
[0081] 步骤5:如果主机的动态综合负载LA超过主机的综合负载阀值,则由主机负载计算模块向资源调度模块发送调度指令进行资源调度,并向虚拟机优先级排序模块发送排序指令,进行虚拟机优先级排序;
[0082] 步骤6:虚拟机优先级排序模块接收到主机负载计算模块发送的排序指令后,对虚拟机的cpu、内存、网络资源负载数据及主机的cpu、内存、网络资源负载数据进行统计分析,计算出虚拟机契合系数λ;
[0083] 步骤7:虚拟机优先级排序模块按照虚拟机契合系数λ对虚拟机进行优先级排序,形成虚拟机调度优先级列表,并将虚拟机调度优先级列表传输给资源调度模块;
[0084] 步骤8:资源调度模块收到调度指令后,根据虚拟机调度优先级列表,选择优先级最高的虚拟机进行调度,选择合理的服务器进行资源调度。
[0085] 其中,所述主机为物理服务器。
[0086] 其中,所述主机资源震荡粒度p为:主机负载是一个动态变化的过程,可能会出现瞬时负载过高,在合理时间范围内又恢复到正常负载范围的情况,主机从瞬时负载到正常负载的时间内,所述资源监控模块采集资源的次数为主机的资源震荡粒度。
[0087] 其中,所述动态综合负载LA根据如下公式获得:
[0088] LRhi=LRhi_cpu*Wcpu+LRhi_mem*Wmem+LRhi_net*Wnet;
[0089]
[0090] 其中,p为主机资源震荡粒度;
[0091] LRhi_cpu、LRhi_mem、LRhi_net分别表示资源监控模块采集的主机的cpu、内存、网络资源负载数据。
[0092] 其中,Wcpu+Wmem+Wnet=1。
[0093] 其中,主机的cpu、内存、网络的资源权重根据资源的负载情况动态自适应,且当某类资源的负载超过该资源的该项阈值时,该资源的权重为1。
[0094] 其中,所述虚拟机契合系数λ根据如下公式获得:
[0095]
[0096] 其中,m表示资源类型维数;
[0097] Rij表示虚拟机资源j在i时刻的资源负载;
[0098] Lpj表示服务器资源j在动态综合负载LA超过综合负载阀值时的资源负载。
[0099] 其中,在采用cpu、内存、网络三种类型资源的情况下,m=3,j=1表示cpu,j=2表示内存,j=3表示网络。
[0100] 其中,Rij表示虚拟机资源j在i时刻的资源负载;所述虚拟机资源的资源负载,即资源监控模块采集的虚拟机的cpu、内存、网络资源负载数据。
[0101] 其中,Lpj表示服务器资源j在动态综合负载LA超过综合负载阀值时的资源负载;
[0102] 即,Lpj表示在动态综合负载LA超过综合负载阀值时的LRhi_cpu、LRhi_mem、LRhi_net。
[0103] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和
变形,这些改进和变形也应视为本发明的保护范围。