一种卷QoS自适应控制方法及存储系统与流程

未命名 07-22 阅读:62 评论:0

一种卷qos自适应控制方法及存储系统
技术领域
1.本发明涉及一种基于反压流控机制的卷qos自适应控制方法及存储系统,属于块存储技术领域;尤其涉及一种相对于传统的静态设置卷qos方法更加精准高效的自适应控制方法及存储系统。


背景技术:

2.在块存储技术领域中,卷qos(quality of service)是一个存储系统的基本特性,该特性要实现的功能是通过某种算法将卷的iops或带宽限制在某个范围之内,从而保证业务的服务质量。在此基础上,对存储系统中所有的卷设置不同的qos之后,可以将整个存储系统的处理能力按照业务的优先级进行合理的分配。
3.对每个卷进行qos限制时,最常见的是使用令牌桶算法,该算法通过给卷发放不同数量的令牌来控制该卷可以消耗的iops或带宽。在此基础算法之上,也存在一些改进型算法,但是依然存在一些不足之处。目前,现有技术的一些改进型算法可以分为三类:
4.1、在客户端(卷)和服务端(底层存储)之间引入一个中间层,中间层负责进行请求下发的限制,收集请求处理结果,根据处理结果对下一次请求下发的并发度进行微调。该方法考虑了某一次调控的效果,通过快速迭代,最终找到一组比较合理的参数,只是对令牌桶算法自身的改进。
5.2、给不同的卷设置不同的优先级或权重,在算法中根据权重计算应该给每个卷下发多少个请求。该方法考虑了卷的性能优先级,在不同的卷设置了相同的qos值的场景下,在调控上增加了一个参考维度,对业务更加友好。
6.3、qos策略跟底层的磁盘类型和上层的卷类型进行关联,从而可以使用不同的更精细化的参数和配置。该方法同时考虑了后端存储介质的性能和前端卷的性能优先级,在调控精准度上有一定的改进。
7.以上几种算法,仍然存在一些不足,并没有解决以下问题:
8.1、用户需要提前规划好每一个卷的qos值,而且卷的qos值都是静态设置的。在实际生产环境中,业务的峰值压力很难预测和估算,qos设置有一定的难度,很难设置准确。
9.2、由于卷的qos值是静态设置的,有可能出现底层存储并不繁忙,但是,部分卷被限制iops和带宽,存在一定的资源浪费。
10.3、qos算法缺少一定的灵活性,除了卷的性能优先级,并没有考虑卷的容量,黑白名单,业务周期性特点等因素。


技术实现要素:

11.本发明的目的是提供一种卷qos自适应控制方法,用以解决卷qos规划困难且不能通过底层存储的压力来自动调整卷的qos的问题;还提供了一种带有卷qos自适应控制的存储系统,用于解决现有存储系统灵活性差,无法准确设置qos的问题。
12.为实现上述目的,本发明的方案包括:
13.本发明的一种卷qos自适应控制方法的技术方案,根据获取的缓存池或数据池当前业务负载,利用通过历史负载数据训练出来的机器学习模型,预测缓存池或数据池未来设定时间内的业务负载趋势;若预测业务负载趋势在未来一段时间内满足预设的上升条件,则执行卷qos。
14.本发明通过存储系统内部实时监控存储池的负载来自动触发卷qos,很好的解决了复杂业务系统下无法事先估算卷所需qos的问题,在用户层面做到了无感知qos,提升了用户的体验。
15.进一步地,所述预设的上升条件为,计算得到的业务负载上升到设置的最大阈值的所需时间在设置的时间阈值范围内。
16.进一步地,执行卷qos时,通过如下步骤设置qos:对加入列表的卷按照性能优先级分组,根据当前选择的均衡模式或权重模式,在均衡模式下平均计算各卷需要削减的iops或带宽;在权重模式下,结合所在组的性能优先级,对各组内的卷按照所在组的优先级计算需要被削减的iops或带宽;根据各卷需要削减的iops或带宽设置qos。
17.本发明在自动给卷设置qos时,可以根据用户选择,考虑卷性能优先级等维度的信息,真正做到了资源合理分配,给用户以灵活性,满足多样的业务场景。
18.进一步地,所述权重模式下,还根据卷的时延,按照预设原则对qos或带宽值进行微调;所述预设原则包括:卷的时延越大,需要被削减的iops或带宽调小,以减小卷的时延;对应调大当前iops或带宽高的卷的需要被削减的iops或带宽。
19.根据卷延迟对目标iops或带宽进行条横,将高iops或带宽的卷的资源向高延迟的卷倾斜,保证业务稳定不损耗集群整体性能。
20.进一步地,触发卷qos后,将不在白名单和未设置静态qos值的卷加入所述列表。
21.还进一步增加白名单和静态qos值设置功能,满足更复杂多变的业务场景,给用户更多的灵活性。
22.本发明的一种带有卷qos自适应控制的存储系统的技术方案,包括实时监控存储侧业务负载的底层存储关键指标监控模块和卷qos控制算法模块;所述底层存储关键指标监控模块根据获取的缓存池或数据池当前业务负载,利用通过历史负载数据训练出来的机器学习模型,预测缓存池或数据池未来设定时间内的业务负载趋势;所述卷qos控制算法模块根据预测出的业务负载趋势,若判断在未来一段时间内满足预设的上升条件,则执行卷qos。
23.进一步地,所述预设的上升条件为,计算得到的业务负载上升到设置的最大阈值的所需时间在设置的时间阈值范围内。
24.进一步地,还包括qos策略选择模块;所述qos策略选择模块在执行卷qos后,通过如下步骤设置qos:对加入列表的卷按照性能优先级分组,根据当前选择的均衡模式或权重模式,在均衡模式下平均计算各卷需要削减的iops或带宽;在权重模式下,结合所在组的性能优先级,对各组内的卷按照所在组的优先级计算需要被削减的iops或带宽;根据各卷需要削减的iops或带宽设置qos。
25.进一步地,还包括用于监测卷的时延的卷关键指标监控模块;所述权重模式下,qos策略选择模块还根据从卷关键指标监控模块获得的卷的时延,按照预设原则对qos或带宽值进行微调;所述预设原则包括:卷的时延越大,需要被削减的iops或带宽调小,以减小
卷的时延;对应调大当前iops或带宽高的卷的需要被削减的iops或带宽。
26.进一步地,触发卷qos后,将不在白名单和未设置静态qos值的卷加入所述列表。
附图说明
27.图1是本发明的模块架构示意图;
28.图2是预测业务负载及触发卷qos流程示意图;
29.图3是qos策略选择流程示意图。
具体实施方式
30.为使本发明的目的、技术方案及优点更加清楚,下面结合附图及实施例,对本发明作进一步的详细说明。
31.本发明的方案在传统的令牌桶算法基础上,把卷qos设置这个用户操作隐藏在了系统内部,再配合多种灵活的插件式策略,最终实现一种自适应式的qos控制方法。
32.卷qos自适应控制方法实施例:
33.如图1所示,本发明的方法的实现依赖于四个大的模块,这四个模块也构成了卷qos自适应控制系统的方案:
34.1、底层存储关键指标监控模块:实时监控存储侧的业务负载,包括缓存池的关键指标(缓存池的当前水位和历史水位、缓存池中脏数据刷盘速度、缓存池中存储介质的利用率、缓存池中存储介质的读写带宽和读写iops)和数据池的关键指标(数据池中存储介质的利用率、读写带宽、读写iops)。
35.缓存池水位是指缓存池中脏数据的比例,即缓存池中脏数据的容量所占缓存池总容量的百分比,而脏数据是指刚写入缓存池,还未迁移至数据池的数据。脏数据刷盘速度是指将缓存池中脏数据刷入磁盘数据池的速度。
36.同时,还包括两个算法子模块,分别是:a)缓存池水位趋势预测模块,根据历史的水位信息,预测未来一段时间内缓存池水位是上升还是下降,还是持平,还是以一定幅度波动;b)机器学习模块,根据历史数据进行训练,训练出一组最优的算法参数,使趋势预测更加及时和准确。该模块实现的主要功能是为卷qos控制算法提供数据,以便决策什么条件下自动给卷设置qos来控制存储的负载继续上升。
37.下面对两个子模块进行详细说明:
38.a)趋势预测模块:采用基于时间序列分析的趋势预测算法,主体采用arima差分自回归移动平均模型,对前端业务的写入带宽进行分析,将业务压力分解为趋势部分,周期部分和残差序列,利用趋势部分的分析结果和数据池的负载来判断是否有必要分流。算法中的周期部分是指前端业务压力反应在缓存池的监控指标上时产生的周期性变化规划,这里的周期性可以是以天为单位,也可以是以周或月为单位;例如每天早8点上班高峰期,业务压力达到一个峰值,而每天晚6点下班时,业务压力达到最低。算法中的趋势部分是指业务压力的上升、下降,即在一定范围内上下波动的趋势。
39.算法中残差序列是指训练数据原本的序列减去训练数据上的拟合序列后的序列。该序列越符合随机误差分布(均值为0的正态分布),说明模型拟合的越好。该模块的输入项为{时刻1,缓存池的水位1},{时刻2,缓存池的水位2},{时刻3,缓存池的水位3}

构成的一
组时间序列数据,其中缓存池的水位=缓存池中脏数据的总容量/缓存池的总容量*100%。该模块的输出项为缓存池水位的走势,即{上升,所需时间,置信度}或{下降,所需时间,置信度}或{持平,持续时间,置信度}。
40.b)机器学习模块:将历史数据进行汇总分析,总结出一个计算模型,用于评估分流的预期效果。该计算模型的输入项为{业务压力
×
业务压力的权重,缓存池水位
×
缓存池水位的权重,数据池负载
×
数据池负载的权重},输出项为{分流比例,缓存池水位下降至安全阈值以下所需的时间,置信度}。
41.同时,该模块还提供基于皮尔逊相关系数和欧几里得距离算法的相似度计算模型,用于对比当前业务压力与历史同期业务压力,作为是否分流的参考数据。相似度计算模型的输入项为两组时间序列数据,其中一组为历史数据即{历史时刻1,历史业务压力1}、{历史时刻2,历史业务压力2}、{历史时刻3,历史业务压力3}

,另一组为近期数据即{近期时刻1,近期业务压力1}、{近期时刻2,近期业务压力2}、{近期时刻3,近期业务压力3}

;输出项为{两组数据的相似度百分比}。相似度在95%以上时,认为当前业务压力与历史业务压力相似度很高。
42.2、卷关键指标监控模块:实时监控卷的iops、带宽和时延,并保存历史监控数据。该模块实现的主要功能是为卷qos选择策略模块提供数据,以便在给卷设置qos时对计算出的qos值进行微调。调整的原则为,卷的时延越大,削减iops或带宽时削减得越少,让卷的时延变得小一点;卷的iops或带宽越高,按权重策略进行削减时,削减的iops或带宽就越多。
43.3、卷qos控制算法模块:根据从底层存储关键指标监控模块获取到的监控数据,实时计算是否应该触发卷qos,该模块主要包含:a)令牌桶算法子模块、b)卷iops控制子模块、c)卷带宽控制子模块和d)算法参数配置子模块。
44.a)令牌桶算法子模块是卷qos控制算法的核心模块,该算法以恒定的速度生成令牌,并放到一个虚拟的桶里,当卷上有业务请求时,先从令牌桶里获取令牌。如果能获取到,则处理请求;如果获取不到,则拒绝请求。通过给不同的卷设置不同的qos即不同的令牌数,从而控制每个卷在单位时间内能被处理的最大请求数。
45.b)iops控制子模块和c)带宽控制子模块,二者主要是分别将iops和带宽折算成不同的令牌数。
46.d)算法参数配置子模块,主要是设置令牌桶算法的一些参数(如令牌发放的时间间隔、获取令牌的超时时间、每次获取的最大令牌数)和反压算法的一些参数(触发设置卷qos的存储压力的阈值、判断存储压力的检测周期、qos策略选择模块中各个插件的配置项)。
47.卷qos控制算法模块与底层存储关键指标监控模块相连以获取监控数据,实现本发明卷qos自适应控制方法中,触发qos的条件判断部分,主要流程如图2所示,具体包括以下步骤:
48.从底层存储关键指标监控模块获取监控数据:底层存储关键指标监控模块根据是否存在缓存池。若存在,则从缓存池的关键指标获取缓存池当前负载和历史负载数据,并通过趋势预测子模块预测缓存池未来一段时间内的业务负载趋势;若不存在,则从数据池的关键指标获取数据池当前负载和历史负载数据,并通过趋势预测子模块预测数据池未来一段时间内的业务负载趋势。
49.若负载在未来一段时间内上升,则计算负载上升到设置的最大阈值所需时间,若时间在设置的阈值范围内,则卷qos控制算法模块触发卷qos。
50.4、qos策略选择模块:当卷qos控制算法模块识别出需要对系统中的卷自动设置qos时,qos策略选择模块负责自动筛选哪些卷需要被限制iops或带宽,以及每个卷分别需要设置为多少。该模块包含了多种选择策略,从多个维度进行评估,以保证合理性。该模块主要包含以下几个策略的插件:
51.a)基于卷白名单的控制策略:该策略允许用户设置白名单,在白名单中的卷表示该卷上的业务重要程度非常高,即使在存储压力很大的情况下,也不希望该卷受到任何性能的损耗。
52.b)基于卷业务优先级的控制策略:该策略允许用户结合业务优先程度给卷设置不同的性能优先级,性能优先级从1到5,1代表优先级最高,5代表优先级最低,不同的性能优先级代表不同的能获得的iops和带宽数量。该策略主要配合削减策略来使用。
53.例如,根据计算整个集群的总iops需要从10000降低到5000才能保证系统不会因过载而崩溃,则需要削减5000的iops,假设这5000iops需要分散到5个卷上,这5个卷的性能优先级分别是1、2、3、4、5,那么优先级为1的卷需要削减5000
×
1/15即333,优先级为5的卷需要削减5000
×
5/15即1666。
54.c)卷的静态控制策略:该策略允许用户给卷设置静态qos,一旦设置静态qos,该qos值的优先级要高于动态计算出来的qos值。
55.例如,某个卷的静态qos的iops为1000,而根据卷业务优先级和削减策略计算出来的削减之后的iops值为800,则应该将iops设置为1000,即削减之后的iops或带宽不能低于静态qos值,或者不能改变静态qos值。
56.d)基于卷业务周期性特征的控制策略:该策略允许统计并保存卷的业务周期性特征,该特征包括卷在一天、一周、一月内的iops和带宽变化情况。一天内的特征按照一分钟的采样周期计算出每个小时的变化趋势,趋势包括上升、下降、持平、周期性波动、波动中上升、波动中下降。除趋势之外,还包括一天内的业务峰值时间段和低谷时间段。一周和一月的特征同样包含趋势、峰值和低谷信息,只是原始数据采样周期上不同。基于卷的业务周期性特征,qos策略选择算法可以参考目标卷的历史趋势而延迟设置qos甚至不设置qos。
57.e)削减策略:该策略用户允许设置权重模式或均衡模式两种削减模式。权重模式表示系统将按照各个卷的性能优先级计算各自被削减的iops和带宽,而均衡模式表示被削减的iops和带宽将平均分散到各个卷上。
58.qos策略选择模块连接卷qos控制算法模块,以获知卷qos被触发;同时连接卷关键指标监控模块,以获得各个卷的iops、带宽和时延数据用于策略选择。实现本发明卷qos自适应控制方法中,qos触发后卷qos的设置和执行部分,的主要流程如图3所示,具体包括以下步骤:
59.首先判断对应卷是否在白名单中或者设置了静态qos值,若任一判断结果为是,则不对该卷设置qos;若两个判断均为否,则将该卷加入待设置qos卷列表,并按卷的性能优先级对卷列表中的卷进行分组。根据用户设置的均衡模式或权重模式,在均衡模式下平均计算各卷需要削减的iops或带宽;在权重模式下,结合所在组的性能优先级,对各组内的卷按照所在组的优先级计算需要被削减的iops或带宽,并通过卷关键指标监控模块获取卷的时
延等监控指标,按照原则对qos或带宽值进行微调。
60.在计算出卷需要削减的iops或带宽后,判断是否有业务周期性特征数据,没有则立刻按照计算结果限制对应卷的qos;若有则判断周期性的压力趋势是在上升还是在下降趋势,若在上升趋势,则立刻按照计算结果限制对应卷的qos;若是在下降趋势,则返回待设置qos卷列表,不执行卷qos。
61.通过本发明,存储系统在不损耗集群的整体性能的前提下,自动给卷设置qos,保证业务稳定,真正达到用户不需要显式设置卷qos的极致体验。
62.带有卷qos自适应控制的存储系统实施例:
63.本发明的一种带有卷qos自适应控制的存储系统,该系统包括存储侧和卷qos自适应控制系统,卷qos自适应控制系统用于实现存储系统的卷qos自适应控制方法,卷qos自适应控制系统及卷qos自适应控制方法的方案已经在卷qos自适应控制方法实施例介绍的足够清楚,此处不再赘述。

技术特征:
1.一种卷qos自适应控制方法,其特征在于,根据获取的缓存池或数据池当前业务负载,利用通过历史负载数据训练出来的机器学习模型,预测缓存池或数据池未来设定时间内的业务负载趋势;若预测业务负载趋势在未来一段时间内满足预设的上升条件,则执行卷qos。2.根据权利要求1所述的卷qos自适应控制方法,其特征在于,所述预设的上升条件为,计算得到的业务负载上升到设置的最大阈值的所需时间在设置的时间阈值范围内。3.根据权利要求1所述的卷qos自适应控制方法,其特征在于,执行卷qos中,通过如下步骤设置qos:对加入列表的卷按照性能优先级分组,根据当前选择的均衡模式或权重模式,在均衡模式下平均计算各卷需要削减的iops或带宽;在权重模式下,结合所在组的性能优先级,对各组内的卷按照所在组的优先级计算需要被削减的iops或带宽;根据各卷需要削减的iops或带宽设置qos。4.根据权利要求3所述的卷qos自适应控制方法,其特征在于,所述权重模式下,还根据卷的时延,按照预设原则对qos或带宽值进行微调;所述预设原则包括:卷的时延越大,需要被削减的iops或带宽调小,以减小卷的时延;对应调大当前iops或带宽高的卷的需要被削减的iops或带宽。5.根据权利要求3所述的卷qos自适应控制方法,其特征在于,触发卷qos后,将不在白名单和未设置静态qos值的卷加入所述列表。6.一种带有卷qos自适应控制的存储系统,其特征在于,包括实时监控存储侧业务负载的底层存储关键指标监控模块和卷qos控制算法模块;所述底层存储关键指标监控模块根据获取的缓存池或数据池当前业务负载,利用通过历史负载数据训练出来的机器学习模型,预测缓存池或数据池未来设定时间内的业务负载趋势;所述卷qos控制算法模块根据预测出的业务负载趋势,若判断在未来一段时间内满足预设的上升条件,则执行卷qos。7.根据权利要求6所述的带有卷qos自适应控制的存储系统,其特征在于,所述预设的上升条件为,计算得到的业务负载上升到设置的最大阈值的所需时间在设置的时间阈值范围内。8.根据权利要求6所述的带有卷qos自适应控制的存储系统,其特征在于,还包括qos策略选择模块;所述qos策略选择模块在执行卷qos后,通过如下步骤设置qos:对加入列表的卷按照性能优先级分组,根据当前选择的均衡模式或权重模式,在均衡模式下平均计算各卷需要削减的iops或带宽;在权重模式下,结合所在组的性能优先级,对各组内的卷按照所在组的优先级计算需要被削减的iops或带宽;根据各卷需要削减的iops或带宽设置qos。9.根据权利要求8所述的带有卷qos自适应控制的存储系统,其特征在于,还包括用于监测卷的时延的卷关键指标监控模块;所述权重模式下,qos策略选择模块还根据从卷关键指标监控模块获得的卷的时延,按照预设原则对qos或带宽值进行微调;所述预设原则包括:卷的时延越大,需要被削减的iops或带宽调小,以减小卷的时延;对应调大当前iops或带宽高的卷的需要被削减的iops或带宽。10.根据权利要求8所述的带有卷qos自适应控制的存储系统,其特征在于,触发卷qos后,将不在白名单和未设置静态qos值的卷加入所述列表。

技术总结
本发明涉及一种卷QoS自适应控制方法及存储系统,方案根据获取的缓存池或数据池当前业务负载,利用通过历史负载数据训练出来的机器学习模型,预测缓存池或数据池未来设定时间内的业务负载趋势;若预测业务负载趋势在未来一段时间内满足预设的上升条件,则触发卷QoS。本发明通过存储系统内部实时监控存储池的负载来自动触发卷QoS,很好的解决了复杂业务系统下无法事先估算卷所需QoS的问题,在用户层面做到了无感知QoS,提升了用户体验。提升了用户体验。提升了用户体验。


技术研发人员:周文明 曹羽中 于强
受保护的技术使用者:华瑞指数云科技(深圳)有限公司
技术研发日:2023.03.02
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐