CN112306750B - 一种分布式文件系统控制数据恢复速度的方法及装置 - Google Patents
一种分布式文件系统控制数据恢复速度的方法及装置 Download PDFInfo
- Publication number
- CN112306750B CN112306750B CN202011181614.6A CN202011181614A CN112306750B CN 112306750 B CN112306750 B CN 112306750B CN 202011181614 A CN202011181614 A CN 202011181614A CN 112306750 B CN112306750 B CN 112306750B
- Authority
- CN
- China
- Prior art keywords
- osd
- data
- object storage
- data recovery
- written
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式文件系统控制数据恢复速度的方法,使用Peering过程中发现的缺失数据的OSD来判断磁盘是否需要在数据恢复中写入数据。PG将缺失数据的OSD上报到Mon,Mon统计当前正在数据恢复的所有PG上报的OSD,来得到正在写入的磁盘数量。得到写入的磁盘数量后,计算数据恢复速度上限,和现有方案计算出的数据恢复速度上限相比较,取较小的值作为最终结果。通过上述方式,本发明能够在数据恢复过程中根据写入数据的磁盘数量动态调整数据恢复速度上限,减小磁盘写入压力。
Description
技术领域
本发明涉及分布式存储系统领域,特别是涉及一种分布式文件系统控制数据恢复速度的方法及装置。
背景技术
分布式文件系统以分布式存储系统为基础,将文件转化为存储对象随机存储在集群底层的磁盘中。每个磁盘通过一个守护进程OSD来管理,OSD实现了数据读写、复制、平衡、恢复等功能。系统通过多副本或者纠删码产生的数据冗余来实现数据保护机制。当一个磁盘发生故障时,通过其他磁盘上的冗余数据将故障磁盘上的数据恢复到满足故障域要求的非故障磁盘上。这是数据恢复(或称数据重构,recovery/backfill)的一个基本场景,Recovery是数据恢复的意思,在某些语境下专指通过日志来恢复不一致对象;Backfill是指PG通过扫描和全量拷贝恢复缺失对象。除了磁盘故障,其他类型的集群拓扑结构变化,如集群扩容/缩容,也要通过对象的灵活迁移实现数据的平衡分布。
为了减少数据恢复对前端性能的影响,现有方案实现了对数据恢复速度的控制功能。该方案通过限定一个恢复周期可恢复的最大数据量和最大对象数来限制恢复速度。具体方法是根据集群规模计算出数据恢复速度的上限,即最大带宽,再根据最大带宽计算每个OSD的恢复速度。计算数据恢复速度上限的方法考虑到了集群规模等因素,使恢复速度上限和参与数据恢复的主OSD个数成正比,这样,集群规模越大,恢复速度越大。
然而,对于换盘或者扩容等场景,只有少量磁盘参与数据恢复的数据写入。在这些场景下,虽然参与数据恢复的OSD很多,但是只有新增磁盘在写入数据,这样计算出的数据恢复速度较大,使得写入磁盘压力过大。
发明内容
本发明主要解决的技术问题是提供一种分布式文件系统控制数据恢复速度的方法,按照数据恢复过程中写入的OSD数量来调整数据恢复速度上限,解决当前分布式文件系统在换盘等写入OSD很少的场景下磁盘压力过大影响前端业务的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种分布式文件系统控制数据恢复速度的方法,包括:
S100,遍历放置组,查找并记录每个放置组内缺失数据的对象存储守护进程;
S200,统计当前正在数据恢复的放置组所要写入数据的对象存储守护进程个数;
S300,计算数据恢复速度上限;
S400,计算对象存储设备当前单位时间内可以恢复的基础数据量,当对象存储设备在一个恢复周期内恢复的数据量大于基础数据量,则改对象存储设备的所有放置组都不再新增数据恢复对象,直至下一个周期。
进一步,所述步骤S100具体包括以下步骤:
S101,在放置组根据日志检查各副本版本是否一致的过程中,查找缺失数据的对象存储守护进程;
S102,通过查找到的缺失数据的对象存储守护进程判断磁盘是否需要在数据恢复中写入数据;
S103,放置组将缺失数据的对象存储守护进程上报到监视器守护进程。
进一步,所述步骤S200具体包括以下步骤:所述监视器守护进程统计当前正在数据恢复的所有放置组上报的对象存储守护进程,获得正在写入的磁盘数量。
进一步,所述步骤S300具体包括以下步骤:
S301,根据步骤S100和S200获得需要恢复的主对象存储守护进程数量m和需要写入的对象存储守护进程数量n;
S302,配置单个对象存储守护进程的数据恢复速度s和系数r,根据以下公式计算S1和S2:
S1=s*m,S2=s*n*r;
S303,比较S1和S2,取较小值作为数据恢复速度上限S。
进一步,所述步骤S400中的基础数据量的计算方法为:基础数据量等于对象存储设备需要恢复的存储对象数除以集群需要恢复的存储对象数再乘以数据恢复速度上限S。
进一步,所述放置组为PG,所述对象存储守护进程为OSD,所述放置组根据日志检查各副本版本是否一致的过程为Peering。
进一步,在Peering过后,PG查看Peering结果,Peering把该PG主OSD缺失的对象信息放到PG log的map中;判断该map不为空,则将该PG的主OSD计入该PG需要写入的OSD中;
Peering把从OSD缺失的对象信息放到peer_missing结构中,检查每个OSD的missing map是否为空,如果不为空,将该OSD计入该PG需要写入的OSD中;
在OSD层上报统计的信息,将每个PG需要写入的OSD信息加入到PGInfo中,OSD每隔一段时间上报一次该OSD上所有PG的PGInfo给监视器守护进程。
进一步,所述监视器守护进程收到上报的PGInfo后将其保存起来;所述监视器守护进程每隔一段时间遍历保存的PGInfo,若遍历到的PG处于recover或backfill状态,将其主OSD计入需要数据恢复的OSD,将该PG的PGInfo中保存的该PG需要写入的OSD计入集群需要写入的OSD;遍历结束后得到需要恢复的主OSD数量和需要写入的OSD数量。
一种分布式文件系统控制数据恢复速度的装置,包括处理器和存储器,所述存储器用于存储执行前述方法的程序;所述处理器被配置为用于执行所述存储器中存储的程序。
本发明的有益效果是:本发明优化了根据集群规模动态调整数据恢复速度上限的方法,可以使分布式文件系统集群的恢复速度和需要写入的磁盘数量正相关,避免实际写入磁盘很少时造成磁盘压力过大影响前端业务。
附图说明
图1是本发明一种分布式文件系统控制数据恢复速度的方法一较佳实施例的架构图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
请参阅图1,本发明实施例包括:
一种分布式文件系统控制数据恢复速度的方法,使用Peering过程中发现的缺失数据的OSD来判断磁盘是否需要在数据恢复中写入数据。PG将缺失数据的OSD上报到Mon,Mon统计当前正在数据恢复的所有PG上报的OSD,来得到正在写入的磁盘数量。得到写入的磁盘数量后,计算数据恢复速度上限,和现有方案计算出的数据恢复速度上限相比较,取较小的值作为最终结果。这样计算出的结果可以避免写入的磁盘较少时这些磁盘写入压力过大而影响到前端业务。其中OSD全称Object-based Storage Device,意思是对象存储设备;PG全称Placement Group,意思是放置组,是用于放置对象的一个载体;Mon是Monitor集群的监视器守护进程;Peering指的是PG根据日志来检查各副本版本是否一致的过程。
具体实施过程如下:
1、在PG层统计需要写入数据恢复数据的OSD;在Peering过后,PG查看Peering结果;Peering把该PG主OSD缺失的对象信息放到PGlog的map中,检查该map不为空,则将该PG的主OSD计入该PG需要写入的OSD中;Peering把从OSD缺失的对象信息放到peer_missing结构中,检查每个OSD的missing map是否为空,如果不为空,将该OSD计入该PG需要写入的OSD中;
2、在OSD层上报统计的信息;在现有方案中,OSD每5秒会上报一次该OSD上所有PG的PGInfo;我们将步骤1中统计的每个PG需要写入的OSD信息加入到PGInfo中上报给Mon;
3、Mon收到上报的PGInfo后将其保存起来,并执行议案;
4、Mon每隔一段时间遍历一下保存的所有PG的PGInfo,如果遍历到的PG处于recover或backfill状态,将其主OSD计入需要数据恢复的OSD,将该PG的PGInfo中保存的该PG需要写入的OSD计入集群需要写入的OSD;统计时重复的OSD不予统计;遍历结束后得到需要恢复的主OSD数量m和需要写入的OSD数量n;
5、计算数据恢复速度上限;配置单个OSD的数据恢复速度s和系数r,分别计算数据恢复速度上限S1=s×m,S2=s×n×r,比较S1和S2,取较小的那个作为数据恢复速度上限S;
6、将数据恢复速度上限下发给OSD;OSD通过以下方法计算自己在单位时间内数据恢复的数据量S0:
S0=OSD需要恢复的对象数/集群需要恢复的对象数×S;
7、当OSD在一个恢复周期内恢复的数据量大于S0,则该OSD的所有PG都不再新增数据恢复对象,直到下一个周期。
另一方面,基于与前述实施例中控制数据恢复速度方法同样的发明构思,本说明书实施例还提供一种分布式文件系统控制数据恢复速度的装置,包括处理器和存储器,所述存储器用于存储执行前述方法的程序;所述处理器被配置为用于执行所述存储器中存储的程序。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种分布式文件系统控制数据恢复速度的方法,其特征在于,包括:
S100,遍历放置组,查找并记录每个放置组内缺失数据的对象存储守护进程,统计需要恢复的主对象存储守护进程数量;步骤S100具体包括以下步骤:
S101,在放置组根据日志检查各副本版本是否一致的过程中,查找缺失数据的对象存储守护进程;
S102,通过查找到的缺失数据的对象存储守护进程判断磁盘是否需要在数据恢复中写入数据;
S103,放置组将缺失数据的对象存储守护进程上报到监视器守护进程;
S200,统计当前正在数据恢复的放置组所要写入数据的对象存储守护进程个数;步骤S200具体包括以下步骤:所述监视器守护进程统计当前正在数据恢复的所有放置组上报的对象存储守护进程,获得正在写入的磁盘数量;
S300,根据需要恢复的主对象存储守护进程数量和需要写入数据的对象存储守护进程数量,计算数据恢复速度上限;步骤S300具体包括以下步骤:
S301,根据步骤S100和S200获得需要恢复的主对象存储守护进程数量m和需要写入数据的对象存储守护进程数量n;
S302,配置单个对象存储守护进程的数据恢复速度s和系数r,根据以下公式计算S1和S2:
S1=s*m,S2=s*n*r;
S303,比较S1和S2,取较小值作为数据恢复速度上限S;
S400,根据集群规模计算出对象存储设备在一个恢复周期内恢复的数据量;
根据对象存储设备需要恢复的存储对象数量、集群需要恢复的存储对象数量以及所述数据恢复速度上限,计算对象存储设备当前单位时间内可恢复的基础数据量;基础数据量的计算方法为:基础数据量等于对象存储设备需要恢复的存储对象数除以集群需要恢复的存储对象数再乘以数据恢复速度上限S;
当对象存储设备在一个恢复周期内恢复的数据量大于基础数据量,则该对象存储设备的所有放置组都不再新增数据恢复对象,直至下一个周期。
2.根据权利要求1所述的一种分布式文件系统控制数据恢复速度的方法,其特征在于:所述放置组为PG,所述对象存储守护进程为OSD,所述放置组根据日志检查各副本版本是否一致的过程为Peering。
3.根据权利要求2所述的一种分布式文件系统控制数据恢复速度的方法,其特征在于:在Peering过后,PG查看Peering结果,Peering把该PG主OSD缺失的对象信息放到PG log的map中;判断该map不为空,则将该PG的主OSD计入该PG需要写入的OSD中;
Peering把从OSD缺失的对象信息放到peer_missing结构中,检查每个OSD的missingmap是否为空,如果不为空,将该OSD计入该PG需要写入的OSD中;
在OSD层上报统计的信息,将每个PG需要写入的OSD信息加入到PGInfo中,OSD每隔一段时间上报一次该OSD上所有PG的PGInfo给监视器守护进程。
4.根据权利要求3所述的一种分布式文件系统控制数据恢复速度的方法,其特征在于:所述监视器守护进程收到上报的PGInfo后将其保存起来;所述监视器守护进程每隔一段时间遍历保存的PGInfo,若遍历到的PG处于recover或backfill状态,将其主OSD计入需要数据恢复的OSD,将该PG的PGInfo中保存的该PG需要写入的OSD计入集群需要写入的OSD;遍历结束后得到需要恢复的主OSD数量和需要写入的OSD数量。
5.一种分布式文件系统控制数据恢复速度的装置,其特征在于,包括处理器和存储器,所述存储器用于存储执行权利要求1~4中任一项所述方法的程序;所述处理器被配置为用于执行所述存储器中存储的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181614.6A CN112306750B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式文件系统控制数据恢复速度的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181614.6A CN112306750B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式文件系统控制数据恢复速度的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306750A CN112306750A (zh) | 2021-02-02 |
CN112306750B true CN112306750B (zh) | 2022-11-29 |
Family
ID=74331443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011181614.6A Active CN112306750B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式文件系统控制数据恢复速度的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306750B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958970A (zh) * | 2018-05-29 | 2018-12-07 | 新华三技术有限公司 | 一种数据恢复方法、服务器和计算机可读介质 |
CN110764953A (zh) * | 2019-09-30 | 2020-02-07 | 浪潮电子信息产业股份有限公司 | 一种数据恢复方法、装置、设备及可读存储介质 |
CN110795284A (zh) * | 2019-10-25 | 2020-02-14 | 浪潮电子信息产业股份有限公司 | 一种数据恢复方法、装置、设备及可读存储介质 |
-
2020
- 2020-10-29 CN CN202011181614.6A patent/CN112306750B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958970A (zh) * | 2018-05-29 | 2018-12-07 | 新华三技术有限公司 | 一种数据恢复方法、服务器和计算机可读介质 |
CN110764953A (zh) * | 2019-09-30 | 2020-02-07 | 浪潮电子信息产业股份有限公司 | 一种数据恢复方法、装置、设备及可读存储介质 |
CN110795284A (zh) * | 2019-10-25 | 2020-02-14 | 浪潮电子信息产业股份有限公司 | 一种数据恢复方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112306750A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372537B2 (en) | Elastic metadata and multiple tray allocation | |
US8140484B2 (en) | Techniques for determining an implemented data protection policy | |
US7516354B2 (en) | Storing parity information for data recovery | |
US8185505B1 (en) | Techniques for processing recovery points | |
US7778958B2 (en) | Recovery of data on a primary data volume | |
KR101758544B1 (ko) | 비휘발성 메모리 시스템에서의 동기 미러링 | |
US7062621B2 (en) | Storage system and method for backup | |
US8234446B2 (en) | Disk array apparatus, data distribution and management method, and data distribution and management program | |
US7197665B2 (en) | Physical incremental backup using snapshots | |
US6859888B2 (en) | Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same | |
JP2008539474A (ja) | パワーセーフディスクストレージ装置、システム及び方法 | |
US7818524B2 (en) | Data migration systems and methods for independent storage device expansion and adaptation | |
US20060136778A1 (en) | Process for generating and reconstructing variable number of parity for byte streams independent of host block size | |
JP2005301497A (ja) | ストレージ管理装置、リストア方法及びそのプログラム | |
US7849355B2 (en) | Distributed object sharing system and method thereof | |
CN114416665B (zh) | 一种数据一致性检测和修复的方法、装置及介质 | |
CN106933707B (zh) | 基于raid技术的数据存储设备数据恢复方法及系统 | |
US20190354433A1 (en) | Parity log with by-pass | |
CN112306750B (zh) | 一种分布式文件系统控制数据恢复速度的方法及装置 | |
US8316258B2 (en) | System and method for error detection in a data storage system | |
US20200242265A1 (en) | Detecting abnormal data access patterns | |
CN115878381A (zh) | 基于srm盘的数据恢复方法及装置、存储介质、电子装置 | |
CN108174136B (zh) | 云盘视频编码存储方法 | |
CN111581013A (zh) | 基于元数据和影子文件的系统信息备份与重构方法 | |
CN117851132B (zh) | 一种分布式对象存储的数据恢复优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |