《一种集群存储自动负载均衡的系统及方法.pdf》由会员分享,可在线阅读,更多相关《一种集群存储自动负载均衡的系统及方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102857577 A (43)申请公布日 2013.01.02 C N 1 0 2 8 5 7 5 7 7 A *CN102857577A* (21)申请号 201210359628.1 (22)申请日 2012.09.24 H04L 29/08(2006.01) (71)申请人北京联创信安科技有限公司 地址 100085 北京市海淀区上地三街9号金 隅嘉华大厦D座7层712号室 (72)发明人刘爱贵 (74)专利代理机构北京品源专利代理有限公司 11332 代理人马晓亚 (54) 发明名称 一种集群存储自动负载均衡的系统及方法 (57) 摘要 本发明公开了一种集群。
2、存储自动负载均衡的 系统及方法,该方法基于事件驱动机制实现集群 存储数据分布和容量负载均衡,具有完全自动化、 智能化、在线执行和并发执行的特点,负载均衡自 动化极大减少人工干预并降低系统管理复杂性, 满足集群存储系统动态扩展的弹性需求;在线执 行使得集群存储系统能够保持业务连续性;智能 化充分考虑系统当前工作负载,并据此对负载均 衡执行过程进行调度,最大减少负载均衡操作对 前端正常业务造成的影响;并发性能够最大化利 用集群的系统资源,实现高性能的负载均衡,有效 缩短执行时间。该方法使得集群存储的负载均衡 更加简单、高效、透明,保证了集群存储系统的高 性能、高的Qos服务质量和弹性扩展。 (51。
3、)Int.Cl. 权利要求书2页 说明书8页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 3 页 1/2页 2 1.一种集群存储自动负载均衡的系统,其特征在于,所述系统包括监控模块、触发动作 模块、信息同步模块、事件触发模块、负载信息计算模块、调度模块、数据布局修复模块和数 据迁移模块,所述监控模块与负载信息计算模块连接,所述事件触发模块分别与触发动作 模块和信息同步模块连接,所述负载信息计算模块分别与事件触发模块和调度模块连接, 所述事件触发模块与调度模块连接,所述调度模块分别与数据布局修复模块和数据迁移模 块连接,其中, 。
4、所述监控模块用于监控各存储节点的负载状态; 所述触发动作模块用于改变逻辑卷的状态,以触发自动负载均衡动作; 所述信息同步模块用于同步集群系统中负载均衡信息; 所述负载信息计算模块用于根据监控模块获取的各存储节点的负载状态计算系统负 载; 所述事件触发模块用于根据逻辑卷的状态变化判断是否启动指定卷的负载均衡操作, 并在启动指定卷的负载均衡操作时自动触发相应的负载不均衡事件; 所述调度模块用于根据触发的负载不均衡事件在线执行负载均衡调度; 所述数据布局修复模块用于根据调度模块的调度指令实现各存储节点数据的重新布 局; 所述数据迁移模块用于根据调度模块的调度指令并行迁移数据。 2.根据权利要求1所述。
5、的集群存储自动负载均衡的系统,其特征在于,所述事件触发 模块根据逻辑卷的状态变化自动判断是否启动特定卷的负载均衡操作包括,当监控模块监 控到集群存储系统增加或者删除存储节点,或者逻辑卷负载不均衡超过预设的阈值时,事 件触发模块启动指定卷的负载均衡操作,并自动触发逻辑卷负载不均衡事件。 3.根据权利要求1所述的集群存储自动负载均衡的系统,其特征在于,在指定卷启动 负载均衡操作时,所述调度模块还根据所述逻辑卷的系统负载情况控制负载均衡调度的启 动停止及负载均衡快慢状态间的切换。 4.根据权利要求5所述的集群存储自动负载均衡的系统,其特征在于,所述逻辑卷的 系统负载情况根据监控模块采集的CPU、内存。
6、、磁盘吞吐量和网络带宽占用量计算得到。 5.根据权利要求1所述的集群存储自动负载均衡的系统,其特征在于,所述数据迁移 模块根据调度模块的调度指令并行迁移数据包括,同时在多台服务器上并行迁移数据,及 每个服务器上同时迁移多个文件并根据迁移服务器的负载情况调整并行迁移文件的个数。 6.一种集群存储自动负载均衡的方法,其特征在于,包括, 监控各存储节点的负载状态,并根据获取的负载状态计算系统负载信息; 根据逻辑卷的状态变化判断是否启动指定卷的负载均衡操作,并在启动指定卷的负载 均衡操作时自动触发相应的负载不均衡事件; 根据触发的负载不均衡事件在线执行负载均衡调度。 7.根据权利要求6所述的集群存储自。
7、动负载均衡的方法,其特征在于,所述根据逻辑 卷的状态变化判断是否启动特定卷的负载均衡操作包括,当监控到集群存储系统增加或者 删除存储节点,或者逻辑卷负载不均衡超过预设的阈值时,启动指定卷的负载均衡操作,并 自动触发逻辑卷负载不均衡事件。 8.根据权利要求6所述的集群存储自动负载均衡的方法,其特征在于,在指定卷启动 权 利 要 求 书CN 102857577 A 2/2页 3 负载均衡操作时,将该卷加入到负载不均衡的卷队列中,根据触发的负载不均衡事件在线 执行负载均衡调度,包括, 步骤1:判断负载不均衡卷队列是否为空,如是,则执行步骤2;如否,则执行步骤3; 步骤2:等待触发事件,若事件到达,则。
8、执行步骤3;若事件未到达,则阻塞等待; 步骤3:获取负载不均衡卷队列的队首卷,执行该卷的负载均衡; 步骤4:判断该卷负载均衡是否成功,如是,则执行步骤5;如否,则执行步骤6; 步骤5:将该卷从负载不均衡卷队列中删除,执行步骤2; 步骤6:将该卷移到负载不均衡卷队列的尾部,执行步骤2。 9.根据权利要求6所述的集群存储自动负载均衡的方法,其特征在于,所述根据触发 的负载不均衡事件在线执行负载均衡调度的步骤包括,根据调度指令实现各存储节点数据 的重新布局及同时在多台服务器上并行迁移数据。 10.根据权利要求6所述的集群存储自动负载均衡的方法,其特征在于,所述根据触发 的负载不均衡事件在线执行负载均。
9、衡调度还包括,根据指定卷的系统负载情况控制负载均 衡调度的启动停止及负载均衡快慢状态间的切换,所述逻辑卷的系统负载信息情况根据监 控模块采集的CPU、内存、磁盘吞吐量和网络带宽占用量计算得到。 权 利 要 求 书CN 102857577 A 1/8页 4 一种集群存储自动负载均衡的系统及方法 技术领域 0001 本发明涉及集群存储管理技术领域,尤其涉及一种集群存储自动负载均衡的系统 及方法。 背景技术 0002 随着计算规模的扩大和新兴应用模式(如云计算、物联网)的出现,大数据应用与 日俱增。集群存储是一种横向扩展(Scale-out)的存储架构,具有容量和性能线性扩展的 优势。负载均衡是集群。
10、存储提供高性能的关键技术之一,能够保证集群高性能的稳定性和 高的QoS服务质量,并使得集群系统具备良好的弹性以适应集群的动态扩展。 0003 集群存储是一种开放式的存储架构,采用分布式的文件系统,将多台物理存储设 备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池(也 叫统一命名空间),通过该访问接口非常容易地管理存储池后端物理存储设备上所有的磁 盘,充分发挥存储设备的性能和磁盘利用率。数据将按照一定的负载均衡策略从多台存储 设备上存储和读取,以获得更高的存储性能。集群存储通过分布式文件系统的作用,会在前 端访问和后端存储都实现负载均衡。前端访问集群存储的操作,通过负载。
11、均衡策略将访问 分散到集群存储的各个存储节点上,大大减轻了每个节点的负载;后端存储的负载均衡,通 过开放式的架构和后端网络,数据会分布在所有节点上进行存放和读取。本文中负载均衡 专指后端存储的负载均衡,每个读写操作都由更多的节点参与,大大提高读写操作的性能。 0004 分布式存储可以通过软件技术整合利用众多低廉的存储设备来支撑海量的存储。 由于服务器之间的资源利用率经常不同、以及集群中经常动态的增删服务器,导致服务器 的数据分布不均衡。而数据的均衡分布是提供高效服务的关键之一,分布式文件系统作为 分布式存储的核心,其数据的再均衡处理(Data-Rebalance)显得至关重要。 0005 高端。
12、商业集群存储都有自己Data-Rebalance功能,这已然成为了商业集群存储 系统不可或缺的标准功能之一,诸如Isilon、Infortrend等。其中Isilon的核心文件系统 OneFS的AutoBalance功能模块,实现了自动数据负载均衡。系统后台根据忙闲程度,自动 的发起Data Rebalance操作,占用很少系统资源,不影响上层客户端的访问应用,不需要任 何人工干预,也不要需要客户端多任何操作。 0006 开源分布式文件系统中也大多有简易的Data-Rebalance功能,例如Glusterfs、 MooseFS、Lustre、Hadoop/HDFS等。GlusterFS是Sc。
13、ale-Out存储解决方案Gluster的核心, 它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储 容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存 储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间 设计,可为各种不同的数据负载提供优异的性能。 0007 ESVA是一个块级的集群存储系统,通过Scale-out架构来实现集群存储容量与性 能线性增长,并实现负载均衡。ESVA充分使用容量,同时可以确保用户最好地利用存储处理 能力。在ESVA的scale-out架构中,。
14、无需任何手动操作就可以轻松实现性能优化。当主机 说 明 书CN 102857577 A 2/8页 5 端向存储池发出一个写请求,其组成数据块将以一种平衡的方式分派给各成员存储系统。 图1为现有技术中集群存储负载均衡的示意图。如图1所示,一个写请求由6个数据块组 成,数据块均匀分布在2个成员存储系统中,每个成员系统有3个数据块;当一个新成员存 储系统被加入,数据块将被迁移确保所有成员平均负载,每个成员负载2个数据块。用户添 加或删除磁盘阵列系统使配置发生了变化,现有的数据将被迁移以确保负载平衡,优化的 状态仍将保持,自动的、连续的负载平衡能够充分利用性能,提高生产力。 0008 上述主流的集群存。
15、储系统基本都支持负载均衡功能,以保持集群各节点的数据分 布和容量基本均衡,但现有的负载均衡技术在某些方面也存在不足:1)手动执行,需要由管 理员择机进行操作,无法实现自动执行;2)离线执行,进行负载均衡时需要集群系统暂停服 务,造成业务中断;3)影响前端性能,执行时未考虑各节点工作负载,容易导致系统过载,影 响正常业务访问;4)单节点执行,由某个节点负责执行负载均衡,无法做到并发执行,性能 低下并且耗时较长。 0009 由于集群存储系统设计复杂性和需求的不同,商业和开源解决方案在负载均衡功 能实现上均有所取舍,亟需一种能够实现自动化、智能化、在线和并发执行的集群存储负载 均衡处理策略。 发明内。
16、容 0010 本发明所要解决的技术问题在于提供一种集群存储自动负载均衡的系统及方法, 以实现完全自动化、智能化、在线和并发性的集群存储负载均衡处理策略。 0011 为达到上述目的,本发明是通过以下技术方案来实现的: 0012 一种集群存储自动负载均衡的系统,所述系统包括监控模块、触发动作模块、信息 同步模块、事件触发模块、负载信息计算模块、调度模块、数据布局修复模块和数据迁移模 块,所述监控模块与负载信息计算模块连接,所述事件触发模块分别与触发动作模块和信 息同步模块连接,所述负载信息计算模块分别与事件触发模块和调度模块连接,所述事件 触发模块与调度模块连接,所述调度模块分别与数据布局修复模块。
17、和数据迁移模块连接, 其中, 0013 所述监控模块用于监控各存储节点的负载状态; 0014 所述触发动作模块用于改变逻辑卷的状态,以触发自动负载均衡动作; 0015 所述信息同步模块用于同步集群系统中负载均衡信息; 0016 所述负载信息计算模块用于根据监控模块获取的各存储节点的负载状态计算系 统负载; 0017 所述事件触发模块用于根据逻辑卷的状态变化判断是否启动指定卷的负载均衡 操作,并在启动指定卷的负载均衡操作时自动触发相应的负载不均衡事件; 0018 所述调度模块用于根据触发的负载不均衡事件在线执行负载均衡调度; 0019 所述数据布局修复模块用于根据调度模块的调度指令实现各存储节点。
18、数据的重 新布局; 0020 所述数据迁移模块用于根据调度模块的调度指令并行迁移数据。 0021 进一步地,所述事件触发模块根据逻辑卷的状态变化判断是否启动特定卷的负载 均衡操作包括,当监控模块监控到集群存储系统增加或者删除存储节点,或者逻辑卷负载 说 明 书CN 102857577 A 3/8页 6 不均衡超过预设的阈值时,事件触发模块启动指定卷的负载均衡操作,并自动触发逻辑卷 负载不均衡事件。 0022 进一步地,在指定卷启动负载均衡操作时,所述调度模块还根据所述逻辑卷的系 统负载情况控制负载均衡调度的启动停止及负载均衡快慢状态间的切换。 0023 进一步地,所述逻辑卷的系统负载信息情况根。
19、据监控模块采集的CPU、内存、磁盘 吞吐量和网络带宽占用量计算得到。 0024 进一步地,所述数据迁移模块根据调度模块的调度指令并行迁移数据包括,同时 在多台服务器上并行迁移数据,及每个服务器上同时迁移多个文件并根据迁移服务器的负 载情况调整并行迁移文件的个数。 0025 相应地,本发明还公开一种集群存储自动负载均衡的方法,包括, 0026 监控各存储节点的负载状态,并根据获取的负载状态计算系统负载信息; 0027 根据逻辑卷的状态变化判断是否启动指定卷的负载均衡操作,并在启动指定卷的 负载均衡操作时自动触发相应的负载不均衡事件; 0028 根据触发的负载不均衡事件在线执行负载均衡调度。 00。
20、29 进一步地,所述根据逻辑卷的状态变化判断是否启动特定卷的负载均衡操作包 括,当监控到集群存储系统增加或者删除存储节点,或者逻辑卷负载不均衡超过预设的阈 值时,启动指定卷的负载均衡操作,并自动触发逻辑卷负载不均衡事件。 0030 进一步地,在指定卷启动负载均衡操作时,将该卷加入到负载不均衡的卷队列中, 根据触发的负载不均衡事件在线执行负载均衡调度,包括, 0031 步骤1:判断负载不均衡卷队列是否为空,如是,则执行步骤2;如否,则执行步骤 3; 0032 步骤2:等待触发事件,若事件到达,则执行步骤3;若事件未到达,则阻塞等待; 0033 步骤3:获取负载不均衡卷队列的队首卷,执行该卷的负载。
21、均衡; 0034 步骤4:判断该卷负载均衡是否成功,如是,则执行步骤5;如否,则执行步骤6; 0035 步骤5:将该卷从负载不均衡卷队列中删除,执行步骤2; 0036 步骤6:将该卷移到负载不均衡卷队列的尾部,执行步骤2。 0037 进一步地,所述根据触发的负载不均衡事件在线执行负载均衡调度的步骤包括, 根据调度指令实现各存储节点数据的重新布局及同时在多台服务器上并行迁移数据。 0038 进一步地,所述根据触发的负载不均衡事件在线执行负载均衡调度还包括,根据 指定卷的系统负载情况控制负载均衡调度的启动停止及负载均衡快慢状态间的切换,所述 逻辑卷的系统负载信息情况根据监控模块采集的CPU、内存、。
22、磁盘吞吐量和网络带宽占用量 计算得到。 0039 本发明的技术方案,基于事件驱动机制实现集群存储数据分布和容量负载均衡, 具有完全自动化、智能化、在线执行和并发执行的特点。自动化使得集群存储系统及时地 执行负载均衡,保证系统更多时间内处于相对均衡状态,从而使得前端数据访问负载可以 均衡地分散到后端各个节点上,极大减少人工干预并降低系统管理复杂性,提高集群存储 系统的性能、吞吐量和QoS服务质量,满足集群存储系统动态扩展的弹性需求;智能化使得 前端业务频繁访问集群存储逻辑卷数据时,系统能自动调慢或者暂停该卷上的负载均衡操 作,从而不影响前端业务的数据访问;而在前端业务访问较轻时,又能重新启动并加。
23、快逻辑 说 明 书CN 102857577 A 4/8页 7 卷上的数据迁移工作使之能尽快达到平衡状态;在线执行使得集群存储系统不需要暂停服 务进行负载均衡,保持业务连续性;并行执行,最大化利用集群的系统资源,实现高性能的 负载均衡,有效缩短执行时间。该方法使得集群存储的负载均衡更加简单、高效、透明,保证 了集群存储系统的高性能、高的Qos服务质量和弹性扩展。 附图说明 0040 图1为现有技术中集群存储负载均衡系统示意图; 0041 图2为本发明实施例的集群存储自动负载均衡的系统结构框图; 0042 图3为本发明实施例的事件触发模块执行过程的流程图; 0043 图4为本发明实施例的调度模块执。
24、行过程的流程图; 0044 图5为本发明实施例的数据迁移模块执行过程的流程图; 0045 图6为本发明实施例的集群存储自动负载均衡的方法流程图。 具体实施方式 0046 下面结合附图和实施例对本发明作进一步说明。 0047 图2为本发明实施例的集群存储自动负载均衡的系统结构框图。如图2所示,整个 系统包括监控模块201、触发动作模块202、信息同步模块203、事件触发模块204、负载信息 计算模块205、调度模块206、数据布局修复模块207和数据迁移模块208,所述事件触发模 块204、负载信息计算模块205、调度模块206、数据布局修复模块207和数据迁移模块208 构成整个系统的核心。所。
25、述监控模块201与负载信息计算模块205连接,所述事件触发模 块204分别与触发动作模块202和信息同步模块203连接,所述负载信息计算模块205分 别与事件触发模块204和调度模块206连接,所述事件触发模块204与调度模块206连接, 所述调度模块206分别与数据布局修复模块207和数据迁移模块208连接。其中,监控模 块201用于监控各存储节点的负载状态,如整个系统中所有逻辑卷的使用情况,所有服务 器的CPU、内存、磁盘吞吐量和网络带宽占用量等系统负载,为负载信息计算模块计算系统 负载提供原始数据;触发动作模块202是触发自动负载均衡操作的入口之一,通过改变逻 辑卷的状态触发自动负载均衡。
26、动作,如向集群存储系统中增加/删除节点等;信息同步模 块203用于实现整个集群系统中自动负载均衡相关信息的通信与同步,包括整个系统中服 务器的状态、负载等信息同步,使事件触发模块204根据不同的信息状况触发相应的负载 均衡操作;事件触发模块204用于根据逻辑卷的状态变化判断是否启动指定卷的负载均衡 操作,并在启动指定卷的负载均衡操作时自动触发相应的负载不均衡事件,包括根据系统 中卷状态,服务器状态以及负载文件变化触发相应的负载不均衡事务件;负载信息计算模 块205用于根据监控模块获取的各存储节点的负载状态计算系统负载信息,判断逻辑卷的 负载状况;调度模块206用于根据触发的负载不均衡事件在线执。
27、行负载均衡调度,调度模 块是实现数据再均衡(卷的状态变化引起)以及负载均衡执行的调度器,依据卷的状态和系 统负载判定该卷负载均衡操作的启动停止以及负载均衡快慢状态间的相互切换;数据布局 修复模块207用于根据调度模块的调度指令对集群存储中各节点数据重新布局,为后期的 数据迁移模块的数据迁移做好准备;数据迁移模块208根据调度模块的调度指令并行迁移 数据。 说 明 书CN 102857577 A 5/8页 8 0048 其中,系统根据逻辑卷的状态变化自动判断是否启动特定卷的负载均衡操作。自 动负载均衡主要是指在集群存储系统逻辑卷增加/删除存储节点(bricks)成功后,或者 卷内存储节点(bri。
28、cks)容量超过预设的不均衡阈值时,系统能自动地启动数据负载均衡操 作。 0049 本发明实施例中,系统的监控模块能监控到使用中的逻辑卷中各个存储节 点(brick)的磁盘剩余量变化。当磁盘剩余量不平衡时,系统自动启动数据负载均衡 Data-Rebalance操作,经过数据重新布局修复及数据迁移,使得逻辑卷中各个存储节点 (brick)的磁盘剩余量变得均衡。当在使用中的逻辑卷增加存储节点(bricks)时,新增 加的存储节点(bricks)没有任何数据,即没有任何负载导致资源浪费,而原有的存储节 点(bricks)则因为数据太多而负载过重,集群存储系统能监控到系统增加了存储节点后 bricks。
29、,能自动启动Data-Rebalance操作进行数据迁移,使得整个逻辑卷中所有存储节点 bricks上的数据分布均衡。同理,当逻辑卷删除存储节点时,被删除存储节点上的负载通过 自动负载均衡操作进行数据迁移,使整个逻辑卷中所有存储节点上的数据分布均衡。其中, 逻辑卷负载不均衡阈值可根据实际情况进行设置,如设超过卷容量的75%,即自动触发负载 均衡操作。 0050 该系统负载均衡能够实现智能化,集群存储系统收集每个节点的状态,计算CPU、 内存、磁盘吞吐量和网络带宽占用量等系统负载,并根据服务器状态和负载智能的选择合 适的服务器,动态的调整Data-Rebalance操作的快慢和启停。其中,监控模。
30、块能够监控到 整个系统中所有逻辑卷的使用情况,包括每个逻辑卷是否增加/删除了存储节点bricks, 以及卷中bricks磁盘剩余量的均衡,从而判断是否需要启动该卷的Data-Rebalance操作。 在逻辑卷启动了Data-Rebalance操作后,系统能根据监控到的所有服务器的CPU、内存、磁 盘吞吐量和网络带宽占用量等系统负载,判断出逻辑卷的负载状况,并根据逻辑卷的负载 调整该卷数据迁移的启停和快慢。比如在上层频繁访问该逻辑卷中数据时,系统能自动调 慢或者暂停该卷上的Data-Rebalance操作,从而不影响上层的数据访问;而在上层访问较 轻时,又能重新启动并加快该卷上的数据迁移工作使之。
31、能尽快达到平衡状态。 0051 本实施例能够实现在线负载均衡功能,即集群存储系统可以在对外提供正常数据 访问服务的同时,进行节点之间的数据迁移使得容量达到均衡状态。在线执行使得集群存 储系统不需要暂停服务进行负载均衡,保持业务连续性。在线执行要求在进行数据迁移时 监控文件的访问情况,如果文件已经打开进行读写操作,则需要推迟该文件的迁移,等到下 次负载均衡时并且处于未打开状态时执行。 0052 并发执行功能,集群存储系统能同时在多台服务器上并行的进行数据的迁移工 作。本集群存储系统上所有逻辑卷上的数据迁移工作都是由整个逻辑卷中所有服务器同时 进行的,每个服务器负责一部分数据的迁移工作,较其他文件。
32、系统中仅单机进行数据迁移 迅速。此外,每个服务器上可以同时迁移多个文件而不冲突,且在迁移过程中会自动根据系 统中迁移服务器的负载而调整并行迁移的文件个数,从而能充分应用系统资源又不影响上 层的数据访问。 0053 本发明采用的集群存储自动负载均衡的系统是一种适用于非结构化数据应用环 境的高性能海量集群NAS系统。通过分布式的Scale-out的集群体系架构,能够实现32PB 的系统规模、高达100GB/S带宽,1000K并发OPS,并能够实现动态的容量及性能扩展、卓越 说 明 书CN 102857577 A 6/8页 9 的系统高可用性。该系统借助虚拟化和并行化的卷组、文件系统资源管理,构建大。
33、规模、高 性能、动态可扩展的共享存储架构;同时支持丰富的高级数据管理功能,可扩展实现存储、 备份、归档及容灾的复合数据管理需求。作为面向云存储和大数据的高性能集群存储系统, 该系统能够满足云计算/云存储系统必备的弹性扩展特征,能够实现自动负载均衡功能。 0054 图3为本发明实施例的事件触发模块执行过程的流程图。事件触发模块是整个负 载均衡过程的总调度者,负责负载均衡的事件触发和自动执行调度。它是一个常驻守护进 程(Daemon),基于事件驱动机制实现,集群存储系统所有节点启动时自动启动该守护进程。 事件触发模块维护一个负载处于不均衡的卷队列(rbqueue),当使用集群存储管理工具增 加或删。
34、除节点,或者探测到卷容量超过预先设置的不均衡阈值时,则把该卷加入到该负载 不均衡卷队列rbqueue中,并触发调度事件。负载不均衡事件触发后,事件触发模块将启动 调度(scheduler)模块,从负载不均衡卷队列rbqueue中取得队首卷执行自动负载均衡。如 图3所示,事件触发模块执行过程如下: 0055 步骤301:事件触发模块启动,判断负载不均衡卷队列是否为空,如是,则执行步 骤302;如否,则执行步骤303; 0056 步骤302:等待触发事件,若事件到达,则执行步骤303;若事件未到达,则阻塞等 待; 0057 步骤303:获取不均衡卷队列队首卷,启动调度模块,执行该卷的负载均衡; 0。
35、058 步骤304:判断负载均衡是否成功,如是,则执行步骤305;如否,则执行步骤306; 0059 步骤305:将该卷从不均衡卷队列中删除,执行步骤302; 0060 步骤306:将该卷移到不均衡卷队列的尾部,执行步骤302。 0061 图4为本发明实施例的调度模块执行过程的流程图。调度模块是指定卷执行自动 负载均衡的调度器,负责负载均衡过程中的数据重新布局和数据迁移任务的调度工作,并 根据各个集群节点的活动状态和负载状态不断调整负载均衡的启停和快慢,保证整个集群 存储系统中所有卷负载均衡的自动化和公平性,并尽量减少对前端业务正常访问的影响。 如图4所示,当系统中某个逻辑卷需要执行Data-。
36、Rebalance操作时,调度模块执行过程如 下: 0062 步骤401:逻辑卷中所有存储节点(bricks)涉及到的服务器的调度程序 (scheduler)依据竞争机制,共同选举出该逻辑卷的Master服务器,其余服务器则作为 Slave服务器; 0063 步骤402:Master服务器的scheduler依据整个系统的负载状况判断数据负载均 衡Data-Rebalance操作是否能执行,如是,则执行步骤403,;如否,则执行步骤409; 0064 其中,Master服务器的scheduler将该逻辑卷的迁移任务划分为数据布局修复 Fix-layout和数据迁移Migrate-data两个步。
37、骤进行。 0065 步骤403:该逻辑卷执行数据负载均衡,在系统负载处于预先设定的阈值范围内 的情况下,Master服务器的scheduler根据各个服务器的负载情况分配数据重布局任务 (Fix-layout)t1到所有Slave节点; 0066 步骤404:Slave服务器的scheduler根据分配到的数据重布局任务t1,进行并发 执行; 0067 步骤405:判断数据重布局任务t1是否完成,如是,则执行步骤406,如否,则执行 说 明 书CN 102857577 A 7/8页 10 步骤409; 0068 步骤406:Master服务器的scheduler根据各个服务器的负载情况分配分配。
38、数据 迁移任务t2到所有Slave节点; 0069 步骤407:Slave服务器的scheduler根据分配到的数据迁移任务t2,进行并发执 行; 0070 步骤408:判断数据迁移任务t2是否完成,如是,则执行步骤409,如否,则执行步 骤409; 0071 步骤409:Master服务器的scheduler与事件触发模块通信,通过事件机制触发下 一个逻辑卷的Data-Rebalance操作。 0072 其中,数据重布局(Fix-Layout)的任务相对简单快速,在数据重新布局修复的操 作中,scheduler不进行任何控制。数据迁移的任务涉及到大量数据的读写操作,为避免对 上层访问产生影响。
39、,scheduler将依据负载信息计算模块(calculator)计算的服务器的负 载信息来判断本机并行数据迁移量。 0073 集群存储系统负载信息计算模块收集每个节点的状态,计算CPU、内存、磁盘吞吐 量和网络带宽占用量等系统负载,并根据服务器状态和负载智能的选择合适的服务器,智 能动态的调整负载均衡的快慢和启停。 0074 图5为本发明实施例的数据迁移模块执行过程的流程图。如图5所示,数据迁移 模块的执行流程如下: 0075 步骤501:根据各个服务器的负载情况判断是否分配数据迁移任务,如是,执行步 骤502;如否,则结束该进程; 0076 步骤502:监控文件的访问情况,判断是否进行负载。
40、均衡操作,如是,则执行步骤 503;如否,则执行步骤506; 0077 步骤503:判断待迁移数据是否正在被前端业务打开访问,如是,则执行步骤504; 如否,则执行步骤505; 0078 步骤504:推迟当前文件的迁移,等到下次负载均衡时并且文件处于未打开状态 时执行数据迁移; 0079 步骤505:并行迁移数据; 0080 步骤506:调整并发量,等待下一个数据迁移任务,执行步骤501。 0081 图6为本发明实施例的集群存储自动负载均衡的方法流程图。如图6所示,该方 法包括: 0082 监控各存储节点的负载状态,并根据获取的负载状态计算系统负载信息; 0083 根据逻辑卷的状态变化判断是否。
41、启动指定卷的负载均衡操作,并在启动指定卷的 负载均衡操作时自动触发相应的负载不均衡事件; 0084 根据触发的负载不均衡事件在线执行负载均衡调度。 0085 所述根据逻辑卷的状态变化判断是否启动特定卷的负载均衡操作包括,当监控到 集群存储系统增加或者删除存储节点,或者逻辑卷负载不均衡超过预设的阈值时,启动指 定卷的负载均衡操作,并自动触发逻辑卷负载不均衡事件。 0086 所述根据触发的负载不均衡事件在线执行负载均衡调度的步骤包括,根据调度指 令实现各存储节点数据的重新布局及同时在多台服务器上并行迁移数据。 说 明 书CN 102857577 A 10 8/8页 11 0087 所述根据触发的负。
42、载不均衡事件在线执行负载均衡调度还包括,根据指定卷的系 统负载情况控制负载均衡调度的启动停止及负载均衡快慢状态间的切换,所述逻辑卷的系 统负载信息情况根据监控模块采集的CPU、内存、磁盘吞吐量和网络带宽占用量计算得到。 0088 本发明的技术方案,基于事件驱动机制实现集群存储负载均衡,具有完全自动化、 智能化、在线执行和并发执行的特点。自动化使得集群存储系统及时地执行负载均衡,保证 系统更多时间内处于相对均衡状态,从而使得前端数据访问负载可以均衡地分散到后端各 个节点上,提高集群存储系统的性能、吞吐量和QoS服务质量。负载均衡自动化,可以极大 减少人工干预并降低系统管理复杂性,满足集群存储系统。
43、动态扩展的弹性需求。智能化使 得前端业务频繁访问集群存储逻辑卷数据时,系统能自动调慢或者暂停该卷上的负载均衡 操作,从而不影响前端业务的数据访问;而在前端业务访问较轻时,又能重新启动并加快逻 辑卷上的数据迁移工作使之能尽快达到平衡状态。在线执行使得集群存储系统不需要暂停 服务进行负载均衡,保持业务连续性。并行执行,最大化利用集群的系统资源,实现高性能 的负载均衡,有效缩短执行时间。 0089 以上实施例提供的技术方案中的全部或部分内容可以通过程序来指令相关的硬 件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下 步骤:(上述方法的步骤),所述的存储介质,如:ROM/RAM、磁碟、光盘等。 0090 上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本技术领域的技术人 员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围 内。 说 明 书CN 102857577 A 11 1/3页 12 图1 图2 说 明 书 附 图CN 102857577 A 12 2/3页 13 图3 图4 说 明 书 附 图CN 102857577 A 13 3/3页 14 图5 图6 说 明 书 附 图CN 102857577 A 14 。