CN101840360A - Raid系统的快速重建方法及装置 - Google Patents

Raid系统的快速重建方法及装置 Download PDF

Info

Publication number
CN101840360A
CN101840360A CN200910236757A CN200910236757A CN101840360A CN 101840360 A CN101840360 A CN 101840360A CN 200910236757 A CN200910236757 A CN 200910236757A CN 200910236757 A CN200910236757 A CN 200910236757A CN 101840360 A CN101840360 A CN 101840360A
Authority
CN
China
Prior art keywords
bitmap table
disk
write
band
data partition
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.)
Pending
Application number
CN200910236757A
Other languages
English (en)
Inventor
鲍清平
饶国林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Innovation And Technology Storage Technology Co Ltd
Original Assignee
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Innovation And Technology Storage Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd, Innovation And Technology Storage Technology Co Ltd filed Critical CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Priority to CN200910236757A priority Critical patent/CN101840360A/zh
Publication of CN101840360A publication Critical patent/CN101840360A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种独立冗余磁盘阵列(RAID)系统的快速重建方法,包括如下步骤:A、设置初始值为无效的位图表,位图表中的每一位对应RAID系统中至少一个条带;B、对条带进行写操作时,将与该条带对应的位图表的位修改为有效;C、根据所述位图表找到进行过写操作的条带,并对所找到的条带的数据进行恢复。本发明还公开了一种RAID系统的快速重建装置。本发明方案可以迅速实现RAID系统重建,提高了系统的IO性能和可靠性。

Description

RAID系统的快速重建方法及装置
技术领域
本发明涉及计算机存储技术领域,特别涉及独立冗余磁盘阵列(Redundant Array of Independent Disks,RAID)技术,尤其涉及一种RAID系统的快速重建方法及装置。
背景技术
作为网络存储系统的基础和关键部件,RAID以其快速、海量和高可靠性的特点而著称。RAID技术出现后,在工业、军事、教育等各个领域的应用需求十分广泛,对RAID技术的研究也一直是行业热点。
热备盘在正常情况下作为备份用,不用于数据存储,只有当RAID系统中有硬盘损坏时自动取代失效盘,用于存储数据,提高了数据的安全性,从而实现安全冗余。通过加入热备盘恢复失效盘上的数据,RAID重建能够从头到尾恢复失效盘的数据,重建完成之后热备盘就会成为正式的成员盘取代原来的失效盘。这样,通过RAID的重建功能,可以提高其可靠性。
除了RAID0外,其它级别的RAID系统都提供失效盘自动重建的功能。RAID1、10、4、5等系统允许一个磁盘失效,RAID6更是允许两个盘失效,重建功能极大地增强了RAID系统的可靠性。但是,由于RAID系统的成员盘一般都很大,做完一次完整的重建过程需要很长时间。重建一般在后台执行,在做重建操作时,很可能会有上层应用的读写发生,这样,重建会严重的影响RAID系统的IO性能。而且,在重建过程中,一般都不允许有其它磁盘失效的情况发生。
经常发生的情况是:一个RAID系统自新建后,其上只有少数的位置发生了写操作,绝大多数位置还是原始状态。为一个有失效盘的RAID做全面的重建操作,虽然绝对安全,但未必高效。
发明内容
有鉴于此,本发明的目的在于,提出一种RAID系统的快速重建方法及装置,可以极大提高RAID系统的重建速度。
本发明实施例提出的一种独立冗余磁盘阵列RAID系统的快速重建方法,包括如下步骤:
A、设置初始值为无效的位图表,位图表中的每一位对应RAID系统中至少一个条带;
B、对条带进行写操作时,将与该条带对应的位图表的位修改为有效;
C、根据所述位图表找到进行过写操作的条带,并对所找到的条带的数据进行恢复。
所述步骤A之前,进一步包括:
对磁盘进行初始化处理,将所述磁盘的数据存储区域的每一位都写为0;
将完成初始化处理的磁盘组建成RAID系统。
较佳地,所述对RAID系统的磁盘进行初始化处理,将所述磁盘的数据存储区域的每一位都写为0的步骤包括:
将磁盘划分为非数据分区和数据分区;
对该磁盘的数据分区每一位写0;
判断是否成功完成写0操作,若是,将写零完成状态值设置为有效,否则将写零完成状态值设置为无效;
将写零完成状态值写入磁盘的非数据分区。
较佳地,所述将完成初始化处理的磁盘组建成RAID系统的步骤包括:
判断磁盘的非数据分区的写零完成状态值是否均为有效,若否,则提示告警信息,并指明写零完成状态值为无效的磁盘标号。
较佳地,步骤A包括:
A1、根据RAID系统的存储容量大小及条带大小计算条带总数;
A2、根据条带总数决定位图表的一位对应的条带数目N,N为自然数;
A3、在磁盘的非数据分区建立位图表,位图表的每位对应N个连续的条带;
A4、将位图表的每位置0;
A5、将磁盘非数据分区的重建进度指示的初始值设置为-1。
较佳地,所述步骤B包括:
B1、对于当前的写命令,根据其地址和数据长度,计算所述写命令对应到位图表至少一位;
B2、当写操作完成时,将所述写命令对应的位图表的位设置为1。
较佳地,所述步骤C包括:
C1、获取重建进度指示及位图表;
C2、将位图表中的重建进度指示后一位作为当前位,判断当前位的位图表取值是否为0,若是,转至步骤C4,否则执行步骤C3;
C3、计算出该位对应的至少一个条带号,对所述条带号对应的条带进行修复;
C4、把重建进度指示取值置为当前位,判断当前位是否为位图表的最末位,若是,则结束重建流程,否则转至步骤C2。
该方法进一步包括:
根据预先设置的写周期,定期把磁盘的非数据分区的位图表及重建进度指示写入非易失性随机访问存储器;
所述步骤C1为:
从非易失性随机访问存储器中获取重建进度指示及位图表。
本发明实施例还提出一种用于对独立冗余磁盘阵列RAID系统进行快速重建的装置,该装置包括位图表模块和重建模块;
所述位图表模块用于维护位图表,所述位图表中的每一位对应RAID系统中至少一个条带;位图表初始值为无效,当对条带进行写操作时,将与该条带对应的位图表的位修改为有效;
所述重建模块用于根据位图表模块维护的位图表,找到进行过写操作的条带,并对所找到的条带的数据进行恢复。
较佳地,该装置进一步包括:
初始化模块,用于对用于组建RAID系统的磁盘进行初始化处理,将所述磁盘的数据存储区域的每一位都写为0。
所述初始化模块包括:
分区单元,用于将磁盘划分为非数据分区和数据分区;
写零单元,用于对磁盘的数据分区每一位写0;
写零完成设置单元,用于判断写零单元是否成功完成了写0操作,若是,将写零完成状态值设置为有效,否则将写零完成状态值设置为无效;
写入单元,用于将所述写零完成设置单元设置的写零完成状态值写入磁盘的非数据分区。
较佳地,该装置进一步包括:
检验告警模块,用于判断磁盘的非数据分区的写零完成状态值是否均为有效,若否,则提示告警信息,并指明写零完成状态值为无效的磁盘标号。
较佳地,所述位图表模块包括:
计算单元,用于根据RAID系统的存储容量大小及条带大小计算条带总数,并根据条带总数决定位图表的一位对应的条带数目N,N为自然数;
位图表初始化单元,用于在磁盘的非数据分区建立位图表,位图表的每位对应N个连续的条带;将位图表的每位置0;
重建进度指示单元,用于将磁盘非数据分区的重建进度指示的初始值设置为-1,并用于将重建进度指示修改为重建模块当前所重建的条带对应的位图表的位的序号。
较佳地,所述位图表模块包括:
写命令设置单元,用于对于当前的写命令,根据其地址和数据长度,计算所述写命令对应到位图表至少一位;当写操作完成时,将所述写命令对应的位图表的位设置为1。
所述重建模块包括:
获取单元,用于获取重建进度指示及位图表;
修复单元,用于根据重建进度指示获取位图表对应位的下一位的取值,若所述取值为0,则对该取值所在位对应的条带进行修复。
该装置进一步包括:保护模块,用于根据预先设置的写周期,定期把磁盘的非数据分区的位图表及重建进度指示写入非易失性随机访问存储器;
所述重建模块的获取单元用于从所述非易失性随机访问存储器中获取重建进度指示及位图表。
从以上技术方案可以看出,使用位图表记录了自RAID系统创建以来,哪些条带发生了写操作,以便在重建操作必须发生时,只对这些条带对应的区域进行修复处理,而避免对每一个条带均进行修复处理。因此本发明方案可以迅速实现RAID系统重建,提高了系统的IO性能和可靠性。
附图说明
图1是磁盘的初始化过程流程示意图;
图2是位图表的位和RAID的重建处理单元的映射关系示意图;
图3是根据位图表对RAID进行重建的过程流程示意图;以及
图4为本发明实施例的用于实现RAID系统快速重建的装置框图。
具体实施方式
本发明的技术方案的基本思想为:
A、设置初始值为无效的位图表(bitmap),位图表中的每一位对应RAID系统中至少一个条带;
B、对条带进行写操作时,将与该条带对应的位图表的位修改为有效;
C、根据所述位图表找到进行过写操作的条带,并对所找到的条带的数据进行恢复。
本发明技术方案中,使用位图表记录了自RAID系统创建以来,哪些条带发生了写操作,以便在重建操作必须发生时,只对这些条带对应的区域进行修复处理,较佳地,可以把位图表作为RAID系统元数据保存到非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM)上,以便系统重启位图信息能够恢复。这种快速重建的方法,大大提高了系统的IO性能和可靠性。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细阐述。
对于不同级别的RAID系统,其重建的过程不尽相同,为了说明原理的方便,本方法的描述都以RAID5为例。
块是阵列中对单个磁盘存取的单位。比如由三个磁盘组成的RAID系统,块大小64K,那么系统把0-63K数据写入第一个硬盘;64-127K数据写入第二个硬盘,128-255K数据写入第三个硬盘,如表1所示:
  磁盘1   磁盘2   磁盘3
  0-63K   64-127K   128-191K  条带0
  191-255K   256-319K   320-383K  条带1
  384-447K   448-511K   512-575K  条带2
表1
RAID系统中的平行块组成一组条带,比如表1所示的条带0-条带2。在同一个条带中用一个块来存放冗余信息,冗余信息为其他块的″异或″值。在包含了n个块的条带中,只有(n-1)个块是实际的数据,所以RAID5中阵列容量是(n-1)块单盘容量,n通常为大于等于3的自然数。
为RAID5系统做一次全面的重建操作,会从头到尾为每一组条带做数据修复,修复的过程是:首先读出同一条带的磁盘上位于修复线上的一块数据,然后把从修复线上读出的数据做异或操作得到修复数据,最后把修复数据写到热备盘上位于修复线的位置。
为了实现本发明实施例的方法,定义了以下必须的数据结构和状态:
(1)bmp_array数组
unsight long bmp_array[];//存放位图表的数组
(2)重建进度指示(reb_bit_no)
unsigned long reb_bit_no;
该数据用于记录上次已经重建到的位图表的位号;
//初始化时被置为-1;
//如果正在重建时,系统掉电重启,则重启后
//从reb_bit_no+1位的位置开始重建。
(3)磁盘的写零完成(Zero-Out)状态
用于记录磁盘的初始化状态,当磁盘被分区、且数据分区写0完毕,其“Zero-Out”状态置1,否则为0。
图1为本发明实施例的磁盘的初始化过程流程示意图。本发明实施例要求新建一个RAID系统,其存储区域中的每一位均为0。而一般硬盘,即使是尚未使用过的新磁盘,其存储区域中位的取值是随机的,所以需要有一个初始化磁盘的过程。该流程包括如下步骤:
步骤101:顺次扫描RAID系统的各个磁盘。
步骤102:判断是否扫描到一个磁盘,若是,则执行步骤103,否则退出本流程。
步骤103:判断当前扫描到的磁盘是否已划分为非数据分区(COD)和数据分区,且COD分区“Zero-Out”状态为1,若是,则直接退出该磁盘的初始化过程,转到步骤101;否则执行步骤104。
步骤104:为该磁盘划分COD分区和数据分区,顺序执行步骤105。
步骤105:对该磁盘的数据分区每一位写0,完成后顺序执行步骤106。
步骤106:判断是否成功完成写0操作,若是则执行步骤107,否则执行步骤108。
步骤107:将该盘的“Zero-Out”状态置为1,然后执行步骤109。
步骤108:把该盘的“Zero-Out”状态置为0,然后执行步骤109。
步骤109:将“Zero-Out”状态写入该磁盘的“COD”分区中去,完成当前磁盘初始化,然后转至步骤101,转到下一个磁盘接着处理,直到处理完所有的磁盘为止。用于组建RAID系统的所有磁盘成功完成了初始化过程,其数据分区被写0,“Zero-Out”状态均为1,这些磁盘才可以被组建到一个RAID系统。
如果出现了未成功初始化的磁盘,则对该磁盘单独再次进行初始化,直到成功为止;或者,用新磁盘替换该磁盘进行初始化并成功。
在组建RAID系统时,需要执行如下操作:
1、判断所有磁盘的非数据分区的“Zero-Out”状态是否均为1,若否,则提示告警信息,并指明“Zero-Out”状态为0的磁盘标号。这样可以确保组建RAID系统的磁盘都成功进行了初始化处理。
2、在磁盘的非数据分区创建位图表,具体包括:
(2.1)根据RAID系统的大小及其条带大小计算条带总数;
(2.2)根据条带总数决定位图表的一位对应的条带数目N,N为自然数;
(2.3)在磁盘的非数据分区建立位图表,位图表的每位对应N个连续的条带;
(2.4)为位图表的每位置0,表示对应的区域没有发生写操作;
(2.5)将磁盘非数据分区的重建进度指示“reb_bit_no”置为-1。
图2为位图表的位和RAID的重建处理单元的映射关系示意图。如图2所示,位图表的每位都会依次对应到RAID的一个重建处理单元,而每个重建处理单元包含一个或连续的多个条带。位图表初始化时,它的每一位都被置0,当某一位对应的重建处理单元有写操作发生,该位被置为1。
图3为本发明实施例对RAID进行重建的过程流程示意图。reb_bit_no记录了上次已经执行到的位号,重建可能会在系统重启后接着重启前的进程执行,也可能一次执行完毕。具体包括如下步骤:
步骤301:获取已重建到的位图表位编号reb_bit_no。
步骤302:将位图表的第(reb_bit_no+1)位作为当前位。
步骤303:判断当前位的位图表取值是否为0,若是,表示该位对应的条带没有执行过写操作,转至步骤307,否则执行步骤304。
步骤304:计算出该位对应的一个或多个条带号。
步骤305:对这一个或多个条带上相应的区域进行修复。
步骤306:把“reb_bit_no”的取值置为当前位。
步骤307:判断当前位是否为最末位,若是,则结束重建流程,否则转至步骤302。
为保证掉电情况下的数据安全,本发明实施例还提供了位图表元数据的保护操作:
设置写位图表元数据的周期;
定期把位图表及重建进度指示“reb_bit_no”写到NVRAM;
当系统重启时,从NVRAM中读出位图表元数据和“reb_bit_no”,并对读出的该位图表元数据继续进行维护。
图4示出了本发明实施例的用于实现RAID系统快速重建的装置框图。该装置的核心是位图表模块410和重建模块420;
所述位图表模块410用于维护位图表,所述位图表中的每一位对应RAID系统中至少一个条带;位图表初始值为无效,当对条带进行写操作时,将与该条带对应的位图表的位修改为有效;
所述重建模块420用于根据位图表模块410维护的位图表,找到进行过写操作的条带,并对所找到的条带的数据进行恢复。
较佳地,该装置进一步包括:
初始化模块430,用于对用于组建RAID系统的磁盘进行初始化处理,将所述磁盘的数据存储区域的每一位都写为0。
所述初始化模块430包括:
分区单元431,用于将磁盘划分为非数据分区和数据分区。
写零单元432,用于对磁盘的数据分区每一位写0。写零单元432与数据分区之间的关系未在图4中标出。
写零完成判断单元433,用于判断写零单元432是否成功完成了写0操作,若是,将写零完成状态值设置为有效,否则将写零完成状态值设置为无效;
写入单元434,用于将所述写零完成设置单元433设置的写零完成状态值写入磁盘的非数据分区。
较佳地,该装置进一步包括:
检验告警模块440,用于判断磁盘的非数据分区的写零完成状态值是否均为有效,若否,则提示告警信息,并指明写零完成状态值为无效的磁盘标号。
较佳地,所述位图表模块410包括:
计算单元411,用于根据RAID系统的存储容量大小及条带大小计算条带总数,并根据条带总数决定位图表的一位对应的条带数目N,N为自然数;
位图表初始化单元412,用于在磁盘的非数据分区建立位图表,位图表的每位对应N个连续的条带;将位图表的每位置0;
写命令设置单元413,用于对于当前的写命令,根据其地址和数据长度,计算所述写命令对应到位图表至少一位;当写操作完成时,将所述写命令对应的位图表的位设置为1。
重建进度指示单元414,用于将磁盘非数据分区的重建进度指示的初始值设置为-1,并用于将重建进度指示修改为重建模块当前所重建的条带对应的位图表的位的序号。
较佳地,所述重建模块420包括:
获取单元421,用于获取重建进度指示及位图表,可以是从磁盘的非数据分区获取重建进度指示及位图表。
修复单元422,用于根据重建进度指示获取位图表对应位的下一位的取值,若所述取值为0,则对该取值所在位对应的条带进行修复。
较佳地,该装置进一步包括:保护模块450,用于根据预先设置的写周期,定期把磁盘的非数据分区的位图表及重建进度指示写入非易失性随机访问存储器;
所述重建模块420的获取单元421用于从所述非易失性随机访问存储器中获取重建进度指示及位图表。
其中,写零完成状态值、重建进度指示和位图表通过SCSI命令实现读取/保存。
本发明特点如下:
1、RAID系统的重建过程开销大、周期长,严重影响正常的数据IO的性能,且在重建期间一般不允许有其它的磁盘失效进而让RAID系统非常脆弱,本发明的目的在于尽缩短重建的过程,提高RAID系统的性能、减少因多个盘失效而使RAID系统崩溃的风险。
2、磁盘成功的完成了初始化操作才可以用来组建RAID系统,保证了没有写操作发生的那些区域都是0,重建时可以跳过这些区域,这样为缩短重建过程打下了基础。
3、通过位图表(bitmap)来记录RAID系统的哪些条带发生了写操作,需要重建时只对发生了写操作的那些条带上的相应位置进行修复即可,这样缩短了重建的过程。
4、重建时系统可能掉电重启,本方法实时记录当前已经重建到的位号“reb_bit_no”,并把“reb_bit_no”作为元数据定时写到NVRAM,这样也会缩短重建的过程。
5、把位图表、及重建进度指示“reb_bit_no”作为元数据存取,这样,极大地保证了系统的安全性。
6、元数据被保存到NVRAM,保存、读取元数据基本不会影响RAID系统的IO性能。
7、本发明的元数据是通过SCSI写/读命令实现保存/读取,接口简单、操作方便。
6、本发明能够缩短甚至完全避免RAID系统的重建操作,进而减少了在发生正常IO的同时进行重建操作的可能,极大的提高了系统的IO性能。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台RAID系统执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种独立冗余磁盘阵列RAID系统的快速重建方法,其特征在于,包括如下步骤:
A、设置初始值为无效的位图表,位图表中的每一位对应RAID系统中至少一个条带;
B、对条带进行写操作时,将与该条带对应的位图表的位修改为有效;
C、根据所述位图表找到进行过写操作的条带,并对所找到的条带的数据进行恢复。
2.根据权利要求1所述的方法,其特征在于,所述步骤A之前,进一步包括:
对磁盘进行初始化处理,将所述磁盘的数据存储区域的每一位都写为0;
将完成初始化处理的磁盘组建成RAID系统。
3.根据权利要求2所述的方法,其特征在于,所述对RAID系统的磁盘进行初始化处理,将所述磁盘的数据存储区域的每一位都写为0的步骤包括:
将磁盘划分为非数据分区和数据分区;
对该磁盘的数据分区每一位写0;
判断是否成功完成写0操作,若是,将写零完成状态值设置为有效,否则将写零完成状态值设置为无效;
将写零完成状态值写入磁盘的非数据分区。
4.根据权利要求3所述的方法,其特征在于,所述将完成初始化处理的磁盘组建成RAID系统的步骤包括:
判断磁盘的非数据分区的写零完成状态值是否均为有效,若否,则提示告警信息,并指明写零完成状态值为无效的磁盘标号。
5.根据权利要求3所述的方法,其特征在于,步骤A包括:
A1、根据RAID系统的存储容量大小及条带大小计算条带总数;
A2、根据条带总数决定位图表的一位对应的条带数目N,N为自然数;
A3、在磁盘的非数据分区建立位图表,位图表的每位对应N个连续的条带;
A4、将位图表的每位置0;
A5、将磁盘非数据分区的重建进度指示的初始值设置为-1。
6.根据权利要求5所述的方法,其特征在于,所述步骤B包括:
B1、对于当前的写命令,根据其地址和数据长度,计算所述写命令对应到位图表至少一位;
B2、当写操作完成时,将所述写命令对应的位图表的位设置为1。
7.根据权利要求5所述的方法,其特征在于,所述步骤C包括:
C1、获取重建进度指示及位图表;
C2、将位图表中的重建进度指示后一位作为当前位,判断当前位的位图表取值是否为0,若是,转至步骤C4,否则执行步骤C3;
C3、计算出该位对应的至少一个条带号,对所述条带号对应的条带进行修复;
C4、把重建进度指示取值置为当前位,判断当前位是否为位图表的最末位,若是,则结束重建流程,否则转至步骤C2。
8.根据权利要求7所述的方法,其特征在于,该方法进一步包括:
根据预先设置的写周期,定期把磁盘的非数据分区的位图表及重建进度指示写入非易失性随机访问存储器;
所述步骤C1为:
从非易失性随机访问存储器中获取重建进度指示及位图表。
9.一种用于对独立冗余磁盘阵列RAID系统进行快速重建的装置,其特征在于,该装置包括位图表模块和重建模块;
所述位图表模块用于维护位图表,所述位图表中的每一位对应RAID系统中至少一个条带;位图表初始值为无效,当对条带进行写操作时,将与该条带对应的位图表的位修改为有效;
所述重建模块用于根据位图表模块维护的位图表,找到进行过写操作的条带,并对所找到的条带的数据进行恢复。
10.根据权利要求9所述的装置,其特征在于,该装置进一步包括:
初始化模块,用于对用于组建RAID系统的磁盘进行初始化处理,将所述磁盘的数据存储区域的每一位都写为0。
11.根据权利要求10所述的装置,其特征在于,所述初始化模块包括:
分区单元,用于将磁盘划分为非数据分区和数据分区;
写零单元,用于对磁盘的数据分区每一位写0;
写零完成设置单元,用于判断写零单元是否成功完成了写0操作,若是,将写零完成状态值设置为有效,否则将写零完成状态值设置为无效;
写入单元,用于将所述写零完成设置单元设置的写零完成状态值写入磁盘的非数据分区。
12.根据权利要求11所述的装置,其特征在于,该装置进一步包括:
检验告警模块,用于判断磁盘的非数据分区的写零完成状态值是否均为有效,若否,则提示告警信息,并指明写零完成状态值为无效的磁盘标号。
13.根据权利要求11所述的装置,其特征在于,所述位图表模块包括:
计算单元,用于根据RAID系统的存储容量大小及条带大小计算条带总数,并根据条带总数决定位图表的一位对应的条带数目N,N为自然数;
位图表初始化单元,用于在磁盘的非数据分区建立位图表,位图表的每位对应N个连续的条带;将位图表的每位置0;
重建进度指示单元,用于将磁盘非数据分区的重建进度指示的初始值设置为-1,并用于将重建进度指示修改为重建模块当前所重建的条带对应的位图表的位的序号。
14.根据权利要求13所述的装置,其特征在于,所述位图表模块包括:
写命令设置单元,用于对于当前的写命令,根据其地址和数据长度,计算所述写命令对应到位图表至少一位;当写操作完成时,将所述写命令对应的位图表的位设置为1。
15.根据权利要求13所述的装置,其特征在于,所述重建模块包括:
获取单元,用于获取重建进度指示及位图表;
修复单元,用于根据重建进度指示获取位图表对应位的下一位的取值,若所述取值为0,则对该取值所在位对应的条带进行修复。
16.根据权利要求15所述的装置,其特征在于,该装置进一步包括:保护模块,用于根据预先设置的写周期,定期把磁盘的非数据分区的位图表及重建进度指示写入非易失性随机访问存储器;
所述重建模块的获取单元用于从所述非易失性随机访问存储器中获取重建进度指示及位图表。
CN200910236757A 2009-10-28 2009-10-28 Raid系统的快速重建方法及装置 Pending CN101840360A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910236757A CN101840360A (zh) 2009-10-28 2009-10-28 Raid系统的快速重建方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910236757A CN101840360A (zh) 2009-10-28 2009-10-28 Raid系统的快速重建方法及装置

Publications (1)

Publication Number Publication Date
CN101840360A true CN101840360A (zh) 2010-09-22

Family

ID=42743743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910236757A Pending CN101840360A (zh) 2009-10-28 2009-10-28 Raid系统的快速重建方法及装置

Country Status (1)

Country Link
CN (1) CN101840360A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495680A (zh) * 2011-12-16 2012-06-13 创新科存储技术(深圳)有限公司 Raid系统的重建方法
CN102521074A (zh) * 2011-12-01 2012-06-27 浪潮电子信息产业股份有限公司 一种加快raid5恢复的方法
CN102542048A (zh) * 2011-12-28 2012-07-04 用友软件股份有限公司 数据匹配处理装置和数据匹配处理方法
CN102609224A (zh) * 2012-02-16 2012-07-25 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法
CN103019894A (zh) * 2012-12-25 2013-04-03 创新科存储技术(深圳)有限公司 一种独立冗余磁盘阵列的重建方法
CN103678044A (zh) * 2013-12-30 2014-03-26 厦门市美亚柏科信息股份有限公司 在ext3文件系统下的raid5的数据恢复方法和装置
CN104793897A (zh) * 2015-02-04 2015-07-22 北京神州云科数据技术有限公司 一种bitmap的存储方法
CN105487825A (zh) * 2015-12-08 2016-04-13 浙江宇视科技有限公司 Raid阵列重建方法及装置
CN105531677A (zh) * 2013-08-27 2016-04-27 新加坡科技研究局 Raid奇偶校验条带重建
CN105867841A (zh) * 2016-03-24 2016-08-17 浙江宇视科技有限公司 一种数据重建方法及装置
CN107111531A (zh) * 2014-10-29 2017-08-29 慧与发展有限责任合伙企业 使用分配图的数据恢复
CN107526531A (zh) * 2016-06-21 2017-12-29 伊姆西公司 为映射独立盘冗余阵列(raid)选择raid级别的方法和设备
CN108874314A (zh) * 2018-05-31 2018-11-23 郑州云海信息技术有限公司 一种独立冗余磁盘阵列的重构方法及装置
CN109196458A (zh) * 2017-11-03 2019-01-11 华为技术有限公司 存储系统可用容量计算方法及装置
WO2020233177A1 (zh) * 2019-05-17 2020-11-26 华为技术有限公司 磁盘冗余阵列raid管理方法、raid控制器和系统
CN112764661A (zh) * 2019-10-21 2021-05-07 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN113721843A (zh) * 2021-07-29 2021-11-30 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的重构方法、装置、设备及系统

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521074A (zh) * 2011-12-01 2012-06-27 浪潮电子信息产业股份有限公司 一种加快raid5恢复的方法
CN102495680A (zh) * 2011-12-16 2012-06-13 创新科存储技术(深圳)有限公司 Raid系统的重建方法
CN102542048A (zh) * 2011-12-28 2012-07-04 用友软件股份有限公司 数据匹配处理装置和数据匹配处理方法
CN102542048B (zh) * 2011-12-28 2013-09-11 用友软件股份有限公司 数据匹配处理装置和数据匹配处理方法
CN102609224A (zh) * 2012-02-16 2012-07-25 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN102609224B (zh) * 2012-02-16 2015-03-11 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列系统及其初始化方法
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法
CN103019894A (zh) * 2012-12-25 2013-04-03 创新科存储技术(深圳)有限公司 一种独立冗余磁盘阵列的重建方法
CN103019894B (zh) * 2012-12-25 2015-03-04 创新科存储技术(深圳)有限公司 一种独立冗余磁盘阵列的重建方法
CN105531677A (zh) * 2013-08-27 2016-04-27 新加坡科技研究局 Raid奇偶校验条带重建
CN103678044B (zh) * 2013-12-30 2016-08-17 厦门市美亚柏科信息股份有限公司 在ext3文件系统下的raid5的数据恢复方法和装置
CN103678044A (zh) * 2013-12-30 2014-03-26 厦门市美亚柏科信息股份有限公司 在ext3文件系统下的raid5的数据恢复方法和装置
CN107111531A (zh) * 2014-10-29 2017-08-29 慧与发展有限责任合伙企业 使用分配图的数据恢复
CN104793897A (zh) * 2015-02-04 2015-07-22 北京神州云科数据技术有限公司 一种bitmap的存储方法
CN104793897B (zh) * 2015-02-04 2018-04-06 深圳神州数码云科数据技术有限公司 一种bitmap的存储方法
CN105487825B (zh) * 2015-12-08 2019-04-30 浙江宇视科技有限公司 Raid阵列重建方法及装置
CN105487825A (zh) * 2015-12-08 2016-04-13 浙江宇视科技有限公司 Raid阵列重建方法及装置
CN105867841A (zh) * 2016-03-24 2016-08-17 浙江宇视科技有限公司 一种数据重建方法及装置
CN105867841B (zh) * 2016-03-24 2019-01-15 浙江宇视科技有限公司 一种数据重建方法及装置
CN107526531A (zh) * 2016-06-21 2017-12-29 伊姆西公司 为映射独立盘冗余阵列(raid)选择raid级别的方法和设备
CN107526531B (zh) * 2016-06-21 2020-01-14 伊姆西公司 为映射独立盘冗余阵列(raid)选择raid级别的方法和设备
CN109196458A (zh) * 2017-11-03 2019-01-11 华为技术有限公司 存储系统可用容量计算方法及装置
CN109196458B (zh) * 2017-11-03 2020-12-01 华为技术有限公司 存储系统可用容量计算方法及装置
US11385828B2 (en) 2017-11-03 2022-07-12 Huawei Technologies Co., Ltd. Method and apparatus for calculating storage system available capacity
CN108874314A (zh) * 2018-05-31 2018-11-23 郑州云海信息技术有限公司 一种独立冗余磁盘阵列的重构方法及装置
WO2020233177A1 (zh) * 2019-05-17 2020-11-26 华为技术有限公司 磁盘冗余阵列raid管理方法、raid控制器和系统
CN112764661A (zh) * 2019-10-21 2021-05-07 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN113721843A (zh) * 2021-07-29 2021-11-30 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的重构方法、装置、设备及系统
CN113721843B (zh) * 2021-07-29 2023-06-16 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的重构方法、装置、设备及系统

Similar Documents

Publication Publication Date Title
CN101840360A (zh) Raid系统的快速重建方法及装置
CN104035830B (zh) 一种数据恢复方法和装置
CN103718162B (zh) 用于ssd中灵活的raid的方法和设备
CN101916173B (zh) 一种基于raid的数据读写方法及其系统
CN104484251B (zh) 一种硬盘故障的处理方法及装置
CN102023815B (zh) 在固态存储器中实现raid
CN103309775B (zh) 一种高可靠磁盘阵列的容错方法
US20150371684A1 (en) Ultra high capacity ssd
CN102508620B (zh) 一种处理raid5坏扇区的方法
CN102207895B (zh) 一种独立磁盘冗余阵列数据重建方法和装置
JPH05505264A (ja) データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶
CN101609420A (zh) 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器
CN101984400B (zh) 一种raid控制方法、装置及系统
CN102799533B (zh) 一种磁盘损坏扇区屏蔽方法及装置
CN104156174A (zh) 基于条带的固态硬盘raid实现方法及装置
US9063869B2 (en) Method and system for storing and rebuilding data
CN102184129A (zh) 磁盘阵列的容错方法和装置
CN102968361A (zh) 一种raid数据自修复的方法
CN102981936A (zh) 一种磁盘阵列数据重构的方法
CN107885620B (zh) 一种提高固态盘阵列性能和可靠性的方法及系统
TW201329701A (zh) 具有自動重映射功能的磁碟陣列及其自動重映射方法
CN105183590A (zh) 一种磁盘阵列的容错处理方法
CN102945191B (zh) 一种raid5数据转移的方法
CN102495680A (zh) Raid系统的重建方法
US8924814B2 (en) Write management using partial parity codes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100922