CN113253946B - 一种raid阵列巡检方法、装置、设备及存储介质 - Google Patents
一种raid阵列巡检方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113253946B CN113253946B CN202110798211.4A CN202110798211A CN113253946B CN 113253946 B CN113253946 B CN 113253946B CN 202110798211 A CN202110798211 A CN 202110798211A CN 113253946 B CN113253946 B CN 113253946B
- Authority
- CN
- China
- Prior art keywords
- inspection
- raid array
- strip
- inspected
- metadata
- 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
- 238000007689 inspection Methods 0.000 title claims abstract description 185
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000013507 mapping Methods 0.000 claims abstract description 100
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 77
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 239000010453 quartz Substances 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012795 verification Methods 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/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0653—Monitoring storage devices or 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种RAID阵列巡检方法,该方法利用元数据记录在巡检顺序上连续的多个条带的巡检状态,在每次巡检之前,根据元数据确定待巡检条带的巡检序号,进而根据映射算法计算出待巡检条带在RAID阵列中的排列序号,之后执行巡检流程,巡检完成后,根据反向映射算法计算出待巡检条带在元数据中的巡检序号,最终同步更新元数据。该映射算法的映射规则为:将整个RAID阵列划分为多个区域,在巡检过程中,每巡检完一定数量的条带就跳转到下一个区域继续巡检。通过这种方式,实现了将巡检位置均匀分散到整个RAID阵列的目的,提高了RAID巡检任务的灵活性。此外,本申请还提供了一种RAID阵列巡检装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种RAID阵列巡检方法、装置、设备及可读存储介质。
背景技术
RAID(Redundant Array of Independent Disks)作为一种独立冗余磁盘阵列,拥有重构、巡检、校验同步等多种后台任务。在这些后台任务运行过程中,需要用一些数据记录存储位置、历史数据、资源查找、文件记录等运行特征,这些用来描述运行特征的数据就是元数据。
元数据作为一种提供资源相关信息的结构数据,由于后台任务功能的不同,决定了其数据结构的多样性,比如重构需要支持批量处理加快任务进度,校验同步则会限制同步的个数。RAID阵列巡检作为一种持续进行的周期性任务,要求其元数据结构能够不断的往前移动,直达RAID阵列的结尾,然后重新回到头部进行新一轮遍历。
现有技术中,RAID阵列巡检任务所用的元数据结构可以看作一个滑动窗口,用于描述其覆盖的多个条带的巡检状态。滑动窗口初始位置为RAID阵列的头部,在巡检任务执行过程中,推动滑动窗口不断前移,同时对应更新其覆盖的条带的巡检状态,直至到达RAID阵列的结尾,控制滑动窗口重新回到RAID阵列头部进行新一轮遍历。
由于RAID阵列巡检任务的巡检周期长达七天,而每个任务周期都是从头到尾逐次巡检条带,这种实现方式任务执行繁冗,巡检位置单一,灵活性不足。
发明内容
本申请的目的是提供一种RAID阵列巡检方法、装置、设备及可读存储介质,用以解决RAID阵列巡检任务执行繁冗,巡检位置单一,灵活性较差的问题。其具体方案如下:
第一方面,本申请提供了一种RAID阵列巡检方法,包括:
根据元数据确定巡检状态为未巡检的条带以作为待巡检条带,并从所述元数据中读取所述待巡检条带在本轮巡检过程中的巡检序号;
根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号;
在所述RAID阵列中,根据所述排列序号对相应的条带进行巡检;
根据反向映射算法对所述排列序号进行计算,得到所述巡检序号;
在所述元数据中,根据所述巡检序号对相应的条带的巡检状态进行更新;
其中,所述映射算法满足以下映射规则:RAID阵列包括X个条带,将RAID阵列均匀划分为M个区域,每巡检完N个条带跳转到下一个区域继续巡检,其中N个条带记为一个分组;
所述根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号,包括:
将待巡检条带的巡检序号记为P,则,根据映射算法得到待巡检条带在RAID阵列中的排列序号为:Q=A* X/M+B*N+C,其中(A,B,C)表示待巡检条带为第A个区域的第B个分组的第C个条带,A属于[0,M-1],B属于[0, X/M/N-1],C属于[0,N-1];
相应的,所述根据反向映射算法对所述排列序号进行计算,得到所述巡检序号,包括:
根据反向映射算法得到待巡检条带的巡检序号为:P=B*M*N+A*N+C。
可选的,在所述根据元数据确定巡检状态为未巡检的条带以作为待巡检条带之前,还包括:
在本轮巡检开始之前,初始化元数据,其中所述元数据用于记录在巡检序号上连续的Y个条带的巡检序号和巡检状态,其中Y小于所述RAID阵列的条带总量。
可选的,所述Y的取值等于所述N的取值。
可选的,所述M取值为4,所述N取值为16,在所述根据元数据确定巡检状态为未巡检的条带以作为待巡检条带之前,还包括:
将RAID阵列均匀划分为4个区域,在每个所述区域中每16个条带记为一个分组;计算每个所述区域包括的条带数量以及每个所述区域包括的分组数量。
可选的,所述Y取值为32。
可选的,所述根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号,包括:
根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的区域编号、在区域中的分组编号、在分组中的位置序号,进而得到所述待巡检条带在RAID阵列中的排列序号。
可选的,所述根据反向映射算法对所述排列序号进行计算,得到所述巡检序号,包括:
根据反向映射算法对所述排列序号进行计算,得到所述待巡检条带在RAID阵列中的区域编号、在区域中的分组编号、在分组中的位置序号,进而得到所述待巡检条带在元数据中的巡检序号。
第二方面,本申请提供了一种RAID阵列巡检装置,包括:
巡检序号确定模块,用于根据元数据确定巡检状态为未巡检的条带以作为待巡检条带,并从所述元数据中读取所述待巡检条带在本轮巡检过程中的巡检序号;
正向映射模块,用于根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号;
巡检模块,用于在所述RAID阵列中,根据所述排列序号对相应的条带进行巡检;
反向映射模块,用于根据反向映射算法对所述排列序号进行计算,得到所述巡检序号;
元数据更新模块,用于在所述元数据中,根据所述巡检序号对相应的条带的巡检状态进行更新;
其中,所述映射算法满足以下映射规则:RAID阵列包括X个条带,将RAID阵列均匀划分为M个区域,每巡检完N个条带跳转到下一个区域继续巡检,其中N个条带记为一个分组;
所述正向映射模块用于:
将待巡检条带的巡检序号记为P,则,根据映射算法得到待巡检条带在RAID阵列中的排列序号为:Q=A* X/M+B*N+C,其中(A,B,C)表示待巡检条带为第A个区域的第B个分组的第C个条带,A属于[0,M-1],B属于[0, X/M/N-1],C属于[0,N-1];
相应的,所述反向映射模块用于:
根据反向映射算法得到待巡检条带的巡检序号为:P=B*M*N+A*N+C。
第三方面,本申请提供了一种RAID阵列巡检设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的RAID阵列巡检方法。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的RAID阵列巡检方法。
本申请所提供的一种RAID阵列巡检方法,包括:根据元数据确定巡检状态为未巡检的条带以作为待巡检条带,并从元数据中读取待巡检条带在本轮巡检过程中的巡检序号;根据映射算法对巡检序号进行计算,得到待巡检条带在RAID阵列中的排列序号;在RAID阵列中,根据排列序号对相应的条带进行巡检;根据反向映射算法对排列序号进行计算,得到巡检序号;在元数据中,根据巡检序号对相应的条带的巡检状态进行更新;其中,所述映射算法满足以下映射规则:将所述RAID阵列均匀划分为M个区域,在巡检过程中,每巡检完N个条带跳转到下一个区域继续巡检。
现有技术中,RAID巡检任务的元数据用于记录在RAID阵列中连续排列的多个条带的巡检状态,因此,根据元数据可以直接确定待巡检条带在RAID阵列中的排列序号,但是,这种方式存在巡检位置固定,灵活性较差的问题。针对该问题,该方法利用元数据记录在巡检顺序上连续的多个条带的巡检状态,在每次巡检之前,根据元数据确定待巡检条带的巡检序号,进而根据映射算法计算出待巡检条带在RAID阵列中的排列序号,之后执行巡检流程,巡检完成后,根据反向映射算法计算出待巡检条带在元数据中的巡检序号,最终同步更新元数据。该映射算法将RAID阵列均匀划分为M个区域,在巡检过程中,能够保证每巡检完N个条带跳转到下一个区域继续巡检,最终实现了将巡检位置分散到整个RAID阵列的目的,提高了RAID巡检任务的灵活性。
此外,本申请还提供了一种RAID阵列巡检装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中RAID巡检任务中元数据的示意图;
图2为本申请中RAID巡检任务中元数据的示意图;
图3为本申请所提供的RAID阵列巡检方法实施例一的流程图;
图4为本申请所提供的RAID阵列巡检方法实施例一的过程示意图;
图5为本申请所提供的RAID阵列巡检方法实施例二中正向映射算法的示意图;
图6为本申请所提供的RAID阵列巡检方法实施例二中反向映射算法的示意图;
图7为本申请所提供的RAID阵列巡检装置实施例的功能框图;
图8为本申请所提供的RAID阵列巡检设备实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,RAID阵列巡检任务所用的元数据(Metadata)结构可以看作一个滑动窗口,一般覆盖32个条带。该元数据结构用一个整形变量watermark记录滑动窗口的起始地址;用另一个整形变量bitmap的32个bit位对应该滑动窗口覆盖的32个条带的巡检状态(如bit位值为1表示对应条带有效,尚未巡检;bit位值为0表示对应条带已巡检)。在任务执行过程中,通过递增修改watermark的值推动滑动窗口不断前移,同时对应更新bitmap的bit位控制条带巡检;到达RAID阵列的结尾,通过将watermark赋值为0,重新回到RAID阵列头部进行新一轮遍历。
可见,如图1所示,现有技术中,RAID巡检任务的元数据用于记录在RAID阵列中连续排列的多个条带的巡检状态,0表示已巡检,1 表示未巡检,因此,根据元数据可以直接确定待巡检条带在RAID阵列中的排列序号,图1中下一个待巡检条带的排列序号为5。但是,这种方式存在巡检位置固定,灵活性较差的问题。
针对该问题,本申请提供了一种RAID阵列巡检方法、装置、设备及可读存储介质,不再利用元数据存储在RAID阵列上顺序排列的多个条带的巡检状态,而是利用元数据存储在巡检顺序上连续的多个条带的巡检状态,0表示已巡检,1表示未巡检,如图2所示,在巡检过程中,先根据元数据确定待巡检条带的巡检序号,进而根据映射算法计算得到待巡检条带在RAID阵列中的排列序号,以便对该条带执行巡检流程,如图2中,下一个待巡检条带的巡检序号为5,根据映射算法对5进行计算,得到下一个待巡检条带在RAID阵列的排列序号,这里假设计算得到的排列序号为3。巡检完成后,再根据反向映射算法进行计算,得到该条带在元数据中的巡检序号,以便在元数据中更新该条带的巡检状态。其中,映射算法的映射规则为:将整个RAID阵列划分为多个区域,在巡检过程中,每巡检完一定数量的条带就跳转到下一个区域继续巡检。通过这种方式,实现了将巡检位置均匀分散到整个RAID阵列的目的,提升了RAID阵列巡检任务的灵活性。
下面对本申请提供的一种RAID阵列巡检方法实施例一进行介绍,参见图3和图4,实施例一包括以下步骤:
S11、根据元数据确定巡检状态为未巡检的条带以作为待巡检条带,并从元数据中读取待巡检条带在本轮巡检过程中的巡检序号;
S12、根据映射算法对巡检序号进行计算,得到待巡检条带在RAID阵列中的排列序号;
S13、在RAID阵列中,根据排列序号对相应的条带进行巡检;
S14、根据反向映射算法对排列序号进行计算,得到巡检序号;
S15、在元数据中,根据巡检序号对相应的条带的巡检状态进行更新;
其中,所述映射算法满足以下映射规则:RAID阵列包括X个条带,将RAID阵列均匀划分为M个区域,每巡检完N个条带跳转到下一个区域继续巡检,其中N个条带记为一个分组。
本实施例中,巡检序号是指条带的巡检次序,在一轮巡检过程中,假设某个条带是第3个被巡检的条带,那么,该条带的巡检序号即为3。排列序号是指条带在RAID阵列中的排列次序,例如,某个条带在RAID阵列中与头部条带相隔5个条带,那么该条带的排列序号即为5。
具体的,RAID阵列包括X个条带,将整个阵列均匀划分为M个区域,每巡检完N个条带跳转到下一个区域继续巡检,其中N个条带记为一个分组。所以,每个区域的条带数量=X/M,每个区域包括的分组数量=X/(M*N)。假设当前的待巡检条带的巡检序号为P,则,根据映射算法可以得到该待巡检条带在RAID阵列中的排列序号Q=A* X/M+B*N+C,其中(A,B,C)表示待巡检条带为第A个区域的第B个分组的第C个条带,A属于[0,M-1],B属于[0, X/M/N-1],C属于[0,N-1]。相应的,根据反向映射算法可以得到该待巡检条带的巡检序号P=B*M*N+A*N+C。
根据项目实际需要,可以将RAID阵列划分为四个、八个、十六个甚至更多区域,只需要对应修改映射算法的参数即可。这样可以更有效的细化条带的映射区分,优化RAID阵列的巡检位置。
本实施例所提供一种RAID阵列巡检方法,利用元数据存储在巡检顺序上连续的多个条带的巡检状态,在巡检过程中,先根据元数据确定待巡检条带的巡检序号,进而根据映射算法计算得到待巡检条带在RAID阵列中的排列序号,以便对该条带执行巡检流程,巡检完成后,再根据反向映射算法进行计算,得到该条带在元数据中的巡检序号,以便在元数据中更新该条带的巡检状态。其中,映射算法的映射规则为:将整个RAID阵列划分为多个区域,在巡检过程中,每巡检完一定数量的条带就跳转到下一个区域继续巡检。通过这种方式,实现了将巡检位置均匀分散到整个RAID阵列的目的,提升了RAID阵列巡检任务的灵活性。
下面开始详细介绍本申请提供的一种RAID阵列巡检方法实施例二。
实施例二把整个RAID阵列均分成4个区域,每巡检完16个条带就跳转到下一个区域,通过映射算法建立条带在元数据的巡检序号与条带在RAID阵列的排列序号之间一一对应的映射关系。在从元数据中获取待巡检条带的巡检序号之后,通过映射算法,将待巡检条带映射到均分区域中,进而获取待巡检条带在RAID阵列中的排列序号,即条带号,据此进行条带巡检,当条带巡检完成后,通过反向映射算法,计算出该条带在元数据中的巡检序号,据此更新元数据对应的bit位。
总体来说,实施例二可分为2大流程:正向映射计算过程以及反向映射计算过程,下面分别对二者进行展开介绍。
从元数据的bitmap中确定bit位为1的条带作为待巡检条带,并获取待巡检条带的巡检序号(tmpStride)。通过正向映射算法,计算出映射后的条带,得到待巡检条带的排列序号(actStride)。正向映射流程如图5所示,包括:把整个RAID阵列虚拟的均分成4个区域,均分总条带数,得到区域长度(即每个区域包含的条带数量);分别计算出条带所属的区域编号、在区域中的分组编号、在分组中的位置序号;使用计算公式“区域编号*区域长度 +分组编号*16 +位置序号”计算出映射后的条带。
正向映射算法如下:
(1)把整个RAID阵列虚拟的均分成4个区域,RAID阵列总条带数除以4,可以计算出每个区域覆盖的条带数量(quarterSize)。
(2)计算 tmpStride 属于哪个区域,获取该区域编号(quarter),并要保证区域编号的区间为0~3,算法如下:
quarter =(tmpStride & 0x0000003f) >> 4
(3)设置每巡检16个条带更换一个区域,即16个条带作为一个分组,所以需要计算tmpStride在该区域上属于第几组条带(group),算法如下:
group = tmpStride >> 6
(4)计算 tmpStride在该区域上该分组内的位置序号(index),区间为0~15,算法如下:
index =tmpStride & 0x0000000F
(5)最终actStride=区域编号*区域长度 + 分组编号*16 + 在该分组的序号,算法如下:
actStride =quarter *quarterSize + ( group << 4) + index
条带巡检完成后,需要在巡检元数据中标记该条带已经巡检完成。经过正向映射计算后,条带在RAID阵列的排列序号不等于条带在元数据中的巡检序号,需要通过反向映射算法把排列序号(actStride)转换成巡检顺序(tmpStride)。反向映射流程如图6所示,包括:把整个RAID阵列虚拟的均分成4个区域,均分总条带数,得到区域长度;分别计算出映射条带在区域上的对应数据、在分组上的对应数据、所属分组上的位置序号;使用计算公式“区域上的对应数据 + 分组上的对应数据 + 在分组内的序号”计算出滑动窗口覆盖的条带。
反向映射算法如下:
(1)计算 actStride 属于哪个区域,条带号除以每个区域覆盖的条带数量(quarterSize),即可获条带所在的区域编号(quarter),算法如下:
quarter =actStride / quarterSize
(2)计算 actStride在该区域上分组内的位置序号(index),算法如下:
index =(actStride % quarterSize) & 0x0000000F
(3)计算 actStride在该区域上完整覆盖的16条带分组的条带数目(groupData),算法如下:
groupData =(actStride % quarterSize) & 0xFFFFFFF0
(4)最终tmpStride=区域对应数据 + 分组对应数据 + 在分组内的序号,算法如下:
tmpStride =quarter << 4 + groupData << 2 + index
可见,本实施例提供的一种RAID阵列巡检方法,把整个RAID阵列虚拟的均分成4个区域,然后通过映射算法,将元数据覆盖的条带动态的映射到这些均分区域上。由此实现,实际巡检的是均分区域上的条带,而不是元数据覆盖的条带,从而有效优化阵列巡检的位置,将巡检的位置分散到整个RAID阵列,提高了任务处理的灵活性,从而有效提高检测阵列媒介错误的范围,保证RAID的性能和稳定性。
下面对本申请实施例提供的RAID阵列巡检装置进行介绍,下文描述的RAID阵列巡检装置与上文描述的RAID阵列巡检方法可相互对应参照。
如图7所示,本实施例的RAID阵列巡检装置,包括:
巡检序号确定模块71,用于根据元数据确定巡检状态为未巡检的条带以作为待巡检条带,并从所述元数据中读取所述待巡检条带在本轮巡检过程中的巡检序号;
正向映射模块72,用于根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号;
巡检模块73,用于在所述RAID阵列中,根据所述排列序号对相应的条带进行巡检;
反向映射模块74,用于根据反向映射算法对所述排列序号进行计算,得到所述巡检序号;
元数据更新模块75,用于在所述元数据中,根据所述巡检序号对相应的条带的巡检状态进行更新;
其中,所述映射算法满足以下映射规则:RAID阵列包括X个条带,将RAID阵列均匀划分为M个区域,每巡检完N个条带跳转到下一个区域继续巡检,其中N个条带记为一个分组;
所述正向映射模块用于:
将待巡检条带的巡检序号记为P,则,根据映射算法得到待巡检条带在RAID阵列中的排列序号为:Q=A* X/M+B*N+C,其中(A,B,C)表示待巡检条带为第A个区域的第B个分组的第C个条带,A属于[0,M-1],B属于[0, X/M/N-1],C属于[0,N-1];
相应的,所述反向映射模块用于:
根据反向映射算法得到待巡检条带的巡检序号为:P=B*M*N+A*N+C。
本实施例的RAID阵列巡检装置用于实现前述的RAID阵列巡检方法,因此该装置的具体实施方式可见前文中的RAID阵列巡检方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
此外,本申请还提供了一种RAID阵列巡检设备,如图8所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上文所述的RAID阵列巡检方法。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的RAID阵列巡检方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种RAID阵列巡检方法,其特征在于,包括:
根据元数据确定巡检状态为未巡检的条带以作为待巡检条带,并从所述元数据中读取所述待巡检条带在本轮巡检过程中的巡检序号;
根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号;
在所述RAID阵列中,根据所述排列序号对相应的条带进行巡检;
根据反向映射算法对所述排列序号进行计算,得到所述巡检序号;
在所述元数据中,根据所述巡检序号对相应的条带的巡检状态进行更新;
其中,所述映射算法满足以下映射规则:RAID阵列包括X个条带,将RAID阵列均匀划分为M个区域,每巡检完N个条带跳转到下一个区域继续巡检,其中N个条带记为一个分组;
所述根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号,包括:
将待巡检条带的巡检序号记为P,则,根据映射算法得到待巡检条带在RAID阵列中的排列序号为:Q=A* X/M+B*N+C,其中(A,B,C)表示待巡检条带为第A个区域的第B个分组的第C个条带,A属于[0,M-1],B属于[0, X/M/N-1],C属于[0,N-1];
相应的,所述根据反向映射算法对所述排列序号进行计算,得到所述巡检序号,包括:
根据反向映射算法得到待巡检条带的巡检序号为:P=B*M*N+A*N+C。
2.如权利要求1所述的方法,其特征在于,在所述根据元数据确定巡检状态为未巡检的条带以作为待巡检条带之前,还包括:
在本轮巡检开始之前,初始化元数据,其中所述元数据用于记录在巡检序号上连续的Y个条带的巡检序号和巡检状态,其中Y小于所述RAID阵列的条带总量。
3.如权利要求2所述的方法,其特征在于,所述Y的取值等于所述N的取值。
4.如权利要求2所述的方法,其特征在于,所述M取值为4,所述N取值为16,在所述根据元数据确定巡检状态为未巡检的条带以作为待巡检条带之前,还包括:
将RAID阵列均匀划分为4个区域,在每个所述区域中每16个条带记为一个分组;计算每个所述区域包括的条带数量以及每个所述区域包括的分组数量。
5.如权利要求4所述的方法,其特征在于,所述Y取值为32。
6.如权利要求1所述的方法,其特征在于,所述根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号,包括:
根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的区域编号、在区域中的分组编号、在分组中的位置序号,进而得到所述待巡检条带在RAID阵列中的排列序号。
7.如权利要求6所述的方法,其特征在于,所述根据反向映射算法对所述排列序号进行计算,得到所述巡检序号,包括:
根据反向映射算法对所述排列序号进行计算,得到所述待巡检条带在RAID阵列中的区域编号、在区域中的分组编号、在分组中的位置序号,进而得到所述待巡检条带在元数据中的巡检序号。
8.一种RAID阵列巡检装置,其特征在于,包括:
巡检序号确定模块,用于根据元数据确定巡检状态为未巡检的条带以作为待巡检条带,并从所述元数据中读取所述待巡检条带在本轮巡检过程中的巡检序号;
正向映射模块,用于根据映射算法对所述巡检序号进行计算,得到所述待巡检条带在RAID阵列中的排列序号;
巡检模块,用于在所述RAID阵列中,根据所述排列序号对相应的条带进行巡检;
反向映射模块,用于根据反向映射算法对所述排列序号进行计算,得到所述巡检序号;
元数据更新模块,用于在所述元数据中,根据所述巡检序号对相应的条带的巡检状态进行更新;
其中,所述映射算法满足以下映射规则:RAID阵列包括X个条带,将RAID阵列均匀划分为M个区域,每巡检完N个条带跳转到下一个区域继续巡检,其中N个条带记为一个分组;
所述正向映射模块用于:
将待巡检条带的巡检序号记为P,则,根据映射算法得到待巡检条带在RAID阵列中的排列序号为:Q=A* X/M+B*N+C,其中(A,B,C)表示待巡检条带为第A个区域的第B个分组的第C个条带,A属于[0,M-1],B属于[0, X/M/N-1],C属于[0,N-1];
相应的,所述反向映射模块用于:
根据反向映射算法得到待巡检条带的巡检序号为:P=B*M*N+A*N+C。
9.一种RAID阵列巡检设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1至7任意一项所述的RAID阵列巡检方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1至7任意一项所述的RAID阵列巡检方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110798211.4A CN113253946B (zh) | 2021-07-15 | 2021-07-15 | 一种raid阵列巡检方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110798211.4A CN113253946B (zh) | 2021-07-15 | 2021-07-15 | 一种raid阵列巡检方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113253946A CN113253946A (zh) | 2021-08-13 |
CN113253946B true CN113253946B (zh) | 2021-09-17 |
Family
ID=77180384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110798211.4A Active CN113253946B (zh) | 2021-07-15 | 2021-07-15 | 一种raid阵列巡检方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113253946B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115878052B (zh) * | 2023-03-08 | 2023-05-23 | 苏州浪潮智能科技有限公司 | Raid阵列巡检方法、巡检装置和电子设备 |
CN116126254B (zh) * | 2023-04-19 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 磁盘冗余阵列巡检方法、装置、计算机设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6224186B1 (ja) * | 2016-08-01 | 2017-11-01 | 株式会社東芝 | Raidストレージシステム、ストレージコントローラ及びraidアレイパトロール方法 |
CN112148221B (zh) * | 2020-09-18 | 2024-02-13 | 北京浪潮数据技术有限公司 | 一种磁盘冗余阵列的巡检方法、装置、设备及存储介质 |
CN112466382A (zh) * | 2020-10-17 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种raid阵列的巡检方法和装置 |
-
2021
- 2021-07-15 CN CN202110798211.4A patent/CN113253946B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113253946A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113253946B (zh) | 一种raid阵列巡检方法、装置、设备及存储介质 | |
CN109271321B (zh) | 一种贡献代码数统计方法及装置 | |
EP3896873A1 (en) | Field intensity prediction method and apparatus, and device and storage medium | |
CN111276179B (zh) | 一种NAND Flash错误率的分组测试装置 | |
US8904097B2 (en) | Measure of health for writing to locations in flash | |
CN115576500B (zh) | 一种raid阵列的扩容方法及相关装置 | |
US10977180B2 (en) | Hit-based allocation of quotas of a cache space of a cache memory | |
CN114564302A (zh) | 一种gpu资源分配方法、系统、设备以及介质 | |
CN114005481B (zh) | 闪存的擦写能力测试方法、装置、计算机设备和存储介质 | |
CN115185692A (zh) | 支持动态重计算的内存分配和释放决策系统及其方法 | |
CN111389006A (zh) | 一种动作预测方法及装置 | |
CN116705129B (zh) | 固态硬盘的测试方法 | |
CN112256462B (zh) | NAND Flash存储器的寿命预估方法、装置及介质 | |
CN109710195A (zh) | 一种全闪存储负载均衡方法、装置及存储系统 | |
CN107526551A (zh) | 一种cpu多核的io请求处理方法、装置及设备 | |
CN109960470B (zh) | 数据处理方法、装置及领导节点 | |
CN110673788A (zh) | 固态硬盘的数据读取方法、装置、设备及可读存储介质 | |
CN116028327A (zh) | 文件系统读写性能测试方法、装置、可读存储介质及设备 | |
CN108710514B (zh) | 对象跳转控制方法和装置、存储介质及电子装置 | |
CN113343725B (zh) | Rfid多阅读器的防碰撞方法及系统 | |
CN114694755B (zh) | 基因组组装方法、装置、设备及存储介质 | |
CN115687181A (zh) | 一种用于存算处理单元的寻址方法 | |
CN111985644B (zh) | 神经网络生成方法及装置、电子设备及存储介质 | |
CN114418097A (zh) | 神经网络量化处理方法、装置、电子设备及存储介质 | |
JP2005000666A (ja) | デジタルx線撮影において非機能画素をリアルタイムで修正する方法 |
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 |