一种集群块设备动态QoS配置的系统及方法技术方案

技术编号:18839882 阅读:38 留言:0更新日期:2018-09-05 08:21
本发明专利技术公开一种集群块设备动态QoS配置的系统及方法,该系统包括:若干存储子模块;及与每一存储子模块对应配置的性能监控子模块、QoS子模块、集群性能均衡器;各性能监控子模块实时收集各节点的性能信息,将此实时传输给选举出来的集群性能均衡器,集群性能均衡器负责平衡集群QoS设置,并分配各节点的QoS设置;各QoS子模块接收选举出来的集群性能均衡器下发的QoS设置信息,将其应用到各节点。采用本发明专利技术的技术方案,无论客户端怎么和集群建立业务连接,无论业务IO怎么变化,均可做到QoS设置的合理分配。

A system and method for dynamic QoS configuration of cluster block devices

The invention discloses a system and a method for dynamic QoS configuration of cluster block devices, which comprises: a number of storage sub-modules; a performance monitoring sub-module, a QoS sub-module and a cluster performance equalizer corresponding to each storage sub-module; and each performance monitoring sub-module collects the performance information of each node in real time and transmits this real time. To the elected cluster performance equalizer, the cluster performance equalizer is responsible for balancing the cluster QoS settings and allocating the QoS settings of each node; each QoS sub-module receives the QoS settings information issued by the elected cluster performance equalizer and applies it to each node. By adopting the technical scheme of the invention, no matter how the client establishes the service connection with the cluster, no matter how the service IO changes, the reasonable allocation of QoS settings can be achieved.

【技术实现步骤摘要】
一种集群块设备动态QoS配置的系统及方法
本专利技术涉及集群存储管理
,特别涉及一种集群块设备动态QoS配置的系统及方法。
技术介绍
传统的块设备QoS技术,依赖于Linux底层的Cgroup机制,缺点是QoS设置只针对单节点,单逻辑单元号(LUN,LogicalUnitNumber,特指指定的块设备)生效。针对集群环境,一个块设备可以从多个机头出去,传统QoS机制弊端显露,无法胜任集群复杂的应用环境。例如,对于一个需要对单LUN设置读100M,写100M的QoS配置,传统方案应用在集群环境中的两种情况:(1)参见图1,对于LUN1,每个存储机头各设置100M的读带宽和100M的写带宽,这样从集群的角度来说,LUN1实际上有300M的读带宽和300M的写带宽。这种与需求不匹配,设置不合理。(2)参见图2,考虑各个存储机头平均QoS设置,各个机头读33M,写33M。这种设置对于每个客户端对带宽需求比较平均时较好,考虑实际情况客户端对带宽的需求可能并不平均,比方说某个时间段Client2没有业务,这时对于客户来说集群的总带宽只有读66M,写66M。仍然存在与需求不匹配、设置不合理的情况。从上面分析可以看出传统QoS方案的弊端在于无法根据客户端的业务情况,在各个节点间动态的调整QoS设置,导致了供需的不合理分配。因此,现有技术存在问题,需要进一步改进。
技术实现思路
针对现有技术存在的问题,本专利技术提供一种集群块设备动态QoS配置的系统及方法。首先,本专利技术提供一种集群块设备动态QoS配置的系统,具体技术方案如下:一种集群块设备动态QoS配置的系统,包括:若干存储子模块;及与每一存储子模块对应配置的性能监控子模块、QoS子模块、集群性能均衡器;各性能监控子模块实时收集各节点的性能信息,将此实时传输给选举出来的集群性能均衡器,集群性能均衡器负责平衡集群QoS设置,并分配各节点的QoS设置;各QoS子模块接收选举出来的集群性能均衡器下发的QoS设置信息,将其应用到各节点。优选地,所述集群性能均衡器采用树状数据结构汇总集群范围内每个LUN的性能信息和每条链路的性能信息。优选地,所述性能信息包括LUN读带宽、LUN读iops、LUN写带宽、LUN写iops、平均IO延时。本专利技术还提供一种集群块设备动态QoS配置的方法,其具体技术方案如下。一种集群块设备动态QoS配置的方法,包括如下步骤:S1、各性能监控子模块实时收集各节点的性能信息;S2、选举出来的集群性能均衡器实时接收该性能信息,平衡集群QoS设置后形成各节点的QoS设置信息;S3、各QoS子模块接收对应QoS设置信息,将其应用到各节点。优选地,步骤S1中所述性能信息包括LUN读带宽、LUN读iops、LUN写带宽、LUN写iops、平均IO延时。优选地,步骤S2中所述集群性能均衡器采用树状数据结构汇总集群范围内每个LUN的性能信息和每条链路的性能信息。优选地,步骤S2中所述集群性能均衡器平衡集群QoS设置的方法为:统计指定IO类型的机头数目,然后计算求均值。采用本专利技术的技术方案,无论客户端怎么和集群建立业务连接,无论业务IO怎么变化,均可做到QoS设置的合理分配。附图说明图1为本专利技术现有技术图;图2为本专利技术另一现有技术图;图3为本专利技术动态QoS配置的系统的原理图;图4为本专利技术动态QoS配置的方法的流程图。具体实施方式以下结合附图和具体实施例,对本专利技术进一步说明。参照图3,本专利技术提供一种集群块设备动态QoS配置的系统,包括:若干存储子模块;及与每一存储子模块对应配置的性能监控子模块、QoS子模块、集群性能均衡器;各性能监控子模块实时收集各节点的性能信息,将此实时传输给选举出来的集群性能均衡器,集群性能均衡器负责平衡集群QoS设置,并分配各节点的QoS设置;各QoS子模块接收选举出来的集群性能均衡器下发的QoS设置信息,将其应用到各节点。具体地,基于原有的集群块设备系统,对于每一节点的存储子模块,增加了一性能监控子模块、一QoS子模块、一集群性能均衡器,该架构中对于客户端(Client)不需要做任何改动,客户应用无感知。其中:性能监控子模块——实时收集当前节点的性能信息,包括但不局限于LUN读带宽、LUN读iops、LUN写带宽、LUN写iops、平均IO延时,每秒将信息实时传输到选举出来的集群性能均衡器。QoS子模块——负责接收集群性能均衡器下发的QoS设置信息,并应用到当前节点。集群性能均衡器——负责收集集群各个存储节点的性能数据,内部采用树状数据结构汇总集群范围内每个LUN的性能数据和每条链路的性能数据,每个存储节点都会运行一个集群性能均衡器,整个架构中集群性能均衡器起最关键作用,集群中的每个节点都会运行一个性能均衡器程序,同一时刻只有一个集群性能均衡器真正处于运行状态来为整个集群服务。设计多个是为了保证服务的高可靠性,当一个节点的宕机后,其它的集群性能均衡器会抢占服务,但只有一个集群性能均衡器能抢占成功。参考图3与图4,本专利技术还提供一种集群块设备动态QoS配置的方法,包括如下步骤:S1、各性能监控子模块实时收集各节点的性能信息;S2、选举出来的集群性能均衡器实时接收该性能信息,平衡集群QoS设置后形成各节点的QoS设置信息;S3、各QoS子模块接收对应QoS设置信息,将其应用到各节点。在步骤S2中,选举出来的集群性能均衡器负责平衡集群QoS设置与分配各个机头的QoS设置。QoS设置以LUN为单位进行管理,定义读带宽为rdkbps,读io次数为rdiops,写带宽为wrkbps,写io次数为wriops,可以对每个指标分别设置。较佳的实施例中,所述集群性能均衡器平衡集群QoS设置的方法为:统计指定IO类型的机头数目,然后计算求均值。下面具体介绍该均衡算法。假设在时刻t,LUN1有X个机头有写IO,Y个机头有读IO。则当前实时QoS计算方法为:表1机头临时QoS设置有读业务机头无读业务机头rdkbpsQos.rdkbps/X无限制rdiopsQos.rdiops/X无限制wrkbpsQos.wrkbps/Y无限制wriopsQos.wriops/Y无限制QoS均衡器采用了一种简单可依赖的算法,统计指定IO类型的机头数目,然后计算求均值。选择这个算法是因为大部分应用都是贪婪的,并不会特意的去节省存储负载占用。同时存储端对于业务类型无法预期,所以求均值也是一种保证公平的最佳方法。本专利技术中,QoS设置可以随着业务变更动态调整:(1)、时刻t机头有四种业务情况,分别是读、写、读-写、无读-无写;(2)、时刻t到t+1如果发生业务变更,变更情况有12种,如下表:表2T时刻T+1时刻读读-写读写读无读-无写写读-写写读写无读-无写读-写读读-写写读-写无读-无写无读-无写读无读-无写写无读-无写读-写均衡器会每3秒统计一次每个LUN在各个机头(集群中提供存储接入的节点)的业务情况。如果有机头业务情况出现变更,则会立刻重新计算临时QoS,并通知需要变更的机头采用新的QoS设置。这样设计最终的效果是无论客户端怎么和集群建立业务连接,无论业务IO怎么变化,总是能做到QoS设置的合理分配。以上所述仅为本专利技术的优选实施例,并非因此限制本专利技术的专利范围,凡是在本专利技术的专利技术构思本文档来自技高网...

【技术保护点】
1.一种集群块设备动态QoS配置的系统,其特征在于,包括:若干存储子模块;及与每一存储子模块对应配置的性能监控子模块、QoS子模块、集群性能均衡器;各性能监控子模块实时收集各节点的性能信息,将此实时传输给选举出来的集群性能均衡器,集群性能均衡器负责平衡集群QoS设置,并分配各节点的QoS设置;各QoS子模块接收选举出来的集群性能均衡器下发的QoS设置信息,将其应用到各节点。

【技术特征摘要】
1.一种集群块设备动态QoS配置的系统,其特征在于,包括:若干存储子模块;及与每一存储子模块对应配置的性能监控子模块、QoS子模块、集群性能均衡器;各性能监控子模块实时收集各节点的性能信息,将此实时传输给选举出来的集群性能均衡器,集群性能均衡器负责平衡集群QoS设置,并分配各节点的QoS设置;各QoS子模块接收选举出来的集群性能均衡器下发的QoS设置信息,将其应用到各节点。2.根据权利要求1所述的动态QoS配置的系统,其特征在于,所述集群性能均衡器采用树状数据结构汇总集群范围内每个LUN的性能信息和每条链路的性能信息。3.根据权利要求1所述的动态QoS配置的系统,其特征在于,所述性能信息包括LUN读带宽、LUN读iops、LUN写带宽、LUN写iops、平均IO延时。4.一种集群块设备动态QoS配置的方法...

【专利技术属性】
技术研发人员:刘毅
申请(专利权)人:深圳市瑞驰信息技术有限公司
类型:发明
国别省市:广东,44

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

1