CN111880962B - 一种raid重构速度控制方法、系统及装置 - Google Patents
一种raid重构速度控制方法、系统及装置 Download PDFInfo
- Publication number
- CN111880962B CN111880962B CN202010725639.1A CN202010725639A CN111880962B CN 111880962 B CN111880962 B CN 111880962B CN 202010725639 A CN202010725639 A CN 202010725639A CN 111880962 B CN111880962 B CN 111880962B
- Authority
- CN
- China
- Prior art keywords
- reconstruction
- raid
- task
- rate
- background
- 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
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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种RAID重构速度控制方法、系统及装置,在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;若是,则根据预设重构速度控制策略限制后台重构任务的执行速度;若否,则直接全速执行后台重构任务。可见,本申请在前端I/O任务较多时,限制后台重构任务的执行速度,以减少后台重构任务占用的磁盘带宽与系统处理器计算资源,从而尽量减小后台重构任务对主机业务的影响;在前端I/O任务较少时,全速执行后台重构任务,从而有利于尽快恢复RAID的冗余性能。
Description
技术领域
本发明涉及存储系统领域,特别是涉及一种RAID重构速度控制方法、系统及装置。
背景技术
为了提升存储系统的性能及可靠性,RAID(Redundant Arrays of IndependentDisks,磁盘阵列)应运而生。目前,存储系统使用的RAID主要是RAID5或RAID6,其在原有数据分块的基础上增加了校验分块,使得在个别磁盘发生故障时不会中断前端I/O(Input/Output,输入/输出)业务,而是使用写前重构的方式来得到前端业务对应写入坏盘所在分块的数据,以将这些数据写入热备盘中,从而恢复前端业务数据;与此同时,在个别磁盘发生故障时开始触发后台重构任务,后台重构任务负责重新计算受到坏盘影响的分块中存储的数据,并将这些数据写到热备盘中,从而实现RAID重构。但是,在整个重构的过程中,需要占用一定的磁盘带宽与系统处理器计算资源,从而影响前端业务I/O的性能。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种RAID重构速度控制方法、系统及装置,在前端I/O任务较多时,限制后台重构任务的执行速度,以减少后台重构任务占用的磁盘带宽与系统处理器计算资源,从而尽量减小后台重构任务对主机业务的影响;在前端I/O任务较少时,全速执行后台重构任务,从而有利于尽快恢复RAID的冗余性能。
为解决上述技术问题,本发明提供了一种RAID重构速度控制方法,包括:
在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;
若是,则根据预设重构速度控制策略限制后台重构任务的执行速度;
若否,则直接全速执行后台重构任务。
优选地,所述RAID层正在处理的主机下发的I/O请求数量的统计过程,包括:
在主机下发一I/O请求至RAID层时,将RAID层正在处理的主机下发的I/O请求数量加1;
在RAID层完成主机下发的一I/O请求且将请求结果返回至主机时,将RAID层正在处理的主机下发的I/O请求数量减1。
优选地,所述根据预设重构速度控制策略限制后台重构任务的执行速度的过程,包括:
获取后台重构任务的可用带宽,并根据预设带宽速率对应关系确定与所述可用带宽对应的目标速率;其中,所述目标速率表示每秒处理的条带数目;
获取系统已处理完成的第一条带数目和即将同批次处理的第二条带数目,并根据(第一条带数目+第二条带数目)/后台重构任务的已执行时间,得到预期平均速率;
判断所述预期平均速率是否小于所述目标速率;
若是,则执行即将处理的条带对应的处理任务;
若否,则不执行即将处理的条带对应的处理任务,并返回执行判断所述预期平均速率是否小于所述目标速率的步骤。
优选地,所述获取后台重构任务的可用带宽的过程,包括:
根据预设请求数量带宽反比关系确定与RAID层正在处理的主机下发的I/O请求数量对应的目标带宽,并将所述目标带宽作为后台重构任务的可用带宽。
优选地,所述获取后台重构任务的可用带宽的过程,包括:
根据预设磁盘数目带宽正比关系确定与系统磁盘总数目对应的目标带宽,并将所述目标带宽作为后台重构任务的可用带宽。
优选地,所述根据预设带宽速率对应关系确定与所述可用带宽对应的目标速率的过程,包括:
根据关系式totalRate=multiplier*tranditionalRate/precisionScalar;multiplier=(precisionScalar*(setWidth+8-1))/(8*n)求取与所述可用带宽对应的总速率totalRate;其中,totalRate的单位为KB/s;tranditionalRate为预设传统速率;precisionScalar为预设系数值;setWidth为后台重构任务的可用带宽;当系统RAID为RAID5或RAID6时,n=2;
根据关系式targetRate=totalRate/stripSize求取与所述可用带宽对应的目标速率targetRate;其中,stripSize为系统分块大小,单位为KB。
优选地,所述RAID重构速度控制方法还包括:
预先设置一个表征系统所有条带的重构情况的重构元数据表;
在执行后台重构任务时,根据系统中条带的实际重构情况更新所述重构元数据表,以通过所述重构元数据表确定已重构完成的条带和未重构完成的条带。
优选地,所述RAID重构速度控制方法还包括:
预先为所述目标速率设置一个速率系数;
在接收到包含速率系数值的速率调整指令时,将所述目标速率乘以所述速率系数值,并根据乘积结果更新所述目标速率。
为解决上述技术问题,本发明还提供了一种RAID重构速度控制系统,包括:
判断模块,用于在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;若是,则执行限速模块;若否,则执行全速模块;
限速模块,用于根据预设重构速度控制策略限制后台重构任务的执行速度;
全速模块,用于直接全速执行后台重构任务。
为解决上述技术问题,本发明还提供了一种RAID重构速度控制装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现上述任一种RAID重构速度控制方法的步骤。
本发明提供了一种RAID重构速度控制方法,在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;若是,则根据预设重构速度控制策略限制后台重构任务的执行速度;若否,则直接全速执行后台重构任务。可见,本申请在前端I/O任务较多时,限制后台重构任务的执行速度,以减少后台重构任务占用的磁盘带宽与系统处理器计算资源,从而尽量减小后台重构任务对主机业务的影响;在前端I/O任务较少时,全速执行后台重构任务,从而有利于尽快恢复RAID的冗余性能。
本发明还提供了一种RAID重构速度控制系统及装置,与上述重构速度控制方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种RAID重构速度控制方法的流程图;
图2为本发明实施例提供的一种RAID重构速度控制系统的结构示意图。
具体实施方式
本发明的核心是提供一种RAID重构速度控制方法、系统及装置,在前端I/O任务较多时,限制后台重构任务的执行速度,以减少后台重构任务占用的磁盘带宽与系统处理器计算资源,从而尽量减小后台重构任务对主机业务的影响;在前端I/O任务较少时,全速执行后台重构任务,从而有利于尽快恢复RAID的冗余性能。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种RAID重构速度控制方法的流程图。
该RAID重构速度控制方法包括:
步骤S1:在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;若是,则执行步骤S2;若否,则执行步骤S3。步骤S2:根据预设重构速度控制策略限制后台重构任务的执行速度。步骤S3:直接全速执行后台重构任务。
需要说明的是,本申请的预设是提前设置好的,只需要设置一次,除非根据实际情况需要修改,否则不需要重新设置。
具体地,考虑到RAID层正在处理的主机下发的I/O请求数量越多,系统前端I/O任务越重,此情况下后台重构任务的触发对主机业务的影响较大,所以本申请提前设置一个数量阈值,认为:RAID层正在处理的主机下发的I/O请求数量大于所设数量阈值时,系统前端I/O任务较重,鉴于此情况下后台重构任务的触发对主机业务的影响较大,需限制后台重构任务的执行速度,以减少后台重构任务占用的磁盘带宽与系统处理器计算资源,从而尽量减小后台重构任务对主机业务的影响;RAID层正在处理的主机下发的I/O请求数量不大于所设数量阈值时,系统前端I/O任务较少,鉴于此情况下后台重构任务的触发对主机业务的影响较小,无需限制后台重构任务的执行速度,则全速执行后台重构任务即可,从而有利于尽快恢复RAID的冗余性能。
基于此,本申请在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值,若大于,则限制后台重构任务的执行速度,具体根据预先设置好的重构速度控制策略限制后台重构任务的执行速度;若不大于,则直接全速执行后台重构任务即可。
或者,本申请可在RAID层处理主机下发的I/O请求时限制后台重构任务的执行速度,在RAID层不处理主机下发的I/O请求时全速执行后台重构任务。又或者,本申请可通过时间段来限定后台重构任务的执行速度,如在凌晨的时间段内前端I/O任务较少,可在这个时间段设置较大的后台重构任务的执行速度。需要说明的是,RAID重构速度控制方式可灵活设计,本申请在此不做特别的限定。
本发明提供了一种RAID重构速度控制方法,在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;若是,则根据预设重构速度控制策略限制后台重构任务的执行速度;若否,则直接全速执行后台重构任务。可见,本申请在前端I/O任务较多时,限制后台重构任务的执行速度,以减少后台重构任务占用的磁盘带宽与系统处理器计算资源,从而尽量减小后台重构任务对主机业务的影响;在前端I/O任务较少时,全速执行后台重构任务,从而有利于尽快恢复RAID的冗余性能。
在上述实施例的基础上:
作为一种可选的实施例,RAID层正在处理的主机下发的I/O请求数量的统计过程,包括:
在主机下发一I/O请求至RAID层时,将RAID层正在处理的主机下发的I/O请求数量加1;
在RAID层完成主机下发的一I/O请求且将请求结果返回至主机时,将RAID层正在处理的主机下发的I/O请求数量减1。
具体地,本申请可在RAID层的入口处统计主机下发的I/O请求数量(初始值为0),具体是在主机下发的一个I/O请求提交到RAID层时,将主机下发的I/O请求数量加1,即RAID层正在处理的主机下发的I/O请求数量加1;此外,可以理解的是,每当RAID层完成主机下发的一个I/O请求并将请求结果返回至主机时,将RAID层正在处理的主机下发的I/O请求数量减1,从而获取到准确的RAID层正在处理的主机下发的I/O请求数量,供后续进行降速判断。
作为一种可选的实施例,根据预设重构速度控制策略限制后台重构任务的执行速度的过程,包括:
获取后台重构任务的可用带宽,并根据预设带宽速率对应关系确定与可用带宽对应的目标速率;其中,目标速率表示每秒处理的条带数目;
获取系统已处理完成的第一条带数目和即将同批次处理的第二条带数目,并根据(第一条带数目+第二条带数目)/后台重构任务的已执行时间,得到预期平均速率;
判断预期平均速率是否小于目标速率;
若是,则执行即将处理的条带对应的处理任务;
若否,则不执行即将处理的条带对应的处理任务,并返回执行判断预期平均速率是否小于目标速率的步骤。
具体地,重构速度控制策略的设置原理为:1)定义目标速率,即每秒处理的条带数目:提前设置后台重构任务的可用带宽与目标速率之间的对应关系(简称带宽速率对应关系),具体是后台重构任务的可用带宽越大,目标速率值越大,目的是在获取后台重构任务当前的可用带宽时,根据所设带宽速率对应关系确定与后台重构任务当前的可用带宽对应的目标速率,以供后续任务调度判定。2)计算预期平均速率:首先获取系统已处理完成的条带(即已重构完成的条带)的总数目(称为第一条带数目),并获取系统即将同批次处理的条带的总数目(称为第二条带数目,需要说明的是,系统同批次处理的条带的总数目是提前设定好的,有的系统是一批次处理一个,有的系统是一批次处理多个,在此不做特别的限定);根据(第一条带数目+第二条带数目)/后台重构任务的已执行时间,得到预期平均速率。3)任务调度判定:若预期平均速率小于目标速率,说明后台重构任务继续执行不会影响系统前端任务I/O性能,则执行即将处理的条带对应的处理任务;若预期平均速率不小于目标速率,说明后台重构任务继续执行会影响系统前端任务I/O性能,则不执行即将处理的条带对应的处理任务,等待预期平均速率小于目标速率时才执行即将处理的条带对应的处理任务。
此外,需要说明的是,条带技术是把连续的数据分割成相同大小的数据块,并将每段数据块分别写入到RAID中的不同磁盘上的方法,一段数据块写入磁盘的一个分块中,则连续的数据对应写入的多个分块总称为一个条带。对于每个待处理的条带,都会将条带中完好的分块从该分块所在的磁盘中读取到内存中,对其进行校验计算,以得到条带中坏盘所在分块的值,然后将其写入热备盘中,从而完成条带重构。
作为一种可选的实施例,获取后台重构任务的可用带宽的过程,包括:
根据预设请求数量带宽反比关系确定与RAID层正在处理的主机下发的I/O请求数量对应的目标带宽,并将目标带宽作为后台重构任务的可用带宽。
具体地,后台重构任务的可用带宽的第一种获取方式:本申请可设置后台重构任务的可用带宽与RAID层正在处理的主机下发的I/O请求数量呈反比关系,即RAID层正在处理的主机下发的I/O请求数量越多,后台重构任务的可用带宽越小,则在获取后台重构任务的可用带宽时,根据预设请求数量带宽反比关系确定与RAID层正在处理的主机下发的I/O请求数量对应的目标带宽,即为后台重构任务的可用带宽。
作为一种可选的实施例,获取后台重构任务的可用带宽的过程,包括:
根据预设磁盘数目带宽正比关系确定与系统磁盘总数目对应的目标带宽,并将目标带宽作为后台重构任务的可用带宽。
具体地,后台重构任务的可用带宽的第二种获取方式:本申请可设置后台重构任务的可用带宽与系统磁盘总数目呈正比关系,即系统磁盘总数目越多,后台重构任务的可用带宽越大,则在获取后台重构任务的可用带宽时,根据预设磁盘数目带宽正比关系确定与系统磁盘总数目对应的目标带宽,即为后台重构任务的可用带宽。
当然,本申请还可设置其它方式获取后台重构任务的可用带宽(宏定义值),至于具体选用哪种方式获取后台重构任务的可用带宽,本申请在此不做特别的限定。
作为一种可选的实施例,根据预设带宽速率对应关系确定与可用带宽对应的目标速率的过程,包括:
根据关系式totalRate=multiplier*tranditionalRate/precisionScalar;multiplier=(precisionScalar*(setWidth+8-1))/(8*n)求取与可用带宽对应的总速率totalRate;其中,totalRate的单位为KB/s;tranditionalRate为预设传统速率;precisionScalar为预设系数值;setWidth为后台重构任务的可用带宽;当系统RAID为RAID5或RAID6时,n=2;
根据关系式targetRate=totalRate/stripSize求取与可用带宽对应的目标速率targetRate;其中,stripSize为系统分块大小,单位为KB。
具体地,后台重构任务的可用带宽与目标速率之间的对应关系表示为:multiplier=(precisionScalar*(setWidth+8-1))/(8*n)totalRate=multiplier*tranditionalRate/precisionScalar;则可通过后台重构任务的可targetRate=totalRate/stripSize
用带宽来计算该可用带宽允许的目标速率。
比如,本申请可设置后台重构任务的可用带宽=系统磁盘总数目,系统磁盘总数目为36块盘,traditionalRate=61440(KB/s),n=2,stripSize=128KB,条带宽度为5,则计算如下:
由此计算得到:
targeRate->grain_per_second=totalRate(KB/s)/stripSize(KB)=645。
由于普通重构为重构整个盘的数据,已知每块盘为3.5TB,则可以根据上述速率计算得到理论上重构完整个盘所需的时间:
作为一种可选的实施例,RAID重构速度控制方法还包括:
预先设置一个表征系统所有条带的重构情况的重构元数据表;
在执行后台重构任务时,根据系统中条带的实际重构情况更新重构元数据表,以通过重构元数据表确定已重构完成的条带和未重构完成的条带。
进一步地,本申请可提前设置一个表征系统所有条带的重构情况的重构元数据表,具体为K(条带编号)-V(是否被重构,1表示被重构,0表示未被重构)结构。在执行后台重构任务时,需根据系统中条带的实际重构情况更新重构元数据表,则可通过重构元数据表确定已重构完成的条带(即上述第一条带数目)和未重构完成的条带。
需要说明的是,在后台重构任务触发后,会通过查找重构元数据表来确认哪些条带需要被重构,然后会对这些条带进行遍历,对于每个待处理的条带,都会将条带中完好的分块从该分块所在的磁盘中读取到内存中,对其进行校验计算,以得到条带中坏盘所在分块的数据,然后将这些数据写入热备盘中,条带重构完成,与此同时,更新重构元数据表。此时主机I/O始终进行,这样就有两种可能性,一种是主机I/O写到了完好的条带上,该条带没有发生磁盘掉线的情况,这种情况与正常的I/O处理方式相同,不受重构的影响;另一种是主机I/O写到了坏块上,而此时该坏块还未被重构,此时会触发一次写前重构,即会先将该条带正常的数据读取到内存中,对其进行校验计算,以得到前端业务对应写入坏盘所在分块的数据,然后将这些数据写入热备盘中。在此过程中,与后台重构任务一样,也会更新重构元数据表,占用的带宽资源也算在后台任务之内。也就是说,已重构完成的条带由后台重构和写前重构两种情况触发得到。
作为一种可选的实施例,RAID重构速度控制方法还包括:
预先为目标速率设置一个速率系数;
在接收到包含速率系数值的速率调整指令时,将目标速率乘以速率系数值,并根据乘积结果更新目标速率。
进一步地,本申请还可提前为目标速率设置一个速率系数,在接收到包含速率系数值的速率调整指令时,将目标速率乘以速率系数值,乘积结果即为新的目标速率,之后将使用新的目标速率进行工作,以实现用户按需动态调整目标速率。
此外,本申请还可计算系统实际平均速率:获取系统已处理完成的第一条带数目,根据第一条带数目/后台重构任务的已执行时间,得到实际平均速率,供用户查看。
请参照图2,图2为本发明实施例提供的一种RAID重构速度控制系统的结构示意图。
该RAID重构速度控制系统包括:
判断模块1,用于在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;若是,则执行限速模块2;若否,则执行全速模块3;
限速模块2,用于根据预设重构速度控制策略限制后台重构任务的执行速度;
全速模块3,用于直接全速执行后台重构任务。
本申请提供的重构速度控制系统的介绍请参考上述重构速度控制方法的实施例,本申请在此不再赘述。
本申请提供了一种RAID重构速度控制装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行计算机程序时实现上述任一种RAID重构速度控制方法的步骤。
本申请提供的重构速度控制装置的介绍请参考上述重构速度控制方法的实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种RAID重构速度控制方法,其特征在于,包括:
在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;
若是,则根据预设重构速度控制策略限制后台重构任务的执行速度;
若否,则直接全速执行后台重构任务;
所述根据预设重构速度控制策略限制后台重构任务的执行速度的过程,包括:
获取后台重构任务的可用带宽,并根据预设带宽速率对应关系确定与所述可用带宽对应的目标速率;其中,所述目标速率表示每秒处理的条带数目;
获取系统已处理完成的第一条带数目和即将同批次处理的第二条带数目,并根据(第一条带数目+第二条带数目)/后台重构任务的已执行时间,得到预期平均速率;
判断所述预期平均速率是否小于所述目标速率;
若是,则执行即将处理的条带对应的处理任务;
若否,则不执行即将处理的条带对应的处理任务,并返回执行判断所述预期平均速率是否小于所述目标速率的步骤;
所述根据预设带宽速率对应关系确定与所述可用带宽对应的目标速率的过程,包括:
2.如权利要求1所述的RAID重构速度控制方法,其特征在于,所述RAID层正在处理的主机下发的I/O请求数量的统计过程,包括:
在主机下发一I/O请求至RAID层时,将RAID层正在处理的主机下发的I/O请求数量加1;
在RAID层完成主机下发的一I/O请求且将请求结果返回至主机时,将RAID层正在处理的主机下发的I/O请求数量减1。
3.如权利要求1所述的RAID重构速度控制方法,其特征在于,所述获取后台重构任务的可用带宽的过程,包括:
根据预设请求数量带宽反比关系确定与RAID层正在处理的主机下发的I/O请求数量对应的目标带宽,并将所述目标带宽作为后台重构任务的可用带宽。
4.如权利要求1所述的RAID重构速度控制方法,其特征在于,所述获取后台重构任务的可用带宽的过程,包括:
根据预设磁盘数目带宽正比关系确定与系统磁盘总数目对应的目标带宽,并将所述目标带宽作为后台重构任务的可用带宽。
5.如权利要求1所述的RAID重构速度控制方法,其特征在于,所述RAID重构速度控制方法还包括:
预先设置一个表征系统所有条带的重构情况的重构元数据表;
在执行后台重构任务时,根据系统中条带的实际重构情况更新所述重构元数据表,以通过所述重构元数据表确定已重构完成的条带和未重构完成的条带。
6.如权利要求1-5任一项所述的RAID重构速度控制方法,其特征在于,所述RAID重构速度控制方法还包括:
预先为所述目标速率设置一个速率系数;
在接收到包含速率系数值的速率调整指令时,将所述目标速率乘以所述速率系数值,并根据乘积结果更新所述目标速率。
7.一种RAID重构速度控制系统,其特征在于,包括:
判断模块,用于在系统后台重构任务触发后,判断RAID层正在处理的主机下发的I/O请求数量是否大于预设数量阈值;若是,则执行限速模块;若否,则执行全速模块;
限速模块,用于根据预设重构速度控制策略限制后台重构任务的执行速度;
全速模块,用于直接全速执行后台重构任务;
所述限速模块具体用于获取后台重构任务的可用带宽,并根据预设带宽速率对应关系确定与所述可用带宽对应的目标速率;其中,所述目标速率表示每秒处理的条带数目;
获取系统已处理完成的第一条带数目和即将同批次处理的第二条带数目,并根据(第一条带数目+第二条带数目)/后台重构任务的已执行时间,得到预期平均速率;
判断所述预期平均速率是否小于所述目标速率;
若是,则执行即将处理的条带对应的处理任务;
若否,则不执行即将处理的条带对应的处理任务,并返回执行判断所述预期平均速率是否小于所述目标速率的步骤;
其中,所述根据预设带宽速率对应关系确定与所述可用带宽对应的目标速率的过程,包括:
8.一种RAID重构速度控制装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现如权利要求1-6任一项所述的RAID重构速度控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010725639.1A CN111880962B (zh) | 2020-07-24 | 2020-07-24 | 一种raid重构速度控制方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010725639.1A CN111880962B (zh) | 2020-07-24 | 2020-07-24 | 一种raid重构速度控制方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111880962A CN111880962A (zh) | 2020-11-03 |
CN111880962B true CN111880962B (zh) | 2022-06-10 |
Family
ID=73202061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010725639.1A Active CN111880962B (zh) | 2020-07-24 | 2020-07-24 | 一种raid重构速度控制方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880962B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608923B (zh) * | 2021-06-28 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种动态调整双活卷再同步速度的方法、系统及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940849A (zh) * | 2005-09-30 | 2007-04-04 | 富士通株式会社 | Raid系统及其重构/回拷处理方法 |
CN103345450A (zh) * | 2013-06-26 | 2013-10-09 | 浙江宇视科技有限公司 | 一种动态调整冗余raid阵列重建的装置和方法 |
CN107526531A (zh) * | 2016-06-21 | 2017-12-29 | 伊姆西公司 | 为映射独立盘冗余阵列(raid)选择raid级别的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102611571B1 (ko) * | 2016-11-09 | 2023-12-07 | 삼성전자주식회사 | 비휘발성 메모리를 포함하는 raid 시스템 |
-
2020
- 2020-07-24 CN CN202010725639.1A patent/CN111880962B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940849A (zh) * | 2005-09-30 | 2007-04-04 | 富士通株式会社 | Raid系统及其重构/回拷处理方法 |
CN103345450A (zh) * | 2013-06-26 | 2013-10-09 | 浙江宇视科技有限公司 | 一种动态调整冗余raid阵列重建的装置和方法 |
CN107526531A (zh) * | 2016-06-21 | 2017-12-29 | 伊姆西公司 | 为映射独立盘冗余阵列(raid)选择raid级别的方法和设备 |
Non-Patent Citations (2)
Title |
---|
Seesaw: Performance Guarantee for RAID Reconstruction;Junping Liu等;《2010 Third International Joint Conference on Computational Science and Optimization》;20100729;第348-351页 * |
一种提高磁盘阵列重建效率的缓存替换算法;毛 波等;《华中科技大学学报(自然科学版)》;20110630;第39卷(第6期);第54-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111880962A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9182923B2 (en) | Controlling throughput of processing units associated with different load types in storage system | |
CN107250975B (zh) | 数据存储系统和数据存储方法 | |
US10235060B1 (en) | Multilevel snapshot replication for hot and cold regions of a storage system | |
CN109358809B (zh) | 一种raid数据存储系统及方法 | |
WO2020037986A1 (zh) | 数据迁移方法及装置 | |
US9778853B1 (en) | Acquisition and kernel memory storage of I/O metrics | |
US9135262B2 (en) | Systems and methods for parallel batch processing of write transactions | |
US20140156611A1 (en) | Efficiency of compression of data pages | |
US11210022B2 (en) | Method, electronic device and computer readable storage medium of storage management | |
WO2021139166A1 (zh) | 基于三维闪存存储结构的错误页识别方法 | |
CN110413454A (zh) | 基于存储阵列的数据重建方法、装置及存储介质 | |
CN111880962B (zh) | 一种raid重构速度控制方法、系统及装置 | |
US11379326B2 (en) | Data access method, apparatus and computer program product | |
US7363453B1 (en) | Method and apparatus for improving storage device performance by selective volume swapping based on hot spot analysis | |
US8015375B1 (en) | Methods, systems, and computer program products for parallel processing and saving tracking information for multiple write requests in a data replication environment including multiple storage devices | |
CN111338579A (zh) | 基于存储池的读写缓存优化方法、系统、终端及存储介质 | |
US10223008B1 (en) | Storage array sizing for compressed applications | |
CN103699340B (zh) | 一种请求处理方法及设备 | |
US20190042365A1 (en) | Read-optimized lazy erasure coding | |
CN110096216B (zh) | 用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品 | |
US9830100B2 (en) | Storage control device and storage control method | |
Chiueh et al. | Software orchestrated flash array | |
US20230289061A1 (en) | Latency in data storage systems | |
CN110515556B (zh) | 数据卷使用容量确定方法、装置、设备及可读存储介质 | |
CN114047886A (zh) | 一种nvme命令处理方法、系统、电子设备及存储介质 |
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 |