CN110908606B - 一种分布式文件***的数据重构方法 - Google Patents
一种分布式文件***的数据重构方法 Download PDFInfo
- Publication number
- CN110908606B CN110908606B CN201911122586.8A CN201911122586A CN110908606B CN 110908606 B CN110908606 B CN 110908606B CN 201911122586 A CN201911122586 A CN 201911122586A CN 110908606 B CN110908606 B CN 110908606B
- Authority
- CN
- China
- Prior art keywords
- osd
- target
- data
- water level
- host
- 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
- 238000000034 method Methods 0.000 title claims description 53
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 97
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式文件***的数据重构方法、装置、服务器及可读存储介质,该方案能够在存储池超水位时对是否进行数据重构的决策策略进行更精细的控制,在实际过程中,首先确定并计算承载数据重构的OSD在数据重构发生后的水位,然后判断各个OSD的水位是否超过重构水位限制,当且仅当各个OSD的水位均不超过重构水位限制时,才执行数据重构。相较于传统方案以存储池水位为准决策是否执行数据重构的方式,该方案以承载数据重构的各个OSD的水位来决策是否进行数据重构,因此,该方案的控制粒度更精细,能使数据重构最大化利用磁盘空间,提升了数据重构性能。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种分布式文件***的数据重构方法、装置、服务器及可读存储介质。
背景技术
分布式文件***中,OSD的主要功能是存储数据、复制数据、平衡数据、恢复数据等。一般情况下一块硬盘对应一个OSD,由OSD来对硬盘存储进行管理。当OSD挂载的硬盘故障时,需要对该OSD的数据进行恢复,故障的OSD中的数据在其他OSD中恢复出来的过程被称为数据重构。
当数据重构发生时,客户端对集群进行读写操作和数据重构会同时进行,为了减少数据重构对客户端读写性能的影响,可以对集群的数据重构速度进行调整。目前,已有方案通过调整集群的数据重构优先级来达到调整数据重构速度的目的。
除了上述对数据重构速度的直接控制,还可以控制数据重构过程的执行时机。当硬盘空间占用较大,存储池处于超水位状态时,硬盘性能会降低,如果触发数据重构,承载重构数据的硬盘占用会更大,甚至有可能占满,从而影响集群性能,并影响客户端写入功能。因此,目前已有方案在存储池处于超水位状态时,就会停止数据重构功能,避免数据重构造成承载数据的硬盘占用空间过大。但是,由于存储池的各个OSD数据分布不是完全均匀的,而且存储池水位阈值往往不够难以准确设置,导致这种控制方案精准性较差,使得数据重构性能受到影响。
可见,如何提供一种分布文件***的数据重构方案,实现对数据重构过程的精确控制,避免数据重构性能较低从而影响集群性能的现象,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种分布式文件***的数据重构方法、装置、服务器及可读存储介质,用以解决传统的数据重构控制方案不够精准,导致数据重构性能较低,甚至影响分布式集群性能的问题。其具体方案如下:
第一方面,本申请提供了一种分布式文件***的数据重构方法,包括:
确定目标OSD所在存储池的主机数量和归置组副本数;
若所述归置组副本数等于所述主机数量,则确定所述目标OSD数据重构之后当前主机的各个OSD的水位;
若所述归置组副本小于所述主机数量,则确定所述目标OSD预期数据重构至的目标主机,并确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位;
在所述各个OSD的水位均不超过重构水位限制时,对所述目标OSD执行数据重构。
优选的,所述确定所述目标OSD预期数据重构至的目标主机,包括:
根据CRUSH算法,确定所述目标OSD预期数据重构至的目标主机。
优选的,所述确定所述目标OSD数据重构之后当前主机的各个OSD的水位,包括:
确定所述目标OSD所在存储池的主机的OSD数量;
根据所述OSD数量,计算所述目标OSD的数据均分之后当前主机的各个OSD的水位,以作为数据重构之后所述当前主机的各个OSD的水位。
优选的,所述在所述各个OSD的水位均不超过重构水位限制时,对所述目标OSD执行数据重构,包括:
判断所述各个OSD的水位中是否存在超过重构水位限制的水位;
若存在,则生成所述目标OSD的故障提示信息;
若不存在,则对所述目标OSD执行数据重构,并将所述目标OSD踢除当前集群。
优选的,所述重构水位限制为90%。
优选的,在所述确定目标OSD所在存储池的主机数量和归置组副本数之前,还包括:
对分布式文件***中的OSD进行状态监测,若监测到发生故障的OSD,则确定该OSD为待执行数据重构的目标OSD。
第二方面,本申请提供了一种分布式文件***的数据重构装置,包括:
数据确定模块:用于确定目标OSD所在存储池的主机数量和归置组副本数;
第一计算模块:用于若所述归置组副本数等于所述主机数量,则确定所述目标OSD数据重构之后当前主机的各个OSD的水位;
第二计算模块:用于若所述归置组副本小于所述主机数量,则确定所述目标OSD预期数据重构至的目标主机,并确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位;
重构模块:用于在所述各个OSD的水位均不超过重构水位限制时,对所述目标OSD执行数据重构。
优选的,还包括:
监测模块:用于对分布式文件***中的OSD进行状态监测,若监测到发生故障的OSD,则确定该OSD为待执行数据重构的目标OSD
第三方面,本申请提供了一种分布式文件***的服务器,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的一种分布式文件***的数据重构方法的步骤。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的一种分布式文件***的数据重构方法的步骤。
本申请所提供的一种分布式文件***的数据重构方法,包括:确定目标OSD所在存储池的主机数量和归置组副本数;若归置组副本数等于主机数量,则确定目标OSD数据重构之后当前主机的各个OSD的水位;若归置组副本小于主机数量,则确定目标OSD预期数据重构至的目标主机,并确定目标OSD数据重构之后目标主机的各个OSD的水位;在各个OSD的水位均不超过重构水位限制时,对目标OSD执行数据重构。
可见,该方法能够在存储池超水位时对是否进行数据重构的决策策略进行更精细的控制,在实际过程中,首先确定并计算承载数据重构的OSD在数据重构发生后的水位,然后判断各个OSD的水位是否超过重构水位限制,当且仅当各个OSD的水位均不超过重构水位限制时,才执行数据重构。相较于传统方案以存储池水位或占用最高的OSD的水位为准决策是否执行数据重构的方式,本方法以承载数据重构的各个OSD的水位来决策是否进行数据重构,因此,本方法的控制粒度更精细,能使数据重构最大化利用磁盘空间,显著提升了数据重构性能。
此外,本申请还提供了一种分布式文件***的数据重构装置、服务器及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种分布式文件***的数据重构方法实施例一的实现流程图;
图2为本申请所提供的一种分布式文件***的数据重构方法实施例二的实现流程图;
图3为本申请所提供的一种分布式文件***的数据重构装置实施例的功能框图;
图4为本申请所提供的一种分布式文件***的服务器实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
传统的数据重构方案以存储池水位或占用最高的OSD的水位为依据判断是否执行数据重构,这种控制方式不够精确。首先,存储池的各个OSD数据分布不是完全均匀的,存储池水位一般取占用最高的OSD,而承载重构的OSD有可能并没有处于超水位状态。其次,传统方案中超水位界限一般设置为85%,但实际上磁盘数据量应控制为不超过容量的90%,将85%作为超水位界限是为数据重构做了5%的预留空间。因此,在有些场景下,仍然有执行数据重构的磁盘空间,但是依据传统数据重构方案***并不会执行数据重构,使得数据重构的性能受到影响。
针对以上问题,本申请提供了一种分布式文件***的数据重构方法、装置、服务器及可读存储介质,能够根据承载数据重构的各个OSD的水位来决策是否进行数据重构,控制粒度更精细,实现最大化利用磁盘空间,显著提升了数据重构性能。
下面对本申请提供的一种分布式文件***的数据重构方法实施例一进行介绍,参见图1,实施例一包括:
S101、确定目标OSD所在存储池的主机数量和归置组副本数;
S102、若所述归置组副本数等于所述主机数量,则确定所述目标OSD数据重构之后当前主机的各个OSD的水位;
S103、若所述归置组副本小于所述主机数量,则确定所述目标OSD预期数据重构至的目标主机,并确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位;
S104、在所述各个OSD的水位均不超过重构水位限制时,对所述目标OSD执行数据重构。
本实施例应用于分布式集群,目的在于决策是否对发生故障的目标OSD进行数据重构,以实现最大化利用磁盘空间的目的。首先对本实施例涉及到的相关概念和背景进行介绍:
OSD,全称Object-based Storage Device,即对象存储设备;归置组,即PlacementGroup,是用于放置对象的载体;存储池,是分布式文件***中的逻辑分区,是归置组的一个集合;主机,即host,是组成存储池的存储服务器节点;副本数是为了防止数据丢失,每份数据在集群中做的冗余备份数量,一般副本数大于等于主机数量,每个备份存储在不同的主机上。
当需要对目标OSD进行数据重构时,如果副本数等于主机数量,那么目标OSD的数据只能恢复到同主机上的其他OSD上,S102中当前主机是指目标OSD所在的主机;如果副本数大于主机数量,比如有A、B、C、D四个主机,数据有三个副本,三个副本分布在A、B、D上,假设B的OSD发生故障,那么这个副本可以恢复到B的其它OSD上,也可能恢复到C的OSD上,因此需要先利用数据分布算法确定具体会恢复到哪个主机的哪些OSD上。基于以上两种情形,本实施例在执行S101并获取到主机数量和归置组副本数之后,根据二者的大小关系,分别执行S102和S103。
在S102中,确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位的过程包括:确定所述目标OSD所在存储池的主机的OSD数量;根据所述OSD数量,计算所述目标OSD的数据均分之后当前主机的各个OSD的水位,以作为数据重构之后所述当前主机的各个OSD的水位。具体的,假设当前主机的OSD数量为N,目标OSD的数量为1,目标OSD上待进行数据重构的数据量为M,那么,在数据重构之后,当前主机的其他各个OSD均增加M/N-1的数据量,本实施例据此确定数据重构之后当前主机的各个OSD的水位。
在S103中,先确定预期数据重构至的目标主机,根据目标主机是否为目标OSD所在的当前主机,分为以下两种情形:如果目标主机为目标OSD所在的当前主机,则按照S102中的方式计算得到当前主机的各个OSD的水位;如果目标主机不是目标OSD所在的当前主机,假设目标主机的OSD数量为N,目标OSD上待进行数据重构的数据量为M,那么,在数据重构之后,目标主机的其他各个OSD均增加M/N的数据量,本实施例据此确定数据重构之后目标主机的各个OSD的水位。
一般情况下,超水位界限一般设置为85%,但实际上磁盘数据量应控制为不超过容量的90%,将85%作为超水位界限是为数据重构做了5%的预留空间具体的。因此,作为一种优选的实施方式,本实施例中所述重构水位限制设置为90%。
本实施例所提供一种分布式文件***的数据重构方法,能够在存储池超水位时对是否进行数据重构的决策策略进行更精细的控制,在实际过程中,首先确定并计算承载数据重构的OSD在数据重构发生后的水位,然后判断各个OSD的水位是否超过重构水位限制,当且仅当各个OSD的水位均不超过重构水位限制时,才执行数据重构。相较于传统方案以存储池水位或占用最高的OSD的水位为准决策是否执行数据重构的方式,本方法以承载数据重构的各个OSD的水位来决策是否进行数据重构,因此,本方法的控制粒度更精细,能使数据重构最大化利用磁盘空间,显著提升了数据重构性能。
下面开始详细介绍本申请提供的一种分布式文件***的数据重构方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
参见图2,实施例二具体包括:
S201、对分布式文件***中的OSD进行状态监测,若监测到发生故障的OSD,则确定该OSD为待执行数据重构的目标OSD;
S202、确定目标OSD所在存储池的主机数量和归置组副本数;
S203、若所述归置组副本数等于所述主机数量,则确定所述目标OSD数据重构之后当前主机的各个OSD的水位;
S204、若所述归置组副本小于所述主机数量,则根据CRUSH算法,确定所述目标OSD预期数据重构至的目标主机,并确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位;
S205、判断所述各个OSD的水位中是否存在超过90%的水位;若存在,则生成所述目标OSD的故障提示信息,否则跳转至S206;
S206、对所述目标OSD执行数据重构,并将所述目标OSD踢除当前集群。
综上,本实施例的具体实施过程如下:
获取发生故障的目标OSD所在存储池的主机数量以及各主机的OSD数量;获取目标OSD所在存储池的归置组副本数;
若副本数跟主机数量一样,则该目标OSD移除后数据会迁移到当前主机上的其他OSD,确定目标OSD的容量,若目标OSD的数据平均到当前主机上的其他OSD,数据增长后若有OSD容量超过90%则不对目标OSD进行数据重构,否则进行数据重构;
若副本数比主机数量小,比如4+2,10节点环境,此时目标OSD移除后,数据会迁移到其他主机上,需要计算出数据会迁移到哪个主机的哪些OSD上,然后计算重构后这些OSD数据增长后的容量,若增长后超过90%则不对目标OSD进行数据重构,否则进行数据重构。
可见,本实施例所提供一种分布式文件***的数据重构方法,能够对存储池超水位时不进行数据重构的策略进行更精细的控制,计算承载数据重构的OSD在重构发生后的水位,如果不超过重构水位限制,可以进行重构,否则不进行数据重构。从而使数据重构最大化利用磁盘空间,显著提升数据重构性能。
下面对本申请实施例提供的一种分布式文件***的数据重构装置进行介绍,下文描述的一种分布式文件***的数据重构装置与上文描述的一种分布式文件***的数据重构方法可相互对应参照。
如图3所示,该装置包括:
数据确定模块301:用于确定目标OSD所在存储池的主机数量和归置组副本数;
第一计算模块302:用于若所述归置组副本数等于所述主机数量,则确定所述目标OSD数据重构之后当前主机的各个OSD的水位;
第二计算模块303:用于若所述归置组副本小于所述主机数量,则确定所述目标OSD预期数据重构至的目标主机,并确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位;
重构模块304:用于在所述各个OSD的水位均不超过重构水位限制时,对所述目标OSD执行数据重构。
作为一种具体的实施方式,该装置还包括:
监测模块:用于对分布式文件***中的OSD进行状态监测,若监测到发生故障的OSD,则确定该OSD为待执行数据重构的目标OSD
本实施例的分布式文件***的数据重构装置用于实现前述的分布式文件***的数据重构方法,因此该装置中的具体实施方式可见前文中的分布式文件***的数据重构方法的实施例部分,例如,数据确定模块301、第一计算模块302、第二计算模块303、重构模块304,分别用于实现上述分布式文件***的数据重构方法中步骤S101,S102,S103,S104。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的分布式文件***的数据重构装置用于实现前述的分布式文件***的数据重构方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种分布式文件***的服务器,如图4所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上文所述的一种分布式文件***的数据重构方法的步骤。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的一种分布式文件***的数据重构方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种分布式文件***的数据重构方法,其特征在于,包括:
确定目标OSD所在存储池的主机数量和归置组副本数;
若所述归置组副本数等于所述主机数量,则确定所述目标OSD数据重构之后当前主机的各个OSD的水位;
若所述归置组副本小于所述主机数量,则确定所述目标OSD预期数据重构至的目标主机,并确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位;
在所述各个OSD的水位均不超过重构水位限制时,对所述目标OSD执行数据重构;
在所述确定目标OSD所在存储池的主机数量和归置组副本数之前,还包括:
对分布式文件***中的OSD进行状态监测,若监测到发生故障的OSD,则确定该OSD为待执行数据重构的目标OSD;
当对目标OSD进行数据重构时,如果归置组副本数等于主机数量,那么目标OSD的数据恢复到当前主机上的其他OSD上;如果主机数量大于归置组副本数,那么目标OSD的数据恢复到当前主机的其它OSD上,或者恢复到其他主机的各个OSD上;
所述确定所述目标OSD数据重构之后当前主机的各个OSD的水位,包括:
确定所述目标OSD所在存储池的主机的OSD数量;根据所述OSD数量,计算所述目标OSD的数据均分之后当前主机的各个OSD的水位,以作为数据重构之后所述当前主机的各个OSD的水位;
所述确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位,包括:
如果目标主机不是目标OSD所在的当前主机,目标主机的OSD数量为N,目标OSD上待进行数据重构的数据量为M,在数据重构之后,目标主机的各个OSD均增加M/N的数据量,以作为数据重构之后目标主机的各个OSD的水位。
2.如权利要求1所述的方法,其特征在于,所述确定所述目标OSD预期数据重构至的目标主机,包括:
根据CRUSH算法,确定所述目标OSD预期数据重构至的目标主机。
3.如权利要求1所述的方法,其特征在于,所述在所述各个OSD的水位均不超过重构水位限制时,对所述目标OSD执行数据重构,包括:
判断所述各个OSD的水位中是否存在超过重构水位限制的水位;
若存在,则生成所述目标OSD的故障提示信息;
若不存在,则对所述目标OSD执行数据重构,并将所述目标OSD踢除当前集群。
4.如权利要求1所述的方法,其特征在于,所述重构水位限制为90%。
5.一种分布式文件***的数据重构装置,其特征在于,包括:
数据确定模块:用于确定目标OSD所在存储池的主机数量和归置组副本数;
第一计算模块:用于若所述归置组副本数等于所述主机数量,则确定所述目标OSD数据重构之后当前主机的各个OSD的水位;
第二计算模块:用于若所述归置组副本小于所述主机数量,则确定所述目标OSD预期数据重构至的目标主机,并确定所述目标OSD数据重构之后所述目标主机的各个OSD的水位;
重构模块:用于在所述各个OSD的水位均不超过重构水位限制时,对所述目标OSD执行数据重构;
还包括:
监测模块:用于对分布式文件***中的OSD进行状态监测,若监测到发生故障的OSD,则确定该OSD为待执行数据重构的目标OSD;
当对目标OSD进行数据重构时,如果归置组副本数等于主机数量,那么目标OSD的数据恢复到当前主机上的其他OSD上;如果主机数量大于归置组副本数,那么目标OSD的数据恢复到当前主机的其它OSD上,或者恢复到其他主机的各个OSD上;
所述第一计算模块用于:
确定所述目标OSD所在存储池的主机的OSD数量;根据所述OSD数量,计算所述目标OSD的数据均分之后当前主机的各个OSD的水位,以作为数据重构之后所述当前主机的各个OSD的水位;
所述第二计算模块用于:
如果目标主机不是目标OSD所在的当前主机,目标主机的OSD数量为N,目标OSD上待进行数据重构的数据量为M,在数据重构之后,目标主机的各个OSD均增加M/N的数据量,以作为数据重构之后目标主机的各个OSD的水位。
6.一种分布式文件***的服务器,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-4任意一项所述的一种分布式文件***的数据重构方法的步骤。
7.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-4任意一项所述的一种分布式文件***的数据重构方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911122586.8A CN110908606B (zh) | 2019-11-15 | 2019-11-15 | 一种分布式文件***的数据重构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911122586.8A CN110908606B (zh) | 2019-11-15 | 2019-11-15 | 一种分布式文件***的数据重构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908606A CN110908606A (zh) | 2020-03-24 |
CN110908606B true CN110908606B (zh) | 2021-06-29 |
Family
ID=69817736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911122586.8A Active CN110908606B (zh) | 2019-11-15 | 2019-11-15 | 一种分布式文件***的数据重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908606B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113687798A (zh) * | 2021-10-26 | 2021-11-23 | 苏州浪潮智能科技有限公司 | 一种控制数据重构的方法、装置、设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051691A (zh) * | 2012-12-12 | 2013-04-17 | 华为技术有限公司 | 分区分配方法、装置以及分布式存储*** |
CN107577441A (zh) * | 2017-10-17 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种osd慢盘处理方法、***、装置及计算机存储介质 |
CN107817950A (zh) * | 2017-10-31 | 2018-03-20 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN108287660A (zh) * | 2017-01-09 | 2018-07-17 | ***通信集团河北有限公司 | 数据存储方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129614A1 (en) * | 2004-12-14 | 2006-06-15 | Kim Hong Y | Crash recovery system and method for distributed file server using object based storage |
-
2019
- 2019-11-15 CN CN201911122586.8A patent/CN110908606B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051691A (zh) * | 2012-12-12 | 2013-04-17 | 华为技术有限公司 | 分区分配方法、装置以及分布式存储*** |
CN108287660A (zh) * | 2017-01-09 | 2018-07-17 | ***通信集团河北有限公司 | 数据存储方法和设备 |
CN107577441A (zh) * | 2017-10-17 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种osd慢盘处理方法、***、装置及计算机存储介质 |
CN107817950A (zh) * | 2017-10-31 | 2018-03-20 | 新华三技术有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110908606A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614276B (zh) | 故障处理方法、装置、分布式存储***和存储介质 | |
CN109656895B (zh) | 分布式存储***、数据写入方法、装置和存储介质 | |
US8589647B2 (en) | Apparatus and method for synchronizing a snapshot image | |
CN111723057A (zh) | 一种文件预读方法、装置、设备及存储介质 | |
CN111857592A (zh) | 基于对象存储***的数据存储方法及装置、电子设备 | |
US20170270000A1 (en) | Method for storage management and storage device | |
CN111880956A (zh) | 一种数据同步方法和装置 | |
CN111309644A (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
CN110908606B (zh) | 一种分布式文件***的数据重构方法 | |
US9442790B2 (en) | Computer and dumping control method | |
CN110377398B (zh) | 一种资源管理方法、装置及主机设备、存储介质 | |
US20140156937A1 (en) | Systems and methods for background destaging storage tracks | |
CN111177104B (zh) | 一种nas存储***的日志下刷方法及装置 | |
CN111046004B (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
US8984345B2 (en) | Fault restoration apparatus and method for use in a virtual environment | |
US10769017B2 (en) | Adaptive multi-level checkpointing | |
CN116700620A (zh) | 数据存储方法、装置、设备及存储介质 | |
EP3296878B1 (en) | Electronic device and page merging method therefor | |
CN115033337A (zh) | 虚拟机内存迁移方法、装置、设备及存储介质 | |
EP2820548B1 (en) | Versioned memories using a multi-level cell | |
CN115883564B (zh) | 一种媒体流处理方法、装置、电子设备及存储介质 | |
CN112346667B (zh) | 一种ceph存储osd读均衡方法及其*** | |
US20240241659A1 (en) | Method and apparatus for adaptively managing data disk capacity, electronic device, and storage medium | |
CN113486040B (zh) | 数据存储方法、装置、设备及介质 | |
CN113031851B (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 |