CN102521074A - 一种加快raid5恢复的方法 - Google Patents

一种加快raid5恢复的方法 Download PDF

Info

Publication number
CN102521074A
CN102521074A CN2011103925138A CN201110392513A CN102521074A CN 102521074 A CN102521074 A CN 102521074A CN 2011103925138 A CN2011103925138 A CN 2011103925138A CN 201110392513 A CN201110392513 A CN 201110392513A CN 102521074 A CN102521074 A CN 102521074A
Authority
CN
China
Prior art keywords
write
bitmap
block
band
zone
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
CN2011103925138A
Other languages
English (en)
Other versions
CN102521074B (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 Electronic Information Industry Co Ltd
Original Assignee
Inspur 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 Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN 201110392513 priority Critical patent/CN102521074B/zh
Publication of CN102521074A publication Critical patent/CN102521074A/zh
Application granted granted Critical
Publication of CN102521074B publication Critical patent/CN102521074B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种加快RAID5恢复的方法,步骤如下:1)在RAID5创建之后,在需要恢复区域内设置重点区域,当加热备盘的时候优先恢复这些重点区域,优先恢复的重点区域用位图做记录,位图也用作断电重启RAID5进行一致性检查的判断,以减少恢复和掉电后一致性检查的所需时间;2)在RAID5恢复的过程中,根据内存的情况,以多个条带为单位,每次读取多个条带,待计算完后进行写入以减少与磁盘的操作数和提升恢复进度。

Description

一种加快RAID5恢复的方法
技术领域
本发明涉及计算机系统及存储领域,具体涉及一种加快RAID5恢复和一致性检查的方法。
背景技术
对于具有冗余校验信息的RAID5系统, RAID5新创建时各成员盘数据并不能保证条带数据是一致性的. 数据的不一致性使得系统无法按照正常流程处理主机IO 请求, 所得到的校验数据可能是错误的,因此这些级别的RAID5创建时必须先进行一致性初始化工作。RAID5是支持一块盘失效的情况,当一块盘失效,出现降级的情况,加入热备盘进行恢复,也相当于要进行一致性校验,任务必须遍历成员盘的所有数据, 这是一项非常耗时的工作, 并且随着磁盘的容量的增大,这个过程需要的时间就会更长。
在这个过程中,如果再出现另一块盘失效的话,那么由于RAID5的冗余机制,无法再进行恢复了,整个阵列就会失效。因此这个过程时间越长的话,再次有盘失效的概率就越大。因此有必要找到一种方法加快对失效盘的恢复。
发明内容
本发明的目的是提供一种加快RAID5恢复的方法。
本发明的目的是按以下方式实现的,步骤如下:
1)在RAID5创建之后,在需要恢复区域内设置重点区域,当加热备盘的时候优先恢复这些重点区域,优先恢复的重点区域用位图做记录,位图也用作断电重启RAID5进行一致性检查的判断,以减少恢复和掉电后一致性检查的所需时间;
2)在RAID5恢复的过程中,根据内存的情况,以多个条带为单位,每次读取多个条带,待计算完后进行写入以减少与磁盘的操作数和提升恢复进度;
具体步骤流程如下:
1)写数据的流程如下:
创建RAID的时候,设置一个“区块首次写”位图,“区块首次写”位图中每一位表示对应的一个较大区块是否已出现过任一条带进行了首次写,即RAID-5处理一个条带写操作前先更新条带在该位图中的位值为1,表示该区块已经出现了首次写操作,该条带写操作引起的上述对该位图的位的更新操作必须在条带计算完成新的校验并写数据、写校验到成员盘操作之前完成,包括如果所述“区块首次写”位图保存在该RAID-5成员盘上则该条带对应该位图中的位所在的各成员盘的扇区的写操作,必须在条带数据块写提交之前完成,以保护系统出现断电时磁盘上的“区块首次写”位图数据是正确的,这个阶段的流程如下:
(1)计算要写的条带对应的扇区是在哪个区域,判断“区块首次写”位图对应的位是否设置1。如果设置1,直接跳到第3)步 ,如果没有,就执行下一步;
(2)把对应的位设置1,把条带放在一个延迟链表延迟处理,把位图写到磁盘;
(3)当确认位图写完之后,就处理真正的要写的条带;
2)发生失效后的恢复处理流程如下:
(1)当RAID-5发生降级,即出现单个成员盘失效,并添加热备盘进行修复时,重新设置优先恢复的重点区域,如果没有设置,就按创建的设置为准,优先先恢复这些重点区域,根据“区块首次写”位图是否置1判断哪些是写过的,没写过的直接跳过;
(2)重点区域恢复完后,就按照顺序进行其他区域的恢复,同样是根据“区块首次写”位图是否置1判断哪些是写过的,没写过的直接跳过;
(3)在恢复的过程中,根据内存的情况,以一个条带为单位进行计算校验,或以多个条带为单位,每次读取多个条带,待计算完后进行写入,以减少与磁盘的操作数,提升恢复进度;
(4)掉电后进行一致性检查的处理
磁盘阵的写操作是一个过程,如果在这个过程中发生包括:写盘失败,系统掉电异常情况,就会可能引起冗余数据和原始数据不一致,所以,成功写入数据的话,整个条带应该是一致的,掉电重启后,会启动同步线程,会通过bitmap文件判断是否置位,进行一致性检查,如果没有置位,就说明整个区域在掉电那一时刻,不存在正在写的数据,直接跳过这个区域;
(5)一致性检查位图的一个位代表的区域要远远大于“区块首次写”位图的区域,是个更粗粒度的划分,一致性检查位图的一个位包含多个“区块首次写”位图的位,之前没有“区块首次写”位图的处理是这样的:1)如果置位,就会同步这个区域的所有条带;和“区块首次写”位图相结合;2)如果一致性检查位图相应的位设置1,然后再判断它所包含的“区块首次写”位图的位是否置1,如果恢复位图的位没有设置1,就跳过恢复位图的位所代表的大小的区域,直到一致性检查位图的一个位代表的区域都检查完毕。
所述的重点区域,是最重要的数据所在区域或者访问比较多的数据。
所述的位图,是一个位代表多个条带的状态,只标识至少有一个写的区域,有写过就置1。
本发明的有益效果是:是在要恢复的区域中设置重点区域,当加热备盘的时候优先恢复这些重点区域,重点区域用位图做记录,有写过的才恢复,这些位图也可以用作断电重启RAID5进行一致性检查的判断,可以减少恢复和掉电后一致性检查的所需时间。
附图说明
图1写数据流程图;
图2一致性检查处理流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
流程步骤如下:
(1)写数据的流程
创建RAID的时候,设置一个“区块首次写”位图,“区块首次写”位图中每一位表示对应的一个较大区块是否已出现过任一条带进行了首次写,即RAID-5处理一个条带写操作前先更新条带在该位图中的位值为1,表示该区块已经出现了首次写操作。该条带写操作引起的上述对该位图的位的更新操作必须在条带计算完成新的校验并写数据、写校验到成员盘操作之前完成,包括如果所述“区块首次写”位图保存在该RAID-5成员盘上则该条带对应该位图中的位所在的各成员盘的扇区的写操作必须在条带数据块写提交之前完成,以保护系统出现断电时磁盘上的“区块首次写”位图数据是正确的。如图1所示,这个阶段的流程如下:
1)计算要写的条带对应的扇区是在哪个区域,判断“区块首次写”位图对应的位是否设置1。如果设置1,直接跳到第3)步 ,如果没有,就执行下一步;
2)把对应的位设置1,把条带放在一个延迟链表延迟处理,把位图写到磁盘;
3)当确认位图写完之后,就处理真正的要写的条带;
(2)发生失效后的恢复处理流程如下:
1)当RAID-5发生降级,即出现单个成员盘失效,并添加热备盘进行修复时,可以重新设置优先恢复的区域,如果没有设置,就按创建的设置为准。先恢复这些区域,根据“区块首次写”位图是否置1判断哪些是写过的,没写过的直接跳过就可以了;
2)这些区域恢复完后,就按照顺序进行其他区域的恢复,同样是根据“区块首次写”位图位图是否置1判断哪些是写过的,没写过的直接跳过就可以了;
  在恢复的过程中,根据内存的情况,可以以一个条带为单位进行计算校验,也可以以多个条带为单位。每次读取多个条带,待计算完后进行写入,可以减少与磁盘的操作数,也能让恢复进度得到提升;
(3)掉电后进行一致性检查的处理:
磁阵的写操作是一个过程,如果在这个过程中发生例如写盘失败,系统掉电等异常情况,就会可能引起冗余数据和原始数据不一致。所以,成功写入数据的话,整个条带应该是一致的,但写入没有成功(或不完全)的话,条带数据很可能是不一致的。掉电重启后,会启动同步线程,会通过bitmap文件判断是否置位,进行一致性检查,如果没有置位,就说明整个区域在掉电那一时刻,不存在正在写的数据,直接跳过这个区域就可以了;
(4)一致性检查位图的一个位代表的区域要远远大于“区块首次写”位图的区域,是个更粗粒度的划分,一致性检查位图的一个位包含多个“区块首次写”位图的位。之前没有“区块首次写”位图的处理是这样的:1)如果置位,就会同步这个区域的所有条带;现在可以和“区块首次写”位图相结合;2)如果一致性检查位图相应的位设置1,然后再判断它所包含的“区块首次写”位图的位是否置1,如果恢复位图的位没有设置1,就可以跳过恢复位图的位所代表的大小的区域,直到一致性检查位图的一个位代表的区域都检查完毕。这个方法在原来的基础上,减少了一些无谓的同步操作,大大缩短了掉电后一致性检查的所需时间。流程如图2所示。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (3)

1.一种加快RAID5恢复的方法, 其特征在于步骤如下:
1)在RAID5创建之后,在需要恢复区域内设置重点区域,当加热备盘的时候优先恢复这些重点区域,优先恢复的重点区域用位图做记录,位图也用作断电重启RAID5进行一致性检查的判断,以减少恢复和掉电后一致性检查的所需时间;
2)在RAID5恢复的过程中,根据内存的情况,以多个条带为单位,每次读取多个条带,待计算完后进行写入以减少与磁盘的操作数和提升恢复进度;
具体步骤流程如下:
1)写数据的流程如下:
创建RAID的时候,设置一个“区块首次写”位图,“区块首次写”位图中每一位表示对应的一个较大区块是否已出现过任一条带进行了首次写,即RAID-5处理一个条带写操作前先更新条带在该位图中的位值为1,表示该区块已经出现了首次写操作,该条带写操作引起的上述对该位图的位的更新操作必须在条带计算完成新的校验并写数据、写校验到成员盘操作之前完成,包括如果所述“区块首次写”位图保存在该RAID-5成员盘上则该条带对应该位图中的位所在的各成员盘的扇区的写操作,必须在条带数据块写提交之前完成,以保护系统出现断电时磁盘上的“区块首次写”位图数据是正确的,这个阶段的流程如下:
(1)计算要写的条带对应的扇区是在哪个区域,判断“区块首次写”位图对应的位是否设置1,如果设置1,直接跳到第3)步 ,如果没有,就执行下一步;
(2)把对应的位设置1,把条带放在一个延迟链表延迟处理,把位图写到磁盘;
(3)当确认位图写完之后,就处理真正的要写的条带;
2)发生失效后的恢复处理流程如下:
(1)当RAID-5发生降级,即出现单个成员盘失效,并添加热备盘进行修复时,重新设置优先恢复的重点区域,如果没有设置,就按创建的设置为准,优先先恢复这些重点区域,根据“区块首次写”位图是否置1判断哪些是写过的,没写过的直接跳过;
(2)重点区域恢复完后,就按照顺序进行其他区域的恢复,同样是根据“区块首次写”位图是否置1判断哪些是写过的,没写过的直接跳过;
( 3)在恢复的过程中,根据内存的情况,以一个条带为单位进行计算校验,或以多个条带为单位,每次读取多个条带,待计算完后进行写入,以减少与磁盘的操作数,提升恢复进度;
(4)掉电后进行一致性检查的处理
磁盘阵的写操作是一个过程,如果在这个过程中发生包括:写盘失败,系统掉电异常情况,就会可能引起冗余数据和原始数据不一致,所以,成功写入数据的话,整个条带应该是一致的,掉电重启后,会启动同步线程,会通过bitmap文件判断是否置位,进行一致性检查,如果没有置位,就说明整个区域在掉电那一时刻,不存在正在写的数据,直接跳过这个区域;
(5)一致性检查位图的一个位代表的区域要远远大于“区块首次写”位图的区域,是个更粗粒度的划分,一致性检查位图的一个位包含多个“区块首次写”位图的位,之前没有“区块首次写”位图的处理是这样的:1)如果置位,就会同步这个区域的所有条带;和“区块首次写”位图相结合;2)如果一致性检查位图相应的位设置1,然后再判断它所包含的“区块首次写”位图的位是否置1,如果恢复位图的位没有设置1,就跳过恢复位图的位所代表的大小的区域,直到一致性检查位图的一个位代表的区域都检查完毕。
2.根据权利要求1所述的方法, 其特征在于重点区域,是最重要的数据所在区域或者访问比较多的数据。
3.根据权利要求1所述的方法,其特征在于位图,是一个位代表多个条带的状态,只标识至少有一个写的区域,有写过就置1。
CN 201110392513 2011-12-01 2011-12-01 一种加快raid5恢复的方法 Active CN102521074B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110392513 CN102521074B (zh) 2011-12-01 2011-12-01 一种加快raid5恢复的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110392513 CN102521074B (zh) 2011-12-01 2011-12-01 一种加快raid5恢复的方法

Publications (2)

Publication Number Publication Date
CN102521074A true CN102521074A (zh) 2012-06-27
CN102521074B CN102521074B (zh) 2013-10-16

Family

ID=46292008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110392513 Active CN102521074B (zh) 2011-12-01 2011-12-01 一种加快raid5恢复的方法

Country Status (1)

Country Link
CN (1) CN102521074B (zh)

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 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法
CN103823728A (zh) * 2014-03-13 2014-05-28 深圳市迪菲特科技股份有限公司 一种独立冗余磁盘阵列智能重建的方法
CN104090731A (zh) * 2014-07-09 2014-10-08 浙江宇视科技有限公司 一种自动进行Cache刷新参数调节的方法和装置
CN106339276A (zh) * 2016-08-16 2017-01-18 浪潮(北京)电子信息产业有限公司 一种基于数据备份状态的数据恢复方法及系统
CN110515542A (zh) * 2019-07-30 2019-11-29 华为技术有限公司 数据存储方法、装置、计算设备、存储系统及存储介质
CN110874181A (zh) * 2018-08-31 2020-03-10 杭州海康威视系统技术有限公司 一种数据更新方法及更新装置
CN113721843A (zh) * 2021-07-29 2021-11-30 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的重构方法、装置、设备及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133969A1 (en) * 2006-11-30 2008-06-05 Lsi Logic Corporation Raid5 error recovery logic
CN101329641A (zh) * 2008-06-11 2008-12-24 华中科技大学 一种磁盘阵列的数据重建方法
CN101566924A (zh) * 2008-04-23 2009-10-28 中兴通讯股份有限公司 一种磁盘阵列的数据读写方法
US20090287882A1 (en) * 2008-05-13 2009-11-19 Zhi-Ming Sun Raid_5 controller and accessing method with data stream distribution and aggregation operations based on the primitive data access block of storage devices
CN101840360A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 Raid系统的快速重建方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133969A1 (en) * 2006-11-30 2008-06-05 Lsi Logic Corporation Raid5 error recovery logic
CN101566924A (zh) * 2008-04-23 2009-10-28 中兴通讯股份有限公司 一种磁盘阵列的数据读写方法
US20090287882A1 (en) * 2008-05-13 2009-11-19 Zhi-Ming Sun Raid_5 controller and accessing method with data stream distribution and aggregation operations based on the primitive data access block of storage devices
CN101329641A (zh) * 2008-06-11 2008-12-24 华中科技大学 一种磁盘阵列的数据重建方法
CN101840360A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 Raid系统的快速重建方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法
CN103823728A (zh) * 2014-03-13 2014-05-28 深圳市迪菲特科技股份有限公司 一种独立冗余磁盘阵列智能重建的方法
CN103823728B (zh) * 2014-03-13 2015-11-18 深圳市迪菲特科技股份有限公司 一种独立冗余磁盘阵列智能重建的方法
CN104090731B (zh) * 2014-07-09 2017-08-15 浙江宇视科技有限公司 一种自动进行Cache刷新参数调节的方法和装置
CN104090731A (zh) * 2014-07-09 2014-10-08 浙江宇视科技有限公司 一种自动进行Cache刷新参数调节的方法和装置
CN106339276B (zh) * 2016-08-16 2019-10-18 浪潮(北京)电子信息产业有限公司 一种基于数据备份状态的数据恢复方法及系统
CN106339276A (zh) * 2016-08-16 2017-01-18 浪潮(北京)电子信息产业有限公司 一种基于数据备份状态的数据恢复方法及系统
CN110874181A (zh) * 2018-08-31 2020-03-10 杭州海康威视系统技术有限公司 一种数据更新方法及更新装置
CN110874181B (zh) * 2018-08-31 2021-12-17 杭州海康威视系统技术有限公司 一种数据更新方法及更新装置
CN110515542A (zh) * 2019-07-30 2019-11-29 华为技术有限公司 数据存储方法、装置、计算设备、存储系统及存储介质
CN110515542B (zh) * 2019-07-30 2021-08-31 华为技术有限公司 数据存储方法、装置、计算设备、存储系统及存储介质
US11809738B2 (en) 2019-07-30 2023-11-07 Huawei Technologies Co., Ltd. Data storage method and apparatus, computing device, storage system, and storage medium
CN113721843A (zh) * 2021-07-29 2021-11-30 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的重构方法、装置、设备及系统
CN113721843B (zh) * 2021-07-29 2023-06-16 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的重构方法、装置、设备及系统

Also Published As

Publication number Publication date
CN102521074B (zh) 2013-10-16

Similar Documents

Publication Publication Date Title
CN102521074B (zh) 一种加快raid5恢复的方法
CN106933708B (zh) 有助于进行存储系统恢复的方法、装置以及一种存储系统
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
CN101903866B (zh) 非易失存储介质中的数据存储的方法和系统
CN103970481B (zh) 重建存储器阵列的方法和装置
US7809979B2 (en) Storage control apparatus and method
US11003536B2 (en) Method, device and computer readable storage medium for writing to disk array
JP4886209B2 (ja) アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法
CN101840360A (zh) Raid系统的快速重建方法及装置
CN105549908A (zh) Raid磁盘阵列重新恢复冗余的方法
CN110399247B (zh) 一种数据恢复方法、装置、设备及计算机可读存储介质
JP4712102B2 (ja) 記憶装置、データ処理方法およびデータ処理プログラム
JP2012243199A (ja) コンピュータ、その制御方法及びプログラム
CN103246478A (zh) 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统
CN108874312B (zh) 数据存储方法以及存储设备
CN104503781A (zh) 硬盘的固件升级方法和存储系统
CN103853566A (zh) Bios更新系统及方法
JP2006139478A (ja) ディスクアレイシステム
CN102981936A (zh) 一种磁盘阵列数据重构的方法
CN104461791A (zh) 一种信息处理方法及处理装置
CN103049407B (zh) 数据存储方法、装置及系统
CN110795273A (zh) 一种raid的写洞保护方法、系统及存储介质
CN103544995A (zh) 一种坏道修复方法及装置
CN103530242A (zh) NandFlash存储器写操作过程掉电防护方法
CN115599607B (zh) 一种raid阵列的数据恢复方法及相关装置

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