一种分布式文件系统控制数据恢复速度的方法及装置制造方法及图纸

技术编号:27248339 阅读:55 留言:0更新日期:2021-02-04 12:23
本发明专利技术公开了一种分布式文件系统控制数据恢复速度的方法,使用Peering过程中发现的缺失数据的OSD来判断磁盘是否需要在数据恢复中写入数据。PG将缺失数据的OSD上报到Mon,Mon统计当前正在数据恢复的所有PG上报的OSD,来得到正在写入的磁盘数量。得到写入的磁盘数量后,计算数据恢复速度上限,和现有方案计算出的数据恢复速度上限相比较,取较小的值作为最终结果。通过上述方式,本发明专利技术能够在数据恢复过程中根据写入数据的磁盘数量动态调整数据恢复速度上限,减小磁盘写入压力。减小磁盘写入压力。减小磁盘写入压力。

【技术实现步骤摘要】
一种分布式文件系统控制数据恢复速度的方法及装置


[0001]本专利技术涉及分布式存储系统领域,特别是涉及一种分布式文件系统控制数据恢复速度的方法及装置。

技术介绍

[0002]分布式文件系统以分布式存储系统为基础,将文件转化为存储对象随机存储在集群底层的磁盘中。每个磁盘通过一个守护进程OSD来管理,OSD实现了数据读写、复制、平衡、恢复等功能。系统通过多副本或者纠删码产生的数据冗余来实现数据保护机制。当一个磁盘发生故障时,通过其他磁盘上的冗余数据将故障磁盘上的数据恢复到满足故障域要求的非故障磁盘上。这是数据恢复(或称数据重构,recovery/backfill)的一个基本场景,Recovery是数据恢复的意思,在某些语境下专指通过日志来恢复不一致对象;Backfill是指PG通过扫描和全量拷贝恢复缺失对象。除了磁盘故障,其他类型的集群拓扑结构变化,如集群扩容/缩容,也要通过对象的灵活迁移实现数据的平衡分布。
[0003]为了减少数据恢复对前端性能的影响,现有方案实现了对数据恢复速度的控制功能。该方案通过限定一个恢复周期可恢复的最大数据量和最大对象数来限制恢复速度。具体方法是根据集群规模计算出数据恢复速度的上限,即最大带宽,再根据最大带宽计算每个OSD的恢复速度。计算数据恢复速度上限的方法考虑到了集群规模等因素,使恢复速度上限和参与数据恢复的主OSD个数成正比,这样,集群规模越大,恢复速度越大。
[0004]然而,对于换盘或者扩容等场景,只有少量磁盘参与数据恢复的数据写入。在这些场景下,虽然参与数据恢复的OSD很多,但是只有新增磁盘在写入数据,这样计算出的数据恢复速度较大,使得写入磁盘压力过大。

技术实现思路

[0005]本专利技术主要解决的技术问题是提供一种分布式文件系统控制数据恢复速度的方法,按照数据恢复过程中写入的OSD数量来调整数据恢复速度上限,解决当前分布式文件系统在换盘等写入OSD很少的场景下磁盘压力过大影响前端业务的问题。
[0006]为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种分布式文件系统控制数据恢复速度的方法,包括:
[0007]S100,遍历放置组,查找并记录每个放置组内缺失数据的对象存储守护进程;
[0008]S200,统计当前正在数据恢复的放置组所要写入数据的对象存储守护进程个数;
[0009]S300,计算数据恢复速度上限;
[0010]S400,计算对象存储设备当前单位时间内可以恢复的基础数据量,当对象存储设备在一个恢复周期内恢复的数据量大于基础数据量,则改对象存储设备的所有放置组都不再新增数据恢复对象,直至下一个周期。
[0011]进一步,所述步骤S100具体包括以下步骤:
[0012]S101,在放置组根据日志检查各副本版本是否一致的过程中,查找缺失数据的对
象存储守护进程;
[0013]S102,通过查找到的缺失数据的对象存储守护进程判断磁盘是否需要在数据恢复中写入数据;
[0014]S103,放置组将缺失数据的对象存储守护进程上报到监视器守护进程。
[0015]进一步,所述步骤S200具体包括以下步骤:所述监视器守护进程统计当前正在数据恢复的所有放置组上报的对象存储守护进程,获得正在写入的磁盘数量。
[0016]进一步,所述步骤S300具体包括以下步骤:
[0017]S301,根据步骤S100和S200获得需要恢复的主对象存储守护进程数量m和需要写入的对象存储守护进程数量n;
[0018]S302,配置单个对象存储守护进程的数据恢复速度s和系数r,根据以下公式计算S1和S2:
[0019]S1=s*m,S2=s*n*r;
[0020]S303,比较S1和S2,取较小值作为数据恢复速度上限S。
[0021]进一步,所述步骤S400中的基础数据量的计算方法为:基础数据量等于对象存储设备需要恢复的存储对象数除以集群需要恢复的存储对象数再乘以数据恢复速度上限S。
[0022]进一步,所述放置组为PG,所述对象存储守护进程为OSD,所述放置组根据日志检查各副本版本是否一致的过程为Peering。
[0023]进一步,在Peering过后,PG查看Peering结果,Peering把该PG主OSD缺失的对象信息放到PG log的map中;判断该map不为空,则将该PG的主OSD计入该PG需要写入的OSD中;
[0024]Peering把从OSD缺失的对象信息放到peer_missing结构中,检查每个OSD的missing map是否为空,如果不为空,将该OSD计入该PG需要写入的OSD中;
[0025]在OSD层上报统计的信息,将每个PG需要写入的OSD信息加入到PGInfo中,OSD每隔一段时间上报一次该OSD上所有PG的PGInfo给监视器守护进程。
[0026]进一步,所述监视器守护进程收到上报的PGInfo后将其保存起来;所述监视器守护进程每隔一段时间遍历保存的PGInfo,若遍历到的PG处于recover或backfill状态,将其主OSD计入需要数据恢复的OSD,将该PG的PGInfo中保存的该PG需要写入的OSD计入集群需要写入的OSD;遍历结束后得到需要恢复的主OSD数量和需要写入的OSD数量。
[0027]一种分布式文件系统控制数据恢复速度的装置,包括处理器和存储器,所述存储器用于存储执行前述方法的程序;所述处理器被配置为用于执行所述存储器中存储的程序。
[0028]本专利技术的有益效果是:本专利技术优化了根据集群规模动态调整数据恢复速度上限的方法,可以使分布式文件系统集群的恢复速度和需要写入的磁盘数量正相关,避免实际写入磁盘很少时造成磁盘压力过大影响前端业务。
附图说明
[0029]图1是本专利技术一种分布式文件系统控制数据恢复速度的方法一较佳实施例的架构图。
具体实施方式
[0030]下面结合附图对本专利技术的较佳实施例进行详细阐述,以使本专利技术的优点和特征能更易于被本领域技术人员理解,从而对本专利技术的保护范围做出更为清楚明确的界定。
[0031]请参阅图1,本专利技术实施例包括:
[0032]一种分布式文件系统控制数据恢复速度的方法,使用Peering过程中发现的缺失数据的OSD来判断磁盘是否需要在数据恢复中写入数据。PG将缺失数据的OSD上报到Mon,Mon统计当前正在数据恢复的所有PG上报的OSD,来得到正在写入的磁盘数量。得到写入的磁盘数量后,计算数据恢复速度上限,和现有方案计算出的数据恢复速度上限相比较,取较小的值作为最终结果。这样计算出的结果可以避免写入的磁盘较少时这些磁盘写入压力过大而影响到前端业务。其中OSD全称Object-based Storage Device,意思是对象存储设备;PG全称Placement Group,意思是放置组,是用于放置对象的一个载体;Mon是Monitor集群的监视器守护进程;Peering指的是PG根据日本文档来自技高网
...

【技术保护点】

【技术特征摘要】
map是否为空,如果不为空,将该OSD计入该PG需要写入的OSD中;在OSD层上报统计的信息,将每个PG需要写入的OSD信息加入到PGInfo中,OSD每隔一段时间上报一次该OSD上所有PG的PGInfo给监视器守护进程。8.根据权利要求7所述的一种分布式文件系统控制数据恢复速度的方法,其特征在于:所述监视器守护进程收到上报的PGInfo后将其保存起来;所述监视器守护进程每隔一段时间遍历保存的PGInfo,若遍历到的P...

【专利技术属性】
技术研发人员:刘鑫孟祥瑞
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1