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

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

Info

Publication number
CN102521074B
CN102521074B CN 201110392513 CN201110392513A CN102521074B CN 102521074 B CN102521074 B CN 102521074B CN 201110392513 CN201110392513 CN 201110392513 CN 201110392513 A CN201110392513 A CN 201110392513A CN 102521074 B CN102521074 B CN 102521074B
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.)
Active
Application number
CN 201110392513
Other languages
English (en)
Other versions
CN102521074A (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

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

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

Families Citing this family (7)

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

Family Cites Families (5)

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

Also Published As

Publication number Publication date
CN102521074A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102521074B (zh) 一种加快raid5恢复的方法
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US7849356B2 (en) Parity data management system apparatus and method
CN102023815B (zh) 在固态存储器中实现raid
JP4886209B2 (ja) アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法
CN110399247B (zh) 一种数据恢复方法、装置、设备及计算机可读存储介质
CN101840360A (zh) Raid系统的快速重建方法及装置
CN102541690B (zh) 一种智能卡及其恢复数据方法
JPH11338648A (ja) ディスクアレイ装置、そのエラ―制御方法、ならびにその制御プログラムを記録した記録媒体
CN110795273B (zh) 一种raid的写洞保护方法、系统及存储介质
JP2006139478A (ja) ディスクアレイシステム
CN103853566A (zh) Bios更新系统及方法
CN108874312B (zh) 数据存储方法以及存储设备
CN104461791A (zh) 一种信息处理方法及处理装置
US20150347224A1 (en) Storage control apparatus and method therefor
CN103049407B (zh) 数据存储方法、装置及系统
CN102207905A (zh) 系统恢复方法、存储媒体控制器及存储系统
CN103530242A (zh) NandFlash存储器写操作过程掉电防护方法
CN117493070A (zh) 存储坏块的处理方法及系统
JP2006268502A (ja) アレイコントローラ、メディアエラー修復方法及びプログラム
CN101828189A (zh) 用于中断写入恢复的数据存储方法、设备和系统
CN111124740A (zh) 一种数据读取方法、装置、存储设备及机器可读存储介质
JP2008077782A (ja) 記憶データ処理装置、記憶装置、記憶データ処理プログラム
JP2005107839A (ja) アレイコントローラ及びディスクアレイ再構築方法
CN102508747A (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