一种OpenStack环境下基于内存使用率进行优化的方法、系统及装置与流程

文档序号:33007318发布日期:2023-01-18 05:29阅读:54来源:国知局
一种OpenStack环境下基于内存使用率进行优化的方法、系统及装置与流程
一种openstack环境下基于内存使用率进行优化的方法、系统及装置
技术领域
1.本发明涉及云计算技术领域,具体地说是一种openstack环境下基于内存使用率进行优化的方法、系统及装置。


背景技术:

2.openstack目前已成为私有云的建设标准,同时也在公有云领域多有建树,它既可以支持50节点以下的小规模,也可支持500+节点的大型规模,但它缺乏完善的资源优化方案。openstack的nova组件会按照内存分配率进行调度,保证每台计算节点上的内存能均衡使用,但在实际场景下,每台虚拟机承载的业务是各式各样的,每个业务对内存的使用也是不同,存在同一时间点某些计算节点的实际内存使用率会特别高,其他计算节点内存使用率较低的现象出现。此现象会引入2个问题,1)内存使用率高的节点上的虚拟机会出现内存争抢的情况,虚拟机性能下降很大,客户体验很差;2)这些节点长时间内存满负载运行,对硬件也是考验。openstack的nova组件提供了热迁移方法,它支持通过调度算法选择目的节点,调度算法是按照内存分配率进行节点过滤和权重,很大几率选择还是内存使用率较高的目的节点。热迁移也可支持指定目的节点的方式,但需要运维人员自行进行过滤,存在人工操作失误的风险。


技术实现要素:

3.本发明的技术任务是针对以上不足之处,提供一种openstack环境下基于内存使用率进行优化的方法、系统及装置,能够解决计算节点实际内存使用率分布不均衡的问题,可实现完全自动化内存使用率迁移,减少人工操作的工作量,也降低了手工误操作的可能性。
4.本发明解决其技术问题所采用的技术方案是:
5.一种openstack环境下基于内存使用率进行优化的方法,进行内存实际使用率的采集和分析,当超过阈值时自动触发计算节点上虚拟机按照内存使用率迁移,从而降低内存使用率;该方法的实现方式包括:
6.1)、按照内存使用率对告警节点上的的虚拟机进行排序;
7.2)、按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;
8.3)、虚拟机指定目的节点执行热迁移。
9.本方法能够解决计算节点实际内存使用率分布不均衡的问题,通过内存实际使用率的采集和分析,当超过阈值自动触发计算节点上虚拟机按照内存使用率迁移,达到降低内存使用率的目的。此过程可实现完全自动化,既减少人工操作的工作量,也降低了手动误操作的可能性。
10.优选的,所述告警阈值为内存使用率超过85%。
11.优选的,使用云原生应用prometheus、telegraf项目实现内存实际使用率的采集和分析:
12.使用telegraf对计算节点的内存使用率进行监控,上报到prometheus,当达到设置阈值后,使用alertmanager调用资源优化restful api进行内存使用率热迁移。
13.进一步的,所述restful api首先读取prometheus中所有计算节点内存使用率的列表,通过过滤和权重算法对节点进行排序,接着对内存使用率高的节点上的所有虚拟机使用的内存进行排序,调用openstack nova组件的热迁移api依次对内存使用率高的虚拟机迁移到得分较高的节点,直至告警消失。
14.优选的,所述telegraf的node-exporter采用容器化部署。
15.优选的,该方法的实现包括监控、告警、调度和迁移环节,
16.监控环节:telegraf的node-exporter负责计算节点实际内存使用率的采集工作,间隔15s采集一次,由prometheus通过固定端口来拉取这个指标;
17.告警环节:prometheus中配置实际内存使用率的告警规则,分为70%和85%两个档,当超过70%时,报通知,当超过85%时,报严重告警,使用alertmanager调用资源优化模块resoptimization的restful api进行资源优化;
18.调度和迁移环节:resoptimization的scheduler服务从prometheus获取两部分监控指标,1)、内存使用率告警节点上每个虚拟机的内存使用率列表;2)、环境中其他计算节点的内存使用率;
19.openstack调用nova-api执行计算节点热迁移。
20.优选的,所述各环节涉及到的服务均使用容器,使用helm chart将容器部署到kubernetes集群中。
21.优选的,该方法调度和迁移环节具体执行过程如下:
22.1)、获取告警节点的虚拟机内存使用率mem_usage;
23.2)、从虚拟机列表获取一虚拟机的内存使用率mem_usage1;
24.3)、遍历计算节点内存使用率mem_usage2;
25.4)、判断是否mem_usage1+mem_usage2≤85%;是,执行步骤5);否,则返回步骤3);
26.5)、调用nova的api执行计算节点热迁移;
27.6)、判断是否告警节点的虚拟机内存使用率mem_usage≤85%;是,则结束进程;否,则返回步骤2)。
28.本发明还要求保护一种openstack环境下基于内存使用率进行优化的系统,包括监控模块、告警模块、调度和迁移模块,
29.监控模块用于计算节点内存实际使用率的采集和分析;
30.告警模块用于设定内存使用率的告警规则,并在当超过阈值时触发告警;
31.调度和迁移模块用于按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;并实现虚拟机指定目的节点执行热迁移;
32.该系统通过上述的openstack环境下基于内存使用率进行优化的方法实现内存使用率迁移。
33.本发明还要求保护一种openstack环境下基于内存使用率进行优化的装置,包括:至少一个存储器和至少一个处理器;
34.所述至少一个存储器,用于存储机器可读程序;
35.所述至少一个处理器,用于调用所述机器可读程序,执行上述的openstack环境下基于内存使用率进行优化的方法。
36.本发明的一种openstack环境下基于内存使用率进行优化的方法、系统及装置与现有技术相比,具有以下有益效果:
37.本方法能够解决计算节点实际内存使用率分布不均衡的问题,使用云原生应用prometheus、telegraf等项目实现内存实际使用率的采集和分析,当超过阈值自动触发计算节点上虚拟机按照内存使用率迁移,达到降低内存使用率的目的。此过程实现完全自动化,既减少人工操作的工作量,也降低了手动误操作的可能性。
附图说明
38.图1是本发明实施例提供的openstack环境下基于内存使用率进行优化的方法整体架构示图;
39.图2是本发明实施例提供的调度和迁移环节的流程示图。
具体实施方式
40.下面结合附图和具体实施例对本发明作进一步说明。
41.本发明实施例提供了一种openstack环境下基于内存使用率进行优化的方法,使用云原生应用prometheus、telegraf等项目实现内存实际使用率的采集和分析,当超过阈值时自动触发计算节点上虚拟机按照内存使用率迁移,从而降低内存使用率。该方法的实现方式包括:
42.1)、按照内存使用率对告警节点上的的虚拟机进行排序;
43.2)、按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;
44.3)、虚拟机指定目的节点执行热迁移。
45.其中,使用云原生应用prometheus、telegraf项目实现内存实际使用率的采集和分析:
46.所述telegraf的node-exporter采用容器化部署;
47.使用prometheus的alertmanager实现告警;
48.内存使用率超过85%触发高级告警。
49.具体实现方式如下:
50.使用telegraf对计算节点的内存使用率进行监控,上报到prometheus,当达到设置阈值后,使用alertmanager调用自开发的资源优化restful api进行内存使用率热迁移。
51.所述restful api首先读取prometheus中所有计算节点内存使用率的列表,通过过滤和权重算法对节点进行排序,接着对内存使用率高的节点上的所有虚拟机使用的内存进行排序,调用openstack nova组件的热迁移api依次对内存使用率高的虚拟机迁移到得分较高的节点,直至告警消失。
52.如图1所示,该方法的实现包括监控、告警、调度和迁移环节,
53.监控环节:telegraf的node-exporter负责计算节点实际内存使用率的采集工作,
间隔15s采集一次,由prometheus通过固定端口来拉取这个指标;
54.告警环节:prometheus中配置实际内存使用率的告警规则,分为70%和85%两个档,当超过70%时,报通知,当超过85%时,报严重告警,使用alertmanager调用资源优化模块resoptimization的restful api进行资源优化;
55.调度环节:resoptimization的scheduler服务从prometheus获取两部分监控指标,1)、内存使用率告警节点上每个虚拟机的内存使用率列表;2)、环境中其他计算节点的内存使用率;
56.迁移环节:openstack调用nova-api执行计算节点热迁移。
57.如图2所示,调度和迁移环节具体执行过程如下:
58.1)、获取告警节点的虚拟机内存使用率mem_usage;
59.2)、从虚拟机列表获取一虚拟机的内存使用率mem_usage1;
60.3)、遍历计算节点内存使用率mem_usage2;
61.4)、判断是否mem_usage1+mem_usage2≤85%;是,执行步骤5);否,则返回步骤3);
62.5)、调用nova的api执行计算节点热迁移;
63.6)、判断是否告警节点的虚拟机内存使用率mem_usage≤85%;是,则结束进程;否,则返回步骤2)。
64.所述各环节涉及到的服务均使用容器,使用helm chart将容器部署到kubernetes集群中。
65.本方法能够解决计算节点实际内存使用率分布不均衡的问题,通过内存实际使用率的采集和分析,当超过阈值自动触发计算节点上虚拟机按照内存使用率迁移,达到降低内存使用率的目的。此过程可实现完全自动化,既减少人工操作的工作量,也降低了手动误操作的可能性。
66.本发明实施例还提供一种openstack环境下基于内存使用率进行优化的系统,包括监控模块、告警模块、调度和迁移模块,
67.监控模块用于计算节点内存实际使用率的采集和分析;
68.告警模块用于设定内存使用率的告警规则,并在当超过阈值时触发告警;
69.调度和迁移模块用于按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;并实现虚拟机指定目的节点执行热迁移;
70.该系统通过上述的openstack环境下基于内存使用率进行优化的方法实现内存使用率迁移。使用云原生应用prometheus、telegraf等项目实现内存实际使用率的采集和分析,当超过阈值时自动触发计算节点上虚拟机按照内存使用率迁移,从而降低内存使用率。
71.具体实现方式包括:
72.1)、按照内存使用率对告警节点上的的虚拟机进行排序;
73.2)、按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;
74.3)、虚拟机指定目的节点执行热迁移。
75.其中,使用云原生应用prometheus、telegraf项目实现内存实际使用率的采集和分析:
76.使用telegraf对计算节点的内存使用率进行监控,上报到prometheus,当达到设
置阈值后,使用alertmanager调用自开发的资源优化restful api进行内存使用率热迁移。
77.所述restful api首先读取prometheus中所有计算节点内存使用率的列表,通过过滤和权重算法对节点进行排序,接着对内存使用率高的节点上的所有虚拟机使用的内存进行排序,调用openstack nova组件的热迁移api依次对内存使用率高的虚拟机迁移到得分较高的节点,直至告警消失。
78.所述telegraf的node-exporter采用容器化部署;
79.使用prometheus的alertmanager实现告警,内存使用率超过85%触发高级告警。
80.参考如图1所示,
81.监控模块:telegraf的node-exporter负责计算节点实际内存使用率的采集工作,间隔15s采集一次,由prometheus通过固定端口来拉取这个指标;
82.告警模块:prometheus中配置实际内存使用率的告警规则,分为70%和85%两个档,当超过70%时,报通知,当超过85%时,报严重告警,使用alertmanager调用资源优化模块resoptimization的restful api进行资源优化;
83.调度模块:resoptimization的scheduler服务从prometheus获取两部分监控指标,1)、内存使用率告警节点上每个虚拟机的内存使用率列表;2)、环境中其他计算节点的内存使用率;
84.迁移模块:openstack调用nova-api执行计算节点热迁移。
85.参考如图2所示,调度和迁移的具体执行过程如下:
86.1)、获取告警节点的虚拟机内存使用率mem_usage;
87.2)、从虚拟机列表获取一虚拟机的内存使用率mem_usage1;
88.3)、遍历计算节点内存使用率mem_usage2;
89.4)、判断是否mem_usage1+mem_usage2≤85%;是,执行步骤5);否,则返回步骤3);
90.5)、调用nova的api执行计算节点热迁移;
91.6)、判断是否告警节点的虚拟机内存使用率mem_usage≤85%;是,则结束进程;否,则返回步骤2)。
92.所述各环节涉及到的服务均使用容器,使用helm chart将容器部署到kubernetes集群中。
93.本发明实施例还提供一种openstack环境下基于内存使用率进行优化的装置,包括:至少一个存储器和至少一个处理器;
94.所述至少一个存储器,用于存储机器可读程序;
95.所述至少一个处理器,用于调用所述机器可读程序,执行上述的openstack环境下基于内存使用率进行优化的方法。
96.通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
97.除说明书所述的技术特征外,均为本专业技术人员的已知技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1