一种分布式存储系统的流控方法及装置制造方法及图纸

技术编号:20388968 阅读:39 留言:0更新日期:2019-02-20 02:29
本发明专利技术公开了一种分布式存储系统的流控方法及装置,其中,所述方法包括:在分布式存储系统中确定存在数据迁移的对象存储设备;获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。本申请提供的技术方案,能够提高流控的效率和精度。

【技术实现步骤摘要】
一种分布式存储系统的流控方法及装置
本专利技术涉及互联网
,特别涉及一种分布式存储系统的流控方法及装置。
技术介绍
随着互联网中数据量的不断增加,可以通过将多台服务器组成分布式存储系统,从而克服单台服务器存储容量有限的问题。当前常见的分布式存储系统例如可以包括TFS(TaobaoFileSystem,淘宝文件系统)、FastDFC、MooseFS、GlusterFS、Ceph等。目前,在分布式存储系统中可以通过内部数据迁移,来实现系统扩容并且增强系统的稳定性。内部数据迁移通常会消耗一定的磁盘IO(Input/Output,输入输出总线)资源,此外,系统在处理外部的用户请求时,也会消耗一定的磁盘IO资源。当内部数据迁移与外部业务请求同时触发时,会严重消耗磁盘的IO资源,从而导致外部的业务请求的响应速度变慢,甚至会使得业务请求失败。鉴于此,分布式存储系统通常会自带内部数据迁移速度的调控指令,当管理人员发现当前参与数据迁移的节点过多,可能会影响外部业务请求的处理效率时,可以通过人为输入调控指令的方式来降低数据的迁移速度。然而,这种通过人工处理的方式具备较低的效率,另外,管理人员在实际操作中也无法准确判断出最适合的迁移速度,从而导致通过调控指令调整后的迁移速度无法很好地适用于分布式存储系统,进而会降低分布式存储系统的整体性能。
技术实现思路
本申请的目的在于提供一种分布式存储系统的流控方法及装置,能够提高流控的效率和精度。为实现上述目的,本申请一方面提供一种分布式存储系统的流控方法,所述方法包括:在分布式存储系统中确定存在数据迁移的对象存储设备;获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。为实现上述目的,本申请另一方面还提供一种分布式存储系统的流控装置,所述装置包括:对象存储设备确定单元,用于在分布式存储系统中确定存在数据迁移的对象存储设备;信息获取单元,用于获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;流控事件确定单元,用于检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;速度调节单元,用于根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。为实现上述目的,本申请另一方面还提供一种分布式存储系统的流控装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。由上可见,本申请提供的技术方案,可以对分布式存储系统中的各个对象存储设备进行监控,并可以确定出当前存在数据迁移的对象存储设备。针对存在数据迁移的对象存储设备,可以获取该对象存储设备对应的磁盘的标准负载范围,并可以获取该对象存储设备当前的迁移速度参数。然后,可以检测磁盘当前实际的负载值,并将该负载值与上述的标准负载范围进行比较,从而判断负载值是否处于该标准负载范围内。根据比较结果,可以确定出该对象存储设备目前应当执行的流控事件。其中,该流控事件可以包括增速事件、减速事件或者不处理事件,分别对应提高迁移速度、降低迁移速度以及维持当前的迁移速度不变。最终,可以根据确定出的流控事件,对获取的该对象存储设备的迁移速度参数进行调整。由上可见,本申请提供的技术方案可以自动地对各个对象存储设备进行监控,并且可以针对单独地调整各个对象存储设备的迁移速度参数,不仅提高了流控的效率,还能提高流控的精度。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施方式中分布式存储系统的架构示意图;图2是本专利技术实施方式中分布式存储系统的流控方法步骤图;图3是本专利技术实施方式中OSD的监控示意图;图4是本专利技术实施方式中分布式存储系统的流控装置的功能模块示意图;图5是本专利技术实施方式中分布式存储系统的流控装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。请参阅图1,在现有的分布式存储系统中,可以具备多个存储节点,每个存储节点上可以分布多个对象存储设备(Object-basedStorageDevice,OSD),其中,各个OSD可以与存储节点上的磁盘一一对应,并且OSD中可以具备多个放置组(PlacementGroup,PG),PG可以作为分布式存储系统中最小的数据迁移单元,同一个PG可以在不同的OSD中进行备份存储,从而得到一个PG的多个副本。当分布式存储系统内部需要进行数据迁移时,可以在不同的OSD之间进行PG的迁移。本申请提供的分布式存储系统的流控方法,可以应用于分布式存储系统的各个OSD中。具体地,请参阅图2,所述方法可以包括以下步骤。S1:在分布式存储系统中确定存在数据迁移的对象存储设备。请参阅图3,在本实施方式中,在对分布式存储系统中的各个OSD进行监控前,可以预先通过分布式存储系统中的调控处理单元获取该分布式存储系统中处于工作状态的OSD的信息列表,然后,针对所述信息列表中的各个OSD,可以启动并发监控线程,每个OSD均可以对应一个并发监控线程。后续,可以通过所述并发监控线程按照指定时间间隔对OSD进行监控,从而控制OSD的数据迁移速度,避免由于内部数据迁移速度过快,导致过多占用磁盘IO。此外,还可以在磁盘IO相对空闲的时候,提高内部数据的迁移速度,以充分利用磁盘IO的空闲资源。在本实施方式中,调控处理单元通过并发监控线程监控各个OSD时,可以确定出当前存在数据迁移的OSD,从而控制这些存在数据迁移的OSD的数据迁移速度。具体地,调控处理单元可以通过各个并发监控线程,获取该分布式存储系统中各个PG当前的状态参数。所述PG在创建之后,可以通过各种状态参数来表征当前的运行状态。例如,状态参数为active可以表征该PG正在工作中,能正常处理来自客户端的读写请求。状态参数为inactive可以表征该PG不在工作中,不能正常处理来自客户端的读写请求。状态参数为clean可以表征该PG所包含的对象达到指定的副本数量,即对象的副本数量正常。状态参数为degraded可以表征主OSD没有收到副OSD的写完成应答。当然,在实际应用中还可以具备更多的状态参数,这里便不一一例举。在分布式存储系统中,调控处理单元可以通过并发监控线程下达状态查询指令,若各个PG的状态参数均表明PG处于正常工作状态,那么查询结果可以显示为health_ok(健康状态)。如果部分PG的状态参数表明PG当前存在异常,那么查询结果可以显示为health_warn(健康预警)。在本实施方式中,可以根据health_warn的结果列表,从所述分布式存储系统中筛选出状态参数异常的PG。然后,通过识别筛选出的各个PG实际的状态参数,从而可以从所述本文档来自技高网...

【技术保护点】
1.一种分布式存储系统的流控方法,其特征在于,所述方法包括:在分布式存储系统中确定存在数据迁移的对象存储设备;获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。

【技术特征摘要】
1.一种分布式存储系统的流控方法,其特征在于,所述方法包括:在分布式存储系统中确定存在数据迁移的对象存储设备;获取所述对象存储设备对应的磁盘的标准负载范围,并获取所述对象存储设备的迁移速度参数;检测所述磁盘的当前负载值,并将所述当前负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备目前应当执行的流控事件;根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数。2.根据权利要求1所述的方法,其特征在于,在分布式存储系统中确定存在数据迁移的对象存储设备包括:获取分布式存储系统中各个放置组当前的状态参数,并从所述分布式存储系统中筛选出状态参数异常的放置组;从所述状态参数异常的放置组中确定存在数据迁移的目标放置组,并将所述目标放置组所处的对象存储设备作为存在数据迁移的对象存储设备。3.根据权利要求1所述的方法,其特征在于,在分布式存储系统中确定存在数据迁移的对象存储设备包括:检测分布式存储系统中各个对象存储设备对应的磁盘负载值,并筛选出磁盘负载值处于标准负载范围之外的目标对象存储设备;在所述目标对象存储设备中检测是否存在数据迁移的放置组,若存在,将所述目标对象存储设备作为存在数据迁移的对象存储设备。4.根据权利要求1所述的方法,其特征在于,根据比较结果确定所述对象存储设备目前应当执行的流控事件包括:若所述当前负载值小于所述标准负载范围的下限值,确定所述对象存储设备目前应当执行的流控事件为增速事件;若所述当前负载值大于所述标准负载范围的上限值,确定所述对象存储设备目前应当执行的流控事件为减速事件;若所述当前负载值大于或者等于所述标准负载范围的下限值,并且小于或者等于所述标准负载范围的上限值,确定所述对象存储设备无需执行流控事件。5.根据权利要求1所述的方法,其特征在于,所述迁移速度参数按照参数区间进行划分,并且所述参数区间具备参数上调步长和参数下调步长。6.根据权利要求5所述的方法,其特征在于,根据确定的所述流控事件,调整所述对象存储设备的迁移速度参数包括:确定所述对象存储设备的迁移速度参数所处的目标参数区间;若所述流控事件为增速事件,按照所述目标参数区间的参数下调步长减少所述迁移速度参数;若所述流控事件为减速事件,按照所述目标参数区间的参数上调步长提高所述迁移速度参数。7.根据权利要求1或6所述的方法,其特征在于,在调整所述对象存储设备的迁移速度参数之后,所述方法还包括:再次检测所述磁盘在调整迁移速度参数之后的负载值,并将再次检测的所述负载值与所述标准负载范围进行比较,以根据比较结果确定所述对象存储设备在调整迁移速度参数之后应当执行的流控事件。8.根据权利要求1所述的方法,其特征在于,在根据比较结果确定所述对象存储设备目前应当执行的流控事件之后,所述方法还包括:读取所述对象存储设备上一次应当执行的流控事件,并判断所述上一次应当执行的流控事件与所述目前应当执行的流控事件是否为同一事件;若为同一事件,基于所述目前应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数;若不是同一事件,基于所述上一次应当执行的流控事件提高或者减少所述对象存储设备的迁移速度参数。9.根据权利要求8所述的方法,其特征在于,基于所述目前应当执行的流控事件提高...

【专利技术属性】
技术研发人员:梁伟林
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

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

1