CN102609223A - 一种独立冗余磁盘阵列系统及其初始化方法 - Google Patents

一种独立冗余磁盘阵列系统及其初始化方法 Download PDF

Info

Publication number
CN102609223A
CN102609223A CN2012100316946A CN201210031694A CN102609223A CN 102609223 A CN102609223 A CN 102609223A CN 2012100316946 A CN2012100316946 A CN 2012100316946A CN 201210031694 A CN201210031694 A CN 201210031694A CN 102609223 A CN102609223 A CN 102609223A
Authority
CN
China
Prior art keywords
data
write
band
hotspare disk
zero
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.)
Granted
Application number
CN2012100316946A
Other languages
English (en)
Other versions
CN102609223B (zh
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201210031694.6A priority Critical patent/CN102609223B/zh
Publication of CN102609223A publication Critical patent/CN102609223A/zh
Application granted granted Critical
Publication of CN102609223B publication Critical patent/CN102609223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种独立冗余磁盘阵列系统及其初始化方法,涉及计算机系统及存储领域。本发明公开的方法包括:将RAID5系统的所有数据盘和热备盘进行条带划分,其中,为热备盘划分的条带与各数据盘划分的条带一一对应,按照条带对每个数据盘以及热备盘进行写零。本发明还公开了一种RAID5系统。本发明技术方案,减少了的重新进行一致性初始化所需的时间,为初始化完成提供了保障。

Description

一种独立冗余磁盘阵列系统及其初始化方法
技术领域
本发明涉及计算机系统及存储领域,具体涉及一种RAID(RedundantArray of Independent Disk,独立冗余磁盘阵列)系统及其初始化方法。
背景技术
对于具有冗余校验信息的RAID5系统,RAID5新创建时各成员盘数据并不能保证条带数据是一致性的.数据的不一致性使得系统无法按照正常流程处理主机IO请求,所得到的校验数据可能是错误的,因此这些级别的RAID5创建时必须先进行一致性初始化工作。典型的初始化方式是格式化所有成员盘,将所有成员盘数据写零,即可保证RAID5分条数据符合奇偶校验。但RAID5初始化任务必须遍历成员盘的所有数据,这是一项非常耗时的工作,并且随着磁盘的容量的增大,这个过程需要的时间就会更长。
而在一致性初始化的过程中,同时也能对磁盘做可用性测试,因为很有可能磁盘在加到RAID5之前就失效了(或初始化过程中),所以,一致性初始化可以做到在RAID5真正使用前就把坏的磁盘踢出去。但如果在这个过程中真的发生有失效盘的话,之前做的初始化工作就完全无用了,再添加新的磁盘的话,就得需要从第一个条带开始初始化,因此会大大消耗初始化时间成本。
发明内容
本发明所要解决的技术问题是,提供一种RAID5系统及其初始化方法,以提高始化过程中测试出失效盘时的初始化效率。
为了解决上述问题,本发明公开了一种独立冗余磁盘阵列(RAID5)初始化方法,该方法包括:
将RAID5系统的所有数据盘和热备盘进行条带划分,其中,为热备盘划分的条带与各数据盘划分的条带一一对应,按照条带对每个数据盘以及热备盘进行写零。
较佳地,上述方法在初始化过程中,检测出数据盘发生失效时,去除失效的数据盘,增加一个或多个热备盘,对其余数据盘和加入的热备盘从记录的写零位置继续写零。
较佳地,上述方法还包括,记录写零完成位置,在上述写零操作过程中,根据写请求在已进行了写零操作的条带上进行数据写入。
较佳地,上述方法还包括:当RAID5系统中某一数据盘发生失效,且发生失效的数据盘中写入有数据,则去除该失效的数据盘,添加新的热备盘,在添加的新的热备盘中对应写有数据的条带进行数据恢复,并在数据恢复操作结束后,从所记录的写零完成位置开始对各条带继续进行写零操作。
较佳地,上述方法中,所述热备盘为一个或多个。
本发明还公开了一种RAID5系统,包括:
第一模块,将RAID5系统的所有数据盘和热备盘进行条带划分,其中,为热备盘划分的条带与各数据盘划分的条带一一对应;
第二模块,按照所划分的条带对每个数据盘以及热备盘进行写零。
较佳地,上述系统中,第二模块,在初始化过程中,检测出数据盘发生失效时,去除失效的数据盘,增加一个或多个热备盘,对其余数据盘和加入的热备盘从记录的写零位置继续写零。
较佳地,上述系统中第二模块,还记录写零完成位置;此时,该系统还包括第三模块,在所述第二模块写零操作过程中,根据写请求在已进行了写零操作的条带上进行数据写入。
较佳地,上述系统还包括第四模块,当RAID5系统中某一数据盘发生失效,且发生失效的数据盘中写入有数据,则去除该失效的数据盘,添加新的热备盘,对该数据盘中写有数据的条带进行数据恢复。
较佳地,上述系统中第四模块,对所述数据盘中写有数据的条带位置进行数据恢复后,所述第二模块,从所记录的写零完成位置开始对各条带继续进行写零操作。
较佳地,上述系统中包括一个或多个热备盘为。
本申请技术方案,在初始化过程中,有失效盘发生的时候,添加热备盘并直接从原来初始化进行到的位置开始,无需从头开始进行,减少了的重新进行一致性初始化所需的时间,为初始化完成提供了保障。
附图说明
图1为本实施例中RAID5初始化的总体流程国;
图2为本实施例中RAID5初始化写零示意图;
图3为本实施例中RAID5初始化流程图;
图4为本实施例中RAID5系统发生失效后的恢复处理流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
实施例1
本实施例提供一种RAID5初始化方法,该方法所应用的RAID5系统包括多个数据盘和至少一个热备盘,其中,热备盘的数量小于数据盘的数量。具体地,RAID5初始化的过程,如图1所示,包括如下步骤:
步骤100,将RAID5系统的所有数据盘和热备盘进行条带划分,其中,为热备盘划分的条带与各数据盘划分的条带一一对应。
步骤200,按照条带对每个数据盘写零,同时也对数据盘的各条带所对应的热备盘中的各条带位置写零,写完确认后,记录写零完成位置(本实施例中记为place_seqinit),以表示数据盘和热备盘对应的位置都完成了写零。
图2所示即为初始化过程中,各数据盘和热备盘中对应的条带位置写零的情况。当然,RAID5系统包括有多个热备盘的时候,其初始化写零操作的方式相同。
该步骤中,之所以对划分的条带进行写零操作,是因为在条带没写真正的数据之前,使得条带数据一致的方法有计算奇偶校验值和全部写零(全零的奇偶校验的结果还是零)。而申请人考虑到计算校验值的方法需要从磁盘读取数据,其属于读写混合模式。写零则无需度盘上的数据,覆盖就可以,其为单一的写模式,且实验表明单一的读写模式比混合读写的模式数据传输速度快很多。即写零速度更快。因此,申请人在本实施例中调用一个线程进行写零操作,即在写零初始化过程中,按照条带对每个数据盘写零,同时也对热备盘对应条带位置写零。
需要说明的是,上述初始化过程中,若检测出数据盘发生失效,则可以去除失效的数据盘,增加一个或多个热备盘,对其余数据盘和加入的热备盘从记录的写零位置继续写零即可。
在上述初始化的基础上,一些方案中还提出,在初始化过程中,可以在已写过零的条带位置进行写数据。这主要是考虑到让整个RAID5全部写零完毕可能需要等比较长的时间,而完成一个区域的写零所需时间则不需要很长,创建之后,只需要稍微等待一段时间,等顺序初始化线程写了足够的区域后,即可以真正写数据了。因此,本实施例支持在初始化过程中进行数据的写入,但需要在已经写过零的地方写。如果数据写到了没写过零的地方,既大于place_seqinit的地方,就设置警告机制或直接让其退出。优选方案中,顺序初始化线程和写数据的请求对于磁盘IO的响应可以相互取舍。例如,在磁盘写数据比较繁忙的时候,顺序初始化线程可以睡眠等待,到写相对空闲或者没有写的时候再唤醒。具体地,该过程如图3所示,包括如下步骤:
步骤31,查看要写零的条带对应的扇区是否达到最大数值,如果达到最大,表明初始化完成,结束流程,否则进入步骤32。
步骤32,对要写零的条带进行写零操作,写零操作完后记录写过的位置,设为place_seqinit。
步骤33,判断写请求是否繁忙,如果是,则顺序初始化线程进入睡眠,直到没有写或者写空闲的时候唤醒,否则进入步骤34。
步骤34,进行下一个条带的写零操作,写零操作完后记录写过的位置,即更新place_seqinit,并返回步骤31。
因为优选方案支持在初始化过程中进行数据的写入(只在写零的地方写)。如果有数据写入之后发生失效的话,因为RAID5的冗余机制,就只能支持一块盘的失效,添加热备盘之后,就得先对写过数据的地方进行恢复,但恢复完成后,从place_seqinit这个位置之后开始继续初始化就可以了。
具体地,本实施例中,检测出失效的数据盘后,进行数据恢复的流程如图4所示,包括如下步骤:
步骤41,去除失效的数据盘,添加热备盘,触发恢复线程,检查是否有过写请求,如果有,进入步骤42,否则进入步骤43;
步骤42,对写过的区域先进行恢复,再进入步骤43;
步骤43,唤醒顺序初始化线程,从之前记录的位置place_seqinit开始顺序写零操作。
实施例2
本实施例提供一种RAID5系统,包括一个或多个热备盘,该系统还包括如下各模块。
第一模块,将RAID5系统的所有数据盘和热备盘进行条带划分,其中,为热备盘划分的条带与各数据盘划分的条带一一对应;
第二模块,按照所划分的条带对每个数据盘以及热备盘进行写零。
上述RAID5系统中第二模块,在初始化过程中,可能检测出数据盘发生失效,此时,可以去除失效的数据盘,增加一个或多个热备盘,对其余数据盘和加入的热备盘从记录的写零位置继续写零即可。
还有些优选方案中提出,第二模块,还可以记录写零完成位置;此时,RAID5系统中可增加一个第三模块,该模块在所述第二模块写零操作过程中,根据写请求在已进行了写零操作的条带上进行数据写入。也就是说优选方案支持在初始化过程中进行数据的写入(只在写零的地方写)。在优选方案的基础上,还可以增加一个第四模块,该模块主要是在写有数据的数据盘发生失效时,去除失效的数据盘,添加新的热备盘,对写过数据的条带位置进行数据恢复。但需要说明的是,由于优选方案支持双线程的操作,故有数据写入之后发生数据盘失效的话,因为RAID5的冗余机制,就只能支持一块盘的失效。而没有写请求的情况下,可以支持多块盘的失效(取决于热备盘的数目)。而第二模块,则在恢复操作结束后,从place_seqinit这个位置之后开始继续初始化即可。具体的数据恢复过程参见实施例1,在些不再赘述。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种独立冗余磁盘阵列(RAID5)初始化方法,其特征在于,该方法包括:
将RAID5系统的所有数据盘和热备盘进行条带划分,其中,为热备盘划分的条带与各数据盘划分的条带一一对应,按照条带对每个数据盘以及热备盘进行写零。
2.如权利要求1所述的方法,其特征在于,该方法还包括:
记录写零位置,在上述初始化过程中,检测出数据盘发生失效时,去除失效的数据盘,增加一个或多个热备盘,对其余数据盘和加入的热备盘从记录的写零位置继续写零。
3.如权利要求1所述的方法,其特征在于,该方法还包括:
记录写零完成位置,在写零操作过程中,根据写请求在已进行了写零操作的条带上进行数据写入。
4.如权利要求3所述的方法,其特征在于,该方法还包括:
当RAID5系统中某一数据盘发生失效,且发生失效的数据盘中写入有数据,则去除该失效的数据盘,添加新的热备盘,在添加的新的热备盘中对应写有数据的条带进行数据恢复,并在数据恢复操作结束后,从所记录的写零完成位置开始对各条带继续进行写零操作。
5.如权利要求1至4任一项所述的方法,其特征在于,
所述热备盘为一个或多个。
6.一种独立冗余磁盘阵列(RAID5)系统,其特征在于,该系统包括:
第一模块,将RAID5系统的所有数据盘和热备盘进行条带划分,其中,为热备盘划分的条带与各数据盘划分的条带一一对应;
第二模块,按照所划分的条带对每个数据盘以及热备盘进行写零。
7.如权利要求6所述的系统,其特征在于,
所述第二模块,记录写零位置,在上述初始化过程中,检测出数据盘发生失效时,去除失效的数据盘,增加一个或多个热备盘,对其余数据盘和加入的热备盘从记录的写零位置继续写零。
8.如权利要求6所述的系统,其特征在于,所述第二模块,还记录写零完成位置,此时该系统还包括:
第三模块,在所述第二模块写零操作过程中,根据写请求在已进行了写零操作的条带上进行数据写入。
9.如权利要求8所述的系统,其特征在于,该系统还包括:第四模块,当RAID5系统中某一数据盘发生失效,且发生失效的数据盘中写入有数据,则去除该失效的数据盘,添加新的热备盘,对该数据盘中写有数据的条带进行数据恢复;
所述第二模块,在所述第四模块数据恢复操作结束后,从所记录的写零完成位置开始对各条带继续进行写零操作。
10.如权利要求6至9任一项所述的系统,其特征在于,该系统包括一个或多个热备盘。
CN201210031694.6A 2012-02-13 2012-02-13 一种独立冗余磁盘阵列系统及其初始化方法 Active CN102609223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210031694.6A CN102609223B (zh) 2012-02-13 2012-02-13 一种独立冗余磁盘阵列系统及其初始化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210031694.6A CN102609223B (zh) 2012-02-13 2012-02-13 一种独立冗余磁盘阵列系统及其初始化方法

Publications (2)

Publication Number Publication Date
CN102609223A true CN102609223A (zh) 2012-07-25
CN102609223B CN102609223B (zh) 2015-06-24

Family

ID=46526630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210031694.6A Active CN102609223B (zh) 2012-02-13 2012-02-13 一种独立冗余磁盘阵列系统及其初始化方法

Country Status (1)

Country Link
CN (1) CN102609223B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法
CN106250331A (zh) * 2016-08-04 2016-12-21 深圳市泽云科技有限公司 一种针对sata端口复用优化的方法
CN109144430A (zh) * 2018-09-29 2019-01-04 福建易视科技有限公司 Raid5快速同步方法
CN113360312A (zh) * 2021-06-24 2021-09-07 苏州浪潮智能科技有限公司 一种硬盘故障处理方法、装置、设备及存储介质
CN114995771A (zh) * 2022-08-02 2022-09-02 苏州浪潮智能科技有限公司 独立磁盘冗余阵列格式化调度方法、装置、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3771143A (en) * 1972-06-01 1973-11-06 Burroughs Corp Method and apparatus for providing alternate storage areas on a magnetic disk pack
US20070000101A1 (en) * 2005-06-22 2007-01-04 Maniquies Sempere, S.L. Connecting system for connecting the parts of a garment display device, and garment display device comprising the connecting system
CN101923441A (zh) * 2009-06-17 2010-12-22 成都市华为赛门铁克科技有限公司 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统
CN101923501A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种磁盘阵列多级容错方法
CN101923496A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种raid的数据并行重构方法
CN101980137A (zh) * 2010-10-19 2011-02-23 成都市华为赛门铁克科技有限公司 廉价磁盘冗余阵列重构方法、装置及系统
CN101984400A (zh) * 2010-11-05 2011-03-09 成都市华为赛门铁克科技有限公司 一种raid控制方法、装置及系统
CN102012847A (zh) * 2010-12-06 2011-04-13 创新科存储技术有限公司 一种改进的磁盘阵列重建方法
CN102081559A (zh) * 2011-01-11 2011-06-01 成都市华为赛门铁克科技有限公司 一种独立磁盘冗余阵列的数据恢复方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3771143A (en) * 1972-06-01 1973-11-06 Burroughs Corp Method and apparatus for providing alternate storage areas on a magnetic disk pack
US20070000101A1 (en) * 2005-06-22 2007-01-04 Maniquies Sempere, S.L. Connecting system for connecting the parts of a garment display device, and garment display device comprising the connecting system
CN101923441A (zh) * 2009-06-17 2010-12-22 成都市华为赛门铁克科技有限公司 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统
CN101923501A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种磁盘阵列多级容错方法
CN101923496A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种raid的数据并行重构方法
CN101980137A (zh) * 2010-10-19 2011-02-23 成都市华为赛门铁克科技有限公司 廉价磁盘冗余阵列重构方法、装置及系统
CN101984400A (zh) * 2010-11-05 2011-03-09 成都市华为赛门铁克科技有限公司 一种raid控制方法、装置及系统
CN102012847A (zh) * 2010-12-06 2011-04-13 创新科存储技术有限公司 一种改进的磁盘阵列重建方法
CN102081559A (zh) * 2011-01-11 2011-06-01 成都市华为赛门铁克科技有限公司 一种独立磁盘冗余阵列的数据恢复方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法
CN106250331A (zh) * 2016-08-04 2016-12-21 深圳市泽云科技有限公司 一种针对sata端口复用优化的方法
CN106250331B (zh) * 2016-08-04 2019-08-13 深圳市泽云科技有限公司 一种针对sata端口复用优化的方法
CN109144430A (zh) * 2018-09-29 2019-01-04 福建易视科技有限公司 Raid5快速同步方法
CN113360312A (zh) * 2021-06-24 2021-09-07 苏州浪潮智能科技有限公司 一种硬盘故障处理方法、装置、设备及存储介质
CN114995771A (zh) * 2022-08-02 2022-09-02 苏州浪潮智能科技有限公司 独立磁盘冗余阵列格式化调度方法、装置、设备及介质
CN114995771B (zh) * 2022-08-02 2022-12-13 苏州浪潮智能科技有限公司 独立磁盘冗余阵列格式化调度方法、装置、设备及介质

Also Published As

Publication number Publication date
CN102609223B (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
CN102508724B (zh) 一种基于软raid的磁盘坏块处理方法
US20090327603A1 (en) System including solid state drives paired with hard disk drives in a RAID 1 configuration and a method for providing/implementing said system
CN101609420A (zh) 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器
CN102609223A (zh) 一种独立冗余磁盘阵列系统及其初始化方法
CN103699457A (zh) 基于条带化的磁盘阵列修复方法及装置
CN103019623B (zh) 存储盘处理方法及装置
CN102207895A (zh) 一种独立磁盘冗余阵列数据重建方法和装置
CN103534688A (zh) 数据恢复方法、存储设备和存储系统
CN103019882A (zh) 固态硬盘的raid4系统
US20060215456A1 (en) Disk array data protective system and method
JP2006252165A (ja) ディスクアレイ装置、及びコンピュータシステム
CN102609224A (zh) 一种独立冗余磁盘阵列系统及其初始化方法
US20070226534A1 (en) Disk device, control circuit, data-writing control method, command control method, and computer product
CN101169705A (zh) 多硬盘下基于裸文件系统实现文件级镜像的方法及装置
CN106371950A (zh) 一种实现raid级别转换的方法及装置
CN102495680A (zh) Raid系统的重建方法
US8707089B2 (en) Storage control device for formatting to storage media, storage control method for formatting to storage media, and medium for storing storage control program for formatting to storage media
US7925919B2 (en) Disk management method, disk management device and storage system
CN100383757C (zh) 磁盘数据备份系统及其方法
US20140380090A1 (en) Storage control device and storage control method
CN100492306C (zh) 独立磁盘冗余阵列毁损时的数据恢复方法及其系统
KR20170133276A (ko) 전력 손실 시의 임계 데이터 저장
US20110296105A1 (en) System and method for realizing raid-1 on a portable storage medium
US10733097B2 (en) Shingled magnetic recording storage system with reduced time to recover
CN103975309A (zh) 数据恢复方法、数据恢复装置、存储器及存储系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant