一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于峰值使用率的云化资源重分配方法及系统与流程

2022-03-23 06:25:10 来源:中国专利 TAG:


1.本发明涉及云化资源重分配的技术领域,具体地,涉及一种基于峰值使用率的云化资源重分配方法及系统,尤其是涉及一种基于峰值使用率的小型机云化资源重分配方法。


背景技术:

2.在金融行业的数据中心,小型机凭借强大的高可靠性和强劲的性能优势,依然承担着保障重要信息系统安全稳定运行的责任。随着资源池云化工作的开展,即把单台小型机的传统架构转变为由多台小型机连为集群的云化架构,不仅提高信息系统的算力,而且也实现资源优化配置的能力。
3.公开号为cn106293947a的中国发明专利文献公开了一种虚拟化云环境下gpu-cpu混合资源分配系统和方法包括注入模块、分配器;注入模块负责设置钩子,并通过睡眠方式限制进程占用资源;分配器负责调用资源分配算法得到资源分配目标值,并将资源分配目标值发送给注入模块。本发明提供了fea算法与资源分配框架,用以高效地进行多重异构混合资源的动态资源分配。通过这个资源分配的操作,提升资源分配的公平性,同时保证其效率。
4.针对上述中的相关技术,发明人认为在资源优化配置方面,业内通常的做法是把物理cpu核数(简称ec,entitled capacity)和虚拟机cpu核数(简称vp,virtual processor)的比值设置为1:2或者1:4。但是在实践中,我们发现这种一刀切的做法往往带来了“系统上线资源需求量大”与“实际未能充分利用所分配资源”的矛盾。此外,随着资源池规模的扩大,各个虚拟机在资源池物理服务器之间分布不均衡的矛盾越来越突出,不仅影响信息系统算力的性能最大化,而且一定程度上弱化了云化资源的高可用能力。目前,业内没有针对上述两个矛盾的高效重分配方法。


技术实现要素:

5.针对现有技术中的缺陷,本发明的目的是提供一种基于峰值使用率的云化资源重分配方法及系统。
6.根据本发明提供的一种基于峰值使用率的云化资源重分配方法,包括如下步骤:
7.ec推荐值获得步骤:基于峰值使用率得到虚拟机的ec推荐值;
8.判断步骤:基于得到的虚拟机的ec推荐值,判断资源池物理服务器的资源分布情况、应用负载均衡的各节点资源分布情况和同一应用系统的各虚拟机资源分布情况。
9.优选的,所述ec推荐值获得步骤包括如下步骤:
10.步骤s1:获取并保存预定时间的cpu性能数据,作为分析决策的性能数据集;
11.步骤s2:基于所述步骤s1的性能数据集,以虚拟机为单位,计算每台虚拟机预定时间的cpu资源的峰值使用率;
12.步骤s3:针对多种虚拟机场景,以虚拟机为单位,对应划分所述步骤s2得到的cpu
资源峰值使用率性能数据;
13.步骤s4:基于所述步骤s3的多类虚拟机场景和对应划分的cpu资源峰值使用率分别计算出虚拟机的重分配的ec推荐值;
14.步骤s5:对基于所述步骤s4得到的虚拟机的ec推荐值进行限制;
15.所述判断步骤:基于步骤s5得到的虚拟机的ec推荐值,判断资源池物理服务器的资源分布情况、应用负载均衡的各节点资源分布情况和同一应用系统的各虚拟机资源分布情况。
16.优选的,所述步骤s2包括如下步骤:
17.步骤s2.1:计算每台虚拟机预定时间的物理cpu实际使用核数的峰值,公式如下:
18.cpu
max
=max{cpu1,cpu2,...,cpun}
ꢀꢀꢀ
(1)
19.其中,cpu
max
代表该虚拟机预定时间的物理cpu实际使用核数的峰值;cpun代表该虚拟机每个自然日的物理cpu实际使用核数的峰值;n代表自然日的天数;
20.步骤s2.2:计算每台虚拟机预定时间的cpu资源的峰值使用率,公式如下:
[0021][0022]
其中,u
max
代表该虚拟机预定时间的cpu资源的峰值使用率;ec代表目前分配给该虚拟机的物理cpu核数。
[0023]
优选的,所述步骤s3包括如下步骤:
[0024]
异地灾备步骤:针对异地灾备的虚拟机场景,以生产端的cpu资源峰值使用率作为衡量标准;若预定时间期间,生产端和灾备端进行过切换,则以生产端和灾备端二者的cpu资源峰值使用率的较大值作为衡量标准;
[0025]
数据库高可用步骤:针对数据库高可用的虚拟机场景,以高可用主节点的cpu资源峰值使用率作为衡量标准;若预定时间期间,高可用主节点和备节点进行过切换,则以高可用主节点和备节点二者的cpu资源峰值使用率的较大值作为衡量标准;
[0026]
应用负载均衡步骤:针对应用负载均衡的虚拟机场景,以应用负载均衡的各节点的cpu资源峰值使用率的最大值作为衡量标准。
[0027]
优选的,所述步骤s4包括如下步骤:
[0028]
步骤s4.1:判断虚拟机的cpu资源峰值使用率是否低于预定值;若虚拟机的cpu资源峰值使用率低于预定值,进入步骤s4.2;若虚拟机的cpu资源峰值使用率不低于预定值,进入步骤s4.3;
[0029]
步骤s4.2:若虚拟机的cpu资源峰值使用率低于预定值,则计算出重分配的ec推荐值,公式如下:
[0030][0031]
ec
new
=roundup{ec

new
}
ꢀꢀꢀ
(4)
[0032]
其中,ec

new
代表当u
max
达到预定值时ec的推荐值;ec
new
是ec

new
以预定颗粒度向上取值得到的推荐值;roundup{}函数表示为以预定颗粒度向上取值;
[0033]
步骤s4.3:若虚拟机的cpu资源峰值使用率高于指定值,则计算出重分配的ec推荐值,公式如下:
[0034][0035]
ec
new
=roundup(ec

new
)
ꢀꢀꢀ
(6)
[0036]
其中,ec

new
代表当u
max
达到选定值时ec的推荐值。
[0037]
根据本发明提供的一种基于峰值使用率的云化资源重分配系统,包括如下模块:
[0038]
ec推荐值获得模块:基于峰值使用率得到虚拟机的ec推荐值;
[0039]
判断模块:基于得到的虚拟机的ec推荐值,判断资源池物理服务器的资源分布情况、应用负载均衡的各节点资源分布情况和同一应用系统的各虚拟机资源分布情况。
[0040]
优选的,所述ec推荐值获得模块包括如下模块:
[0041]
模块m1:获取并保存预定时间的cpu性能数据,作为分析决策的性能数据集;
[0042]
模块m2:基于所述模块m1的性能数据集,以虚拟机为单位,计算每台虚拟机预定时间的cpu资源的峰值使用率;
[0043]
模块m3:针对多种虚拟机场景,以虚拟机为单位,对应划分所述模块m2得到的cpu资源峰值使用率性能数据;
[0044]
模块m4:基于所述模块m3的多类虚拟机场景和对应划分的cpu资源峰值使用率分别计算出虚拟机的重分配的ec推荐值;
[0045]
模块m5:对基于所述模块m4得到的虚拟机的ec推荐值进行限制;
[0046]
所述判断模块:基于模块m5得到的虚拟机的ec推荐值,判断资源池物理服务器的资源分布情况、应用负载均衡的各节点资源分布情况和同一应用系统的各虚拟机资源分布情况。
[0047]
优选的,所述模块m2包括如下模块:
[0048]
模块m2.1:计算每台虚拟机预定时间的物理cpu实际使用核数的峰值,公式如下:
[0049]
cpu
max
=max{cpu1,cpu2,...,cpun}
ꢀꢀꢀ
(1)
[0050]
其中,cpu
max
代表该虚拟机预定时间的物理cpu实际使用核数的峰值;cpun代表该虚拟机每个自然日的物理cpu实际使用核数的峰值;n代表自然日的天数;
[0051]
模块m2.2:计算每台虚拟机预定时间的cpu资源的峰值使用率,公式如下:
[0052][0053]
其中,u
max
代表该虚拟机预定时间的cpu资源的峰值使用率;ec代表目前分配给该虚拟机的物理cpu核数。
[0054]
优选的,所述模块m3包括如下模块:
[0055]
异地灾备模块:针对异地灾备的虚拟机场景,以生产端的cpu资源峰值使用率作为衡量标准;若预定时间期间,生产端和灾备端进行过切换,则以生产端和灾备端二者的cpu资源峰值使用率的较大值作为衡量标准;
[0056]
数据库高可用模块:针对数据库高可用的虚拟机场景,以高可用主节点的cpu资源峰值使用率作为衡量标准;若预定时间期间,高可用主节点和备节点进行过切换,则以高可用主节点和备节点二者的cpu资源峰值使用率的较大值作为衡量标准;
[0057]
应用负载均衡模块:针对应用负载均衡的虚拟机场景,以应用负载均衡的各节点的cpu资源峰值使用率的最大值作为衡量标准。
[0058]
优选的,所述模块m4包括如下模块:
[0059]
模块m4.1:判断虚拟机的cpu资源峰值使用率是否低于预定值;若虚拟机的cpu资源峰值使用率低于预定值,进入模块m4.2;若虚拟机的cpu资源峰值使用率不低于预定值,进入模块m4.3;
[0060]
模块m4.2:若虚拟机的cpu资源峰值使用率低于预定值,则计算出重分配的ec推荐值,公式如下:
[0061][0062]
ec
new
=roundup{ec

new
}
ꢀꢀꢀ
(4)
[0063]
其中,ec

new
代表当u
max
达到预定值时ec的推荐值;ec
new
是ec

new
以预定颗粒度向上取值得到的推荐值;roundup{}函数表示为以预定颗粒度向上取值;
[0064]
模块m4.3:若虚拟机的cpu资源峰值使用率高于指定值,则计算出重分配的ec推荐值,公式如下:
[0065][0066]
ec
new
=roundup(ec

new
)
ꢀꢀꢀ
(6)
[0067]
其中,ec

new
代表当u
max
达到选定值时ec的推荐值。
[0068]
与现有技术相比,本发明具有如下的有益效果:
[0069]
1、本发明通过高性能高可用的小型机云化资源重分配,针对异地灾备、数据库高可用、应用负载均衡三种虚拟机场景,基于过去一年的峰值使用率,从资源配比的角度,解决“系统上线资源需求量大”与“实际未能充分利用所分配资源”的矛盾,从而实现了资源池整体承载能力的优化;
[0070]
2、本发明从资源分布的角度,解决“各个虚拟机在资源池物理服务器之间分布不均衡”的矛盾,从而保障了性能和高可用能力的最大化;
[0071]
3、本发明从过去的被动运维,转向基于数据统计分析的主动运维,提供云化资源池资源使用率和资源分布的全貌展现,为容量管理和采购预算提供决策数据,助力“新基建”阶段的数据中心运维能力的提升。
附图说明
[0072]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0073]
图1为本发明模块图。
具体实施方式
[0074]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0075]
本发明实施例公开了一种基于峰值使用率的小型机云化资源重分配方法,如图1
所示,包括如下步骤:ec推荐值获得步骤:基于峰值使用率得到虚拟机的ec推荐值。
[0076]
ec推荐值获得步骤包括如下步骤:步骤s1:获取并保存预定时间的cpu性能数据,作为分析决策的性能数据集。从硬件管理控制台(hmc,hardware management console)或者各个虚拟机的操作系统,获取并保存过去一年的cpu性能数据,作为分析决策的数据集。
[0077]
步骤s2:基于所述步骤s1的性能数据集,以虚拟机为单位,计算每台虚拟机预定时间的cpu资源的峰值使用率,即计算每台虚拟机过去一年的cpu资源的峰值使用率。
[0078]
步骤s2包括如下步骤:步骤s2.1:计算每台虚拟机预定时间的物理cpu实际使用核数的峰值,即计算每台虚拟机过去一年的物理cpu实际使用核数的峰值,公式如下:
[0079]
cpu
max
=max{cpu1,cpu2,...,cpun}
ꢀꢀꢀ
(1)
[0080]
其中,cpu
max
代表该虚拟机预定时间的物理cpu实际使用核数的峰值,预定时间包括过去一年;cpun代表该虚拟机每个自然日的物理cpu实际使用核数的峰值;n代表自然日的天数,例如计算过去一年的话,则n=365。
[0081]
步骤s2.2:计算每台虚拟机过去一年的cpu资源的峰值使用率,公式如下:
[0082][0083]
其中,u
max
代表该虚拟机过去一年的cpu资源的峰值使用率;ec代表目前分配给该虚拟机的物理cpu核数。
[0084]
步骤s3:针对多种虚拟机场景,以虚拟机为单位,对应划分所述步骤s2得到的cpu资源峰值使用率性能数据。从配置管理数据库(cmdb,configuration management database)中导出各个虚拟机的相关信息,包括所属应用系统、部署地、高可用模式、重要程度、是否数据库等。针对异地灾备、数据库高可用、应用负载均衡三种虚拟机场景,以虚拟机为单位,将步骤s2得到的cpu资源峰值使用率等性能数据划分为三类。
[0085]
步骤s3包括如下步骤:异地灾备步骤:针对异地灾备的虚拟机场景,以生产端的cpu资源峰值使用率作为衡量标准;若预定时间期间,生产端和灾备端进行过切换,则以生产端和灾备端二者的cpu资源峰值使用率的较大值作为衡量标准。针对异地灾备的虚拟机场景,以生产端的cpu资源峰值使用率作为衡量标准,忽略灾备端的cpu资源峰值使用率。如果过去一年期间,生产端和灾备端进行过切换,则以两者的cpu资源峰值使用率的较大值作为衡量标准。
[0086]
数据库高可用步骤:针对数据库高可用的虚拟机场景,以高可用主节点的cpu资源峰值使用率作为衡量标准;若预定时间期间,高可用主节点和备节点进行过切换,则以高可用主节点和备节点二者的cpu资源峰值使用率的较大值作为衡量标准。针对数据库高可用的虚拟机场景,以高可用主节点的cpu资源峰值使用率作为衡量标准,忽略高可用备节点的cpu资源峰值使用率。如果过去一年期间,高可用主节点和备节点进行过切换,则以两者的cpu资源峰值使用率的较大值作为衡量标准。
[0087]
应用负载均衡步骤:针对应用负载均衡的虚拟机场景,以应用负载均衡的各节点的cpu资源峰值使用率的最大值作为衡量标准,忽略其他节点的cpu资源峰值使用率。
[0088]
步骤s4:基于所述步骤s3的多类虚拟机场景和对应划分的cpu资源峰值使用率分别计算出虚拟机的重分配的ec推荐值。基于步骤s3的三类虚拟机场景,分别计算出该虚拟机的重分配的ec推荐值。
[0089]
步骤s4包括如下步骤:步骤s4.1:判断虚拟机的cpu资源峰值使用率是否低于预定值;若虚拟机的cpu资源峰值使用率低于预定值,进入步骤s4.2;若虚拟机的cpu资源峰值使用率不低于预定值,进入步骤s4.3。预定值包括30%。即判断该虚拟机的cpu资源峰值使用率是否低于30%;是的话,进入步骤s4.2;不是的话,进入步骤s4.3。
[0090]
步骤s4.2:若虚拟机的cpu资源峰值使用率低于预定值,则计算出重分配的ec推荐值,即如果低于30%,则计算出重分配的ec推荐值,公式如下:
[0091][0092]
ec
new
=roundup{ec

new
}
ꢀꢀꢀ
(4)
[0093]
其中ec

new
代表当u
max
达到预定值(30%)时ec的推荐值;ec
new
是ec

new
以预定颗粒度向上取值得到的推荐值,即ec
new
是ec

new
以0.5为颗粒度向上取值得到的推荐值;roundup{}函数表示为以预定颗粒度向上取值;roundup{}函数通常代表以1为颗粒度向上取整,本发明为了获取更高的精度,将roundup{}函数定义为“以0.5为颗粒度向上取值”。
[0094]
步骤s4.3:若虚拟机的cpu资源峰值使用率高于指定值,则计算出重分配的ec推荐值,指定值包括100%。即如果高于100%,则计算出重分配的ec推荐值,公式如下:
[0095][0096]
ec
new
=roundup(ec

new
)
ꢀꢀꢀ
(6)
[0097]
其中ec

new
代表当u
max
达到选定值(选定值包括50%)时ec的推荐值,ec
new
是ec

new
以0.5为颗粒度向上取值得到的推荐值。
[0098]
步骤s5:对基于所述步骤s4得到的虚拟机的ec推荐值进行限制。一方面信息系统有重要等级的区别,即重要信息系统的重要程度高于一般信息系统,另一方面数据库服务器的重要程度高于应用服务器,所以基于步骤s4得到的虚拟机的ec推荐值进行限制。
[0099]
步骤s5包括如下步骤:步骤s5.1:针对重要信息系统的虚拟机,重分配的ec推荐值至少为1核,公式如下:
[0100]
ec
new
=max{ec
new
,1}
ꢀꢀꢀ
(7)。
[0101]
步骤s5.2:针对数据库服务器的虚拟机,重分配的ec推荐值至少为2核,公式如下:
[0102]
ec
new
=max{ec
new
,2}
ꢀꢀꢀ
(8)。
[0103]
判断步骤:基于步骤s5得到的虚拟机的ec推荐值,判断资源池物理服务器的资源分布情况、应用负载均衡的各节点资源分布情况和同一应用系统的各虚拟机资源分布情况。
[0104]
步骤s6包括如下步骤:步骤s6.1:以每台物理服务器为单位,计算重分配之后的各物理服务器的ec已分配值。如果超过该物理服务器cpu资源总量的70%,则提示“该物理服务器资源分布过于集中,建议在资源池集群内部通过在线迁移重分布虚拟机”。
[0105]
步骤s6.2:针对应用负载均衡的虚拟机场景,计算同一应用系统各节点的cpu
max
的标准差。如果标准差超过0.5,说明各节点资源负载不均衡,则提示“该应用系统负载均衡的节点资源不均衡,建议进一步分析原因”。
[0106]
步骤s6.3:以每套应用系统为单位,计算重分配之后的各个虚拟机的落点。如果出现2个及以上的虚拟机分布在同一物理服务器,则提示“该应用系统资源分布过于集中,建
议在资源池集群内部通过在线迁移重分布虚拟机”。
[0107]
基于峰值使用率的小型机云化资源高效分配主要功能模块如图1所示,针对异地灾备、数据库高可用、应用负载均衡三种虚拟机场景,基于过去一年的峰值使用率,发明高性能高可用的小型机云化资源重分配,一方面从资源配比的角度合理调节物理cpu核数和虚拟cpu核数的比值,实现资源池整体承载能力的优化;另一方面从资源分布的角度合理均衡虚拟机的落点,包括云化资源上的大部分虚拟机不集中在某台物理服务器上,同一应用系统的负载均衡或高可用的虚拟机打散在不同物理服务器上等。
[0108]
本发明实施例还公开了一种基于峰值使用率的云化资源重分配系统,包括如下模块:ec推荐值获得模块:基于峰值使用率得到虚拟机的ec推荐值。
[0109]
ec推荐值获得模块包括如下模块:模块m1:获取并保存预定时间的cpu性能数据,作为分析决策的性能数据集。模块m2:基于所述模块m1的性能数据集,以虚拟机为单位,计算每台虚拟机预定时间的cpu资源的峰值使用率。
[0110]
模块m2包括如下模块:模块m2.1:计算每台虚拟机预定时间的物理cpu实际使用核数的峰值,公式如下:
[0111]
cpu
max
=max{cpu1,cpu2,...,cpun}
ꢀꢀꢀ
(1)
[0112]
其中,cpu
max
代表该虚拟机预定时间的物理cpu实际使用核数的峰值;cpun代表该虚拟机每个自然日的物理cpu实际使用核数的峰值;n代表自然日的天数。
[0113]
模块m2.2:计算每台虚拟机过去一年的cpu资源的峰值使用率,公式如下:
[0114][0115]
其中,u
max
代表该虚拟机过去一年的cpu资源的峰值使用率;ec代表目前分配给该虚拟机的物理cpu核数。
[0116]
模块m3:针对多种虚拟机场景,以虚拟机为单位,对应划分所述模块m2得到的cpu资源峰值使用率性能数据。
[0117]
模块m3包括如下模块:异地灾备模块:针对异地灾备的虚拟机场景,以生产端的cpu资源峰值使用率作为衡量标准;若预定时间期间,生产端和灾备端进行过切换,则以生产端和灾备端二者的cpu资源峰值使用率的较大值作为衡量标准。
[0118]
数据库高可用模块:针对数据库高可用的虚拟机场景,以高可用主节点的cpu资源峰值使用率作为衡量标准;若预定时间期间,高可用主节点和备节点进行过切换,则以高可用主节点和备节点二者的cpu资源峰值使用率的较大值作为衡量标准。
[0119]
应用负载均衡模块:针对应用负载均衡的虚拟机场景,以应用负载均衡的各节点的cpu资源峰值使用率的最大值作为衡量标准。
[0120]
模块m4:基于所述模块m3的多类虚拟机场景和对应划分的cpu资源峰值使用率分别计算出虚拟机的重分配的ec推荐值。
[0121]
模块m4包括如下模块:模块m4.1:判断虚拟机的cpu资源峰值使用率是否低于预定值;若低于预定值,进入模块m4.2;若不低于预定值,进入模块m4.3。
[0122]
模块m4.2:若低于预定值,则计算出重分配的ec推荐值,公式如下:
[0123]
[0124]
ec
new
=roundup{ec

new
}
ꢀꢀꢀ
(4)
[0125]
其中,ec

new
代表当u
max
达到预定值(30%)时ec的推荐值;ec
new
是ec

new
以预定颗粒度向上取值得到的推荐值;roundup{}函数表示为以预定颗粒度向上取值。
[0126]
模块m4.3:若高于指定值(100%),则计算出重分配的ec推荐值,公式如下:
[0127][0128]
ec
new
=roundup(ec

new
)
ꢀꢀꢀ
(6)
[0129]
其中,ec

new
代表当u
max
达到选定值(50%)时ec的推荐值。
[0130]
模块m5:对基于所述模块m4得到的虚拟机的ec推荐值进行限制。
[0131]
判断模块:基于模块m5得到的虚拟机的ec推荐值,判断资源池物理服务器的资源分布情况、应用负载均衡的各节点资源分布情况和同一应用系统的各虚拟机资源分布情况。
[0132]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0133]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献