一种OpenStack环境下基于内存使用率进行优化的方法、系统及装置制造方法及图纸

技术编号:36384835 阅读:10 留言:0更新日期:2023-01-18 09:47
本发明专利技术公开了一种OpenStack环境下基于内存使用率进行优化的方法、系统及装置,属于云计算技术领域,该方法的进行内存实际使用率的采集和分析,当超过阈值时自动触发计算节点上虚拟机按照内存使用率迁移,从而降低内存使用率;该方法的实现方式包括:1)、按照内存使用率对告警节点上的的虚拟机进行排序;2)、按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;3)、虚拟机指定目的节点执行热迁移。本发明专利技术能够解决计算节点实际内存使用率分布不均衡的问题,可实现完全自动化内存使用率迁移,减少人工操作的工作量,也降低了手工误操作的可能性。低了手工误操作的可能性。低了手工误操作的可能性。

【技术实现步骤摘要】
一种OpenStack环境下基于内存使用率进行优化的方法、系统及装置


[0001]本专利技术涉及云计算
,具体地说是一种OpenStack环境下基于内存使用率进行优化的方法、系统及装置。

技术介绍

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

技术实现思路

[0003]本专利技术的技术任务是针对以上不足之处,提供一种OpenStack环境下基于内存使用率进行优化的方法、系统及装置,能够解决计算节点实际内存使用率分布不均衡的问题,可实现完全自动化内存使用率迁移,减少人工操作的工作量,也降低了手工误操作的可能性。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]一种OpenStack环境下基于内存使用率进行优化的方法,进行内存实际使用率的采集和分析,当超过阈值时自动触发计算节点上虚拟机按照内存使用率迁移,从而降低内存使用率;该方法的实现方式包括:
[0006]1)、按照内存使用率对告警节点上的的虚拟机进行排序;
[0007]2)、按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;
[0008]3)、虚拟机指定目的节点执行热迁移。
[0009]本方法能够解决计算节点实际内存使用率分布不均衡的问题,通过内存实际使用率的采集和分析,当超过阈值自动触发计算节点上虚拟机按照内存使用率迁移,达到降低内存使用率的目的。此过程可实现完全自动化,既减少人工操作的工作量,也降低了手动误操作的可能性。
[0010]优选的,所述告警阈值为内存使用率超过85%。
[0011]优选的,使用云原生应用Prometheus、telegraf项目实现内存实际使用率的采集和分析:
[0012]使用telegraf对计算节点的内存使用率进行监控,上报到Prometheus,当达到设置阈值后,使用AlertManager调用资源优化RESTful API进行内存使用率热迁移。
[0013]进一步的,所述RESTful API首先读取Prometheus中所有计算节点内存使用率的列表,通过过滤和权重算法对节点进行排序,接着对内存使用率高的节点上的所有虚拟机使用的内存进行排序,调用OpenStack nova组件的热迁移API依次对内存使用率高的虚拟机迁移到得分较高的节点,直至告警消失。
[0014]优选的,所述telegraf的node

exporter采用容器化部署。
[0015]优选的,该方法的实现包括监控、告警、调度和迁移环节,
[0016]监控环节:Telegraf的node

exporter负责计算节点实际内存使用率的采集工作,间隔15s采集一次,由Prometheus通过固定端口来拉取这个指标;
[0017]告警环节:Prometheus中配置实际内存使用率的告警规则,分为70%和85%两个档,当超过70%时,报通知,当超过85%时,报严重告警,使用AlertManager调用资源优化模块ResOptimization的RESTful API进行资源优化;
[0018]调度和迁移环节:ResOptimization的scheduler服务从Prometheus获取两部分监控指标,1)、内存使用率告警节点上每个虚拟机的内存使用率列表;2)、环境中其他计算节点的内存使用率;
[0019]OpenStack调用nova

api执行计算节点热迁移。
[0020]优选的,所述各环节涉及到的服务均使用容器,使用Helm chart将容器部署到Kubernetes集群中。
[0021]优选的,该方法调度和迁移环节具体执行过程如下:
[0022]1)、获取告警节点的虚拟机内存使用率mem_usage;
[0023]2)、从虚拟机列表获取一虚拟机的内存使用率mem_usage1;
[0024]3)、遍历计算节点内存使用率mem_usage2;
[0025]4)、判断是否mem_usage1+mem_usage2≤85%;是,执行步骤5);否,则返回步骤3);
[0026]5)、调用nova的API执行计算节点热迁移;
[0027]6)、判断是否告警节点的虚拟机内存使用率mem_usage≤85%;是,则结束进程;否,则返回步骤2)。
[0028]本专利技术还要求保护一种OpenStack环境下基于内存使用率进行优化的系统,包括监控模块、告警模块、调度和迁移模块,
[0029]监控模块用于计算节点内存实际使用率的采集和分析;
[0030]告警模块用于设定内存使用率的告警规则,并在当超过阈值时触发告警;
[0031]调度和迁移模块用于按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;并实现虚拟机指定目的节点执行热迁移;
[0032]该系统通过上述的OpenStack环境下基于内存使用率进行优化的方法实现内存使用率迁移。
[0033]本专利技术还要求保护一种OpenStack环境下基于内存使用率进行优化的装置,包括:至少一个存储器和至少一个处理器;
[0034]所述至少一个存储器,用于存储机器可读程序;
[0035]所述至少一个处理器,用于调用所述机器可读程序,执行上述的OpenStack环境下基于内存使用率进行优化的方法。
[0036]本专利技术的一种OpenStack环境下基于内存使用率进行优化的方法、系统及装置与现有技术相比,具有以下有益效果:
[0037]本方法能够解决计算节点实际内存使用率分布不均衡的问题,使用云原生应用Prometheus、telegraf等项目实现内存实际使用率的采集和分析,当超过阈值自动触发计算节点上虚拟机按照内存使用率迁移,达到降低内存使用率的目的。此过程实现完全自动化,既减少人工操作的工作量,也降低了手动误操作的可能性。
附图说明
[0038]图1是本专利技术实施例提供的Open本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种OpenStack环境下基于内存使用率进行优化的方法,其特征在于,进行内存实际使用率的采集和分析,当超过阈值时自动触发计算节点上虚拟机按照内存使用率迁移,从而降低内存使用率;该方法的实现方式包括:1)、按照内存使用率对告警节点上的的虚拟机进行排序;2)、按照虚拟机内存使用率加上计算节点的内存使用率不超过告警阈值进行过滤;3)、虚拟机指定目的节点执行热迁移。2.根据权利要求1所述的一种OpenStack环境下基于内存使用率进行优化的方法,其特征在于,所述告警阈值为内存使用率超过85%。3.根据权利要求1所述的一种OpenStack环境下基于内存使用率进行优化的方法,其特征在于,使用云原生应用Prometheus、telegraf项目实现内存实际使用率的采集和分析:使用telegraf对计算节点的内存使用率进行监控,上报到Prometheus,当达到设置阈值后,使用AlertManager调用资源优化RESTful API进行内存使用率热迁移。4.根据权利要求3所述的一种OpenStack环境下基于内存使用率进行优化的方法,其特征在于,所述RESTful API首先读取Prometheus中所有计算节点内存使用率的列表,通过过滤和权重算法对节点进行排序,接着对内存使用率高的节点上的所有虚拟机使用的内存进行排序,调用OpenStack nova组件的热迁移API依次对内存使用率高的虚拟机迁移到得分较高的节点,直至告警消失。5.根据权利要求3所述的一种OpenStack环境下基于内存使用率进行优化的方法,其特征在于,所述telegraf的node

exporter采用容器化部署。6.根据权利要求2或3或4所述的一种OpenStack环境下基于内存使用率进行优化的方法,其特征在于,该方法的实现包括监控、告警、调度和迁移环节,监控环节:Telegraf的node

exporter负责计算节点实际内存使用率的采集工作,间隔15s采集一次,由Prometheus通过固定端口来拉取这个指标;告警环节:Prometheus中配置实际内存使用率的告警规则,分为70%和85%两个档,当超过70%时,报通知,当超过85...

【专利技术属性】
技术研发人员:谢涛涛蔡卫卫宋伟孙兴艳
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1