CN102981936A - 一种磁盘阵列数据重构的方法 - Google Patents
一种磁盘阵列数据重构的方法 Download PDFInfo
- Publication number
- CN102981936A CN102981936A CN2012104592911A CN201210459291A CN102981936A CN 102981936 A CN102981936 A CN 102981936A CN 2012104592911 A CN2012104592911 A CN 2012104592911A CN 201210459291 A CN201210459291 A CN 201210459291A CN 102981936 A CN102981936 A CN 102981936A
- Authority
- CN
- China
- Prior art keywords
- data
- bitmap
- disk array
- zone
- reconstructed
- 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
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供一种磁盘阵列数据重构的方法,首先对写过的区域做标记,做过标记的区域的数据被认为是有效数据,当有盘失效后添加热备进行重构;没有标记的数据即认为是无效数据,不进行重构。该一种磁盘阵列数据重构的方法和现有技术相比,可加快磁盘阵列数据重构,降低再次磁盘失效的概率,大大提高了***可靠性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种磁盘阵列数据重构的方法。
背景技术
对于具有冗余校验信息的RAID5***, RAID5新创建时各成员盘数据并不能保证条带数据是一致性的. 数据的不一致性使得***无法按照正常流程处理主机IO 请求, 所得到的校验数据可能是错误的,因此这些级别的RAID5创建时必须先进行一致性初始化工作。RAID5是支持一块盘失效的情况,当一块盘失效,出现降级的情况,加入热备盘进行恢复,也相当于要进行一致性校验,任务必须遍历成员盘的所有数据, 这是一项非常耗时的工作, 并且随着磁盘的容量的增大,这个过程需要的时间就会更长。
在这个过程中,如果再出现另一块盘失效的话,那么由于RAID5的冗余机制,无法再进行恢复了,整个阵列就会失效。因此这个过程时间越长的话,再次有盘失效的概率就越大。因此有必要找到一种方法加快对失效盘的数据重构。
发明内容
本发明的技术任务是针对在现有技术的不足,提供一种磁盘阵列数据重构的方法。
本发明的技术方案是按以下方式实现的,该一种磁盘阵列数据重构的方法,该方法的具体步骤为:首先对写过的区域做标记,做过标记的区域的数据被认为是有效数据,当有盘失效后添加热备进行重构;没有标记的数据即认为是无效数据,不进行重构。
所述标记信息保存在非易失性内存中。
所述标记用位图来表示:在创建RAID时,设置一个位图,存放在磁盘的尾部,位图中一个位表示对应的区域是否出现过写数据。
所述位图中的一个位表示一个或几个条带的数据区域,RAID启动后,就把这些记录存放到非易失性内存中,并初始化为0,该标记位图的区域有写请求时,就把位图对应的位设置为1,当RAID5发生降级,即出现单个成员盘失效,并添加热备盘进行重构时,根据位图状态判断是否重构:如果为1则进行重构,如果为0则直接跳过,判断下一个区域。
本发明与现有技术相比所产生的有益效果是:
本发明的一种磁盘阵列数据重构的方法可加快磁盘阵列数据重构,降低再次磁盘失效的概率,方便RAID5的恢复过程,不影响使用性能,大大提高了***可靠性。
附图说明
附图1是本发明的写数据流程示意图。
附图2是本发明的数据重构流程示意图。
具体实施方式
下面结合附图对本发明所提供的一种磁盘阵列数据重构的方法作以下详细说明。
一种磁盘阵列数据重构的方法,该方法的实现过程为:首先对写过的区域做标记,做过标记的区域的数据被认为是有效数据,当有盘失效后添加热备进行重构;没有标记的数据即认为是无效数据,不进行重构。
本发明考虑磁盘不同区域访问性能不同的特点, 出于对性能的优化,一个标记表示区域的大小是可变的;也可以经过设置重新改变。为了不影响正常的IO请求,本发明把标记信息保存到非易失性内存,断电后不能丢失;另外,也对保存的标记进行判断,如果无效,就把所有盘上的数据都按照有效数据进行重构。
所述标记用位图来表示:创建RAID的时候,设置一个标记位图,存放在磁盘的尾部,位图中每一位表示对应的一个较大区块是否已出现过写数据。在本发明,一位代表一个或几个条带的数据区域。RAID启动后,就把这些记录存放到非易失性内存中,并初始化为0。考虑到如果一位代表一个条带的数据区域,对于2T的盘需要64M,占用内存太大。所以,要改变一个位表示的粒度。另外,考虑到重构是按顺序执行,在顺序读写情况下,磁盘外圈的数据访问要比内圈快,所以,本发明对磁盘外圈的粒度表示要比内圈的粒度表示要大,这样会让内圈减少请求,内圈的请求越少,重构效率就越高。为了简化起见,本发明设置一个默认状态,把数据区按条带分成8等分,最底部是靠近内圈的数据,一位代表一个条带;向上的部分是一位代表两个条带的数据,依次类推,一直到一个位表示16个条带为止。也可以在创建的时候进行配置,可以指定哪个区域细化,根据内存情况,可以让每个区域代表一个或多个条带,也可以设置成内圈与外圈的位图表示的粒度是相同的。
写请求处理的流程为:条带写操作引起的上述对该位图的位的更新操作必须在条带写请求之前完成,为了防止断电,必须要及时保护位图,但如果同步到磁盘,就会影响性能,因此,可以把位图保存到非易失性内存中去,以保护***出现意外断电时位图数据是正确的。
如附图1所示,这个阶段的流程如下:
1)计算要写的条带对应的扇区是在哪个区域,判断位图对应的位是否设置1。如果设置1,直接跳到第3)步 ,如果没有,就执行下一步。
2)把对应的位设置1,把条带放在一个延迟链表延迟处理,把位图放到非易失性内存中。
3)当确认位图写完之后,就处理真正的要写的条带。
如图2所示,发生失效后的恢复处理流程如下:当RAID-5发生降级,即出现单个成员盘失效,并添加热备盘进行重构时,根据位图状态判断是否重构。如果置1则进行重构,如果为0则直接跳过,判断下一个区域。
本发明设置一个标记stop_right,可以判断是正常停止还是异常停止;如果是正常停止,那么***通过停止处理流程将位图刷写到磁盘,并把stop_right 设置为1,当RAID再启动后,判断stop_right为1,从磁盘中直接获取位图信息,然后把stop_right设置为0。如果是非正常停止,stop_right 还是0,当RAID再启动后,判断stop_right为0,则从非易失性内存中读取位图。
Claims (4)
1.一种磁盘阵列数据重构的方法,其特征在于该方法的具体步骤为:首先对写过的区域做标记,做过标记的区域的数据被认为是有效数据,当有盘失效后添加热备进行重构;没有标记的数据即认为是无效数据,不进行重构。
2.根据权利要求1所述的一种磁盘阵列数据重构的方法,其特征在于:所述标记信息保存在非易失性内存中。
3.根据权利要求1或2所述的一种磁盘阵列数据重构的方法,其特征在于:所述标记用位图来表示:在创建RAID时,设置一个位图,存放在磁盘的尾部,位图中一个位表示对应的区域是否出现过写数据。
4.根据权利要求3所述的一种磁盘阵列数据重构的方法,其特征在于:所述位图中的一个位表示一个或几个条带的数据区域,RAID启动后,就把这些记录存放到非易失性内存中,并初始化为0,该标记位图的区域有写请求时,就把位图对应的位设置为1,当RAID5发生降级,即出现单个成员盘失效,并添加热备盘进行重构时,根据位图状态判断是否重构:如果为1则进行重构,如果为0则直接跳过,判断下一个区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104592911A CN102981936A (zh) | 2012-11-15 | 2012-11-15 | 一种磁盘阵列数据重构的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104592911A CN102981936A (zh) | 2012-11-15 | 2012-11-15 | 一种磁盘阵列数据重构的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102981936A true CN102981936A (zh) | 2013-03-20 |
Family
ID=47855991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104592911A Pending CN102981936A (zh) | 2012-11-15 | 2012-11-15 | 一种磁盘阵列数据重构的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102981936A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186438A (zh) * | 2013-04-02 | 2013-07-03 | 浪潮电子信息产业股份有限公司 | 一种提高磁盘阵列数据重构效率的方法 |
CN104793897A (zh) * | 2015-02-04 | 2015-07-22 | 北京神州云科数据技术有限公司 | 一种bitmap的存储方法 |
CN108334419A (zh) * | 2017-12-25 | 2018-07-27 | 华为技术有限公司 | 一种数据恢复的方法和装置 |
CN108874321A (zh) * | 2018-06-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列数据重构方法、装置及设备 |
CN108874314A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列的重构方法及装置 |
CN111831470A (zh) * | 2019-04-18 | 2020-10-27 | 上海川源信息科技有限公司 | 磁盘阵列***的数据还原方法 |
CN112650444A (zh) * | 2020-12-11 | 2021-04-13 | 苏州浪潮智能科技有限公司 | 一种数据重构方法、***、设备以及介质 |
CN113360312A (zh) * | 2021-06-24 | 2021-09-07 | 苏州浪潮智能科技有限公司 | 一种硬盘故障处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030237019A1 (en) * | 2002-06-24 | 2003-12-25 | Kleiman Steven R. | Using file system information in RAID data reconstruction and migration |
CN101840360A (zh) * | 2009-10-28 | 2010-09-22 | 创新科存储技术有限公司 | Raid***的快速重建方法及装置 |
CN102521074A (zh) * | 2011-12-01 | 2012-06-27 | 浪潮电子信息产业股份有限公司 | 一种加快raid5恢复的方法 |
CN102609223A (zh) * | 2012-02-13 | 2012-07-25 | 浪潮(北京)电子信息产业有限公司 | 一种独立冗余磁盘阵列***及其初始化方法 |
CN102750111A (zh) * | 2012-05-30 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种raid位图存储的方法 |
-
2012
- 2012-11-15 CN CN2012104592911A patent/CN102981936A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030237019A1 (en) * | 2002-06-24 | 2003-12-25 | Kleiman Steven R. | Using file system information in RAID data reconstruction and migration |
CN101840360A (zh) * | 2009-10-28 | 2010-09-22 | 创新科存储技术有限公司 | Raid***的快速重建方法及装置 |
CN102521074A (zh) * | 2011-12-01 | 2012-06-27 | 浪潮电子信息产业股份有限公司 | 一种加快raid5恢复的方法 |
CN102609223A (zh) * | 2012-02-13 | 2012-07-25 | 浪潮(北京)电子信息产业有限公司 | 一种独立冗余磁盘阵列***及其初始化方法 |
CN102750111A (zh) * | 2012-05-30 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种raid位图存储的方法 |
Non-Patent Citations (1)
Title |
---|
吉姆斯•里贝克: "《SCO OpenServer 5.1 ***管理参考大全》", 30 September 2000, 北京希望电子出版社 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186438A (zh) * | 2013-04-02 | 2013-07-03 | 浪潮电子信息产业股份有限公司 | 一种提高磁盘阵列数据重构效率的方法 |
CN104793897A (zh) * | 2015-02-04 | 2015-07-22 | 北京神州云科数据技术有限公司 | 一种bitmap的存储方法 |
CN104793897B (zh) * | 2015-02-04 | 2018-04-06 | 深圳神州数码云科数据技术有限公司 | 一种bitmap的存储方法 |
CN108334419A (zh) * | 2017-12-25 | 2018-07-27 | 华为技术有限公司 | 一种数据恢复的方法和装置 |
CN108874314A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列的重构方法及装置 |
CN108874321A (zh) * | 2018-06-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列数据重构方法、装置及设备 |
CN111831470A (zh) * | 2019-04-18 | 2020-10-27 | 上海川源信息科技有限公司 | 磁盘阵列***的数据还原方法 |
CN111831470B (zh) * | 2019-04-18 | 2024-03-08 | 上海川源信息科技有限公司 | 磁盘阵列***的数据还原方法 |
CN112650444A (zh) * | 2020-12-11 | 2021-04-13 | 苏州浪潮智能科技有限公司 | 一种数据重构方法、***、设备以及介质 |
CN113360312A (zh) * | 2021-06-24 | 2021-09-07 | 苏州浪潮智能科技有限公司 | 一种硬盘故障处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981936A (zh) | 一种磁盘阵列数据重构的方法 | |
US10445231B2 (en) | Method and system for storage device metadata management and processing | |
CN111752487B (zh) | 一种数据恢复方法、装置及固态硬盘 | |
CN101840360A (zh) | Raid***的快速重建方法及装置 | |
CN107832237B (zh) | 一种快速重建未映射表的方法及固态硬盘 | |
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 | |
CN102184129B (zh) | 磁盘阵列的容错方法和装置 | |
CN103034458B (zh) | 固态硬盘中实现独立磁盘冗余阵列的方法及装置 | |
CN104035830A (zh) | 一种数据恢复方法和装置 | |
CN105740157A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN102508620B (zh) | 一种处理raid5坏扇区的方法 | |
CN103699337B (zh) | 一种基于独立磁盘冗余阵列raid的写控制方法及*** | |
US20190087348A1 (en) | Data backup method, data recovery method and storage controller | |
CN104142872A (zh) | 一种raid磁盘阵列的快速重建方法 | |
CN101777013A (zh) | 一种固态硬盘及数据读写方法 | |
CN102799533B (zh) | 一种磁盘损坏扇区屏蔽方法及装置 | |
CN105786412A (zh) | 非易失性存储器装置的操作方法 | |
CN101567220B (zh) | 闪存的损坏区块辨识方法、储存***及其控制器 | |
US8879183B1 (en) | Segmenting of read-modify-write operations | |
CN103186438A (zh) | 一种提高磁盘阵列数据重构效率的方法 | |
CN103019894B (zh) | 一种独立冗余磁盘阵列的重建方法 | |
US9772782B2 (en) | Non-volatile complement data cache | |
CN102521074B (zh) | 一种加快raid5恢复的方法 | |
CN102023902A (zh) | 一种磁盘阵列重建方法 | |
CN107885620B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130320 |