CN105183590A - 一种磁盘阵列的容错处理方法 - Google Patents
一种磁盘阵列的容错处理方法 Download PDFInfo
- Publication number
- CN105183590A CN105183590A CN201510547173.XA CN201510547173A CN105183590A CN 105183590 A CN105183590 A CN 105183590A CN 201510547173 A CN201510547173 A CN 201510547173A CN 105183590 A CN105183590 A CN 105183590A
- Authority
- CN
- China
- Prior art keywords
- disk
- data
- band
- disk array
- write
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种磁盘阵列的容错处理方法,包括如下步骤:当发生数据写入错误时,确定发生写入错误的数据所在磁盘的存储空间,将该存储空间进行坏块标记;当发生数据读取错误时,判断磁盘阵列是否完整,如果完整则通过校验计算出当前位置数据,然后将该数据写回所在磁盘的相应位置,否则,进行坏块标记;当磁盘阵列中的磁盘发生故障时,对磁盘阵列进行重建,当进行下一次写入操作时,对进行坏块标记的存储空间进行写入操作,如果该存储空间写入成功,且后续读取也成功,则清除对该存储空间的坏块标记,反之则保留坏块标记。本发明解决了现有技术中的磁盘阵列***只记录读写错误的坏块信息而不修复坏块且受限于自身的容错范围的技术问题。
Description
技术领域
本发明涉及磁盘阵列技术领域,具体涉及一种磁盘阵列的容错处理方法。
背景技术
独立磁盘冗余阵列,简称磁盘阵列,其将多个独立的磁盘结合成一个阵列,提供很好的冗余性和比单个磁盘更高的存储性能。在存储领域中,通过磁盘阵列自身的冗余性将数据直接或间接存储在多个单独的磁盘上,以达到当一个或多个磁盘故障时数据不丢失的目的,即实现了数据容错。
其中,当因为某些原因比如磁盘阵列中的磁盘故障等导致磁盘阵列失去冗余性时,该磁盘阵列会处于降级状态。以磁盘阵列中的磁盘故障导致磁盘阵列失去冗余性而使该磁盘阵列处于降级状态为例,则在现有技术中,为恢复该因磁盘故障而处于降级状态的磁盘阵列的冗余性,常用的方式为增加热备盘重建的方式,具体为:用热备盘替换故障的磁盘。但是,在该重建过程中,如果又发生了磁盘重建读错误,其中,重建读错误为重建过程中,重建I/O导致磁盘发生的读错误,则,停止重建,此时该磁盘阵列只能停留在降级状态,无法回到冗余状态。一旦该磁盘阵列中的其他磁盘再发生故障时,整个磁盘阵列就会失败,即关闭I/O通道,这不仅导致该磁盘阵列停止提供业务,还会导致该磁盘阵列之前存储的数据丢失。
另外,当对处于降级状态的磁盘阵列进行业务读时,如果发生业务读错误,其中,业务读错误为:业务读写过程中,业务I/O导致磁盘发生的读错误,则,此时该磁盘阵列失败,即关闭I/O通道,这导致该磁盘阵列停止提供业务,并导致之前存储的数据丢失。
发明内容
本发明的目的在于提供一种磁盘阵列的容错处理方法,避免处于降级状态的磁盘阵列由于发生重建读错误或者业务读错误而引起的问题。
为实现上述目的,本发明采用了以下技术方案:包括
由上述技术方案可知,本发明所述的磁盘阵列容错方法,可以准确地判断出发生读写错误的存储空间是否真的物理损坏了,而且当读写错误并不是因为磁盘本身的损坏造成时,还会通过后续正常的写入和读取操作进行修复,不需要增加专门的修复步骤,上层应用几乎不感知这个操作过程从而解决了现有技术中的磁盘阵列***只记录坏块信息而不修复坏块的问题,有效降低了数据的损失和磁盘的剔除频率,磁盘的使用寿命得到真正的延长,提高了磁盘阵列***的可靠性。
具体实施方式
本实施例的磁盘阵列的容错处理方法,包括以下步骤:
S1:当发生数据写入错误时,确定发生写入错误的数据所在磁盘的存储空间,将发生写入错误的存储空间进行坏块标记,并在下一次读取操作时,不再读取进行了坏块标记的存储空间;
S2:当发生数据读取错误时,判断磁盘阵列***是否完整,如果完整则通过校验计算出当前位置数据,然后将计算出的数据写回所在磁盘的相应位置,否则,将发生数据读取错误的磁盘的存储空间进行坏块标记;
S3:当磁盘阵列中的磁盘发生故障时,在磁盘阵列中增加热备盘,以替换该发生故障的磁盘,并以条带为单位对增加了热备盘的磁盘阵列进行重建,在被重建的当前条带发生重建读错误时,将该当前条带的标识记录到非易失性内存中,并跳过当前条带,从下一个条带继续重建,直至完成磁盘阵列的重建;针对非易失性内存中记录的每一条带标识,通过写方式修复与该条带标识对应的条带的重建读错误,并在完成修复后从非易失性内存中删除该条带标识;
S4:当进行下一次写入操作时,先判断磁盘阵列的条带是否正常,如果正常则对磁盘进行正常写入操作;否则判断条带是否满足写入算法要求,如果满足要求则记录被写的坏块标记,并同样进行写入操作,反之则进行错误处理;当完成写入操作后,如果进行了坏块标记的存储空间写入成功,判断该存储空间是否记录了坏块标记,如果是则进行后续读取操作,如果进行坏块标记的存储空间也读取成功,则清除对该存储空间的坏块标记,反之则保留坏块标记。
在步骤(3)中,通过写方式修复与该条带标识对应的条带的重建读错误包括:通过向与该条带标识对应的整个条带写数据来修复与该条带标识对应的条带的重建读错误;或者,确定与该条带标识对应的条带所存储数据的重要程度,如果确定出该数据的重要程度小于设定阈值,则通过以下操作修复该条带的重建读错误:向该条带所占用的除热备盘之外的其他磁盘写满设定数据,并向该条带所占用的热备盘写入根据其他磁盘中的设定数据所计算出的数据。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (3)
1.一种磁盘阵列的容错处理方法,其特征在于,包括以下步骤:
(1)当发生数据写入错误时,确定发生写入错误的数据所在磁盘的存储空间,将发生写入错误的存储空间进行坏块标记,并在下一次读取操作时,不再读取所述进行了坏块标记的存储空间;
(2)当发生数据读取错误时,判断所述磁盘阵列***是否完整,如果完整则通过校验计算出当前位置数据,然后将计算出的数据写回所在磁盘的相应位置,否则,将发生数据读取错误的磁盘的存储空间进行坏块标记;
(3)当磁盘阵列中的磁盘发生故障时,在所述磁盘阵列中增加热备盘,以替换该发生故障的磁盘,并以条带为单位对增加了热备盘的磁盘阵列进行重建,在被重建的当前条带发生重建读错误时,将该当前条带的标识记录到非易失性内存中,并跳过当前条带,从下一个条带继续重建,直至完成磁盘阵列的重建;
(4)当进行下一次写入操作时,先判断所述磁盘阵列的条带是否正常,如果正常则对所述磁盘进行正常写入操作;否则判断所述条带是否满足写入算法要求,如果满足要求则记录被写的坏块标记,并同样进行所述写入操作,反之则进行错误处理;当完成写入操作后,如果所述进行了坏块标记的存储空间写入成功,判断该存储空间是否记录了坏块标记,如果是则进行后续读取操作,如果所述进行坏块标记的存储空间也读取成功,则清除对该存储空间的坏块标记,反之则保留坏块标记。
2.根据权利要求1所述的磁盘阵列的容错处理方法,其特征在于:所述步骤(3)中,针对非易失性内存中记录的每一条带标识,通过写方式修复与该条带标识对应的条带的重建读错误,并在完成修复后从所述非易失性内存中删除该条带标识。
3.根据权利要求2所述的磁盘阵列的容错处理方法,其特征在于,所述通过写方式修复与该条带标识对应的条带的重建读错误包括:通过向与该条带标识对应的整个条带写数据来修复与该条带标识对应的条带的重建读错误;或者,确定与该条带标识对应的条带所存储数据的重要程度,如果确定出该数据的重要程度小于设定阈值,则通过以下操作修复该条带的重建读错误:向该条带所占用的除热备盘之外的其他磁盘写满设定数据,并向该条带所占用的热备盘写入根据所述其他磁盘中的设定数据所计算出的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510547173.XA CN105183590A (zh) | 2015-08-31 | 2015-08-31 | 一种磁盘阵列的容错处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510547173.XA CN105183590A (zh) | 2015-08-31 | 2015-08-31 | 一种磁盘阵列的容错处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105183590A true CN105183590A (zh) | 2015-12-23 |
Family
ID=54905684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510547173.XA Pending CN105183590A (zh) | 2015-08-31 | 2015-08-31 | 一种磁盘阵列的容错处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183590A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155847A (zh) * | 2016-08-19 | 2016-11-23 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘阵列 |
CN109545265A (zh) * | 2018-11-13 | 2019-03-29 | 深圳忆联信息***有限公司 | 一种固态硬盘设备实时发现弱块的方法及其*** |
CN109726036A (zh) * | 2018-11-21 | 2019-05-07 | 华为技术有限公司 | 一种存储***中的数据重构方法和装置 |
CN111158589A (zh) * | 2019-12-16 | 2020-05-15 | 绿晶半导体科技(北京)有限公司 | 存储阵列的动态管理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387975A (zh) * | 2008-10-20 | 2009-03-18 | 中科院成都信息技术有限公司 | 一种磁盘阵列*** |
CN102184129A (zh) * | 2011-04-27 | 2011-09-14 | 杭州华三通信技术有限公司 | 磁盘阵列的容错方法和装置 |
CN103309775A (zh) * | 2013-07-03 | 2013-09-18 | 苏州科达科技股份有限公司 | 一种高可靠磁盘阵列的容错方法 |
-
2015
- 2015-08-31 CN CN201510547173.XA patent/CN105183590A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387975A (zh) * | 2008-10-20 | 2009-03-18 | 中科院成都信息技术有限公司 | 一种磁盘阵列*** |
CN102184129A (zh) * | 2011-04-27 | 2011-09-14 | 杭州华三通信技术有限公司 | 磁盘阵列的容错方法和装置 |
CN103309775A (zh) * | 2013-07-03 | 2013-09-18 | 苏州科达科技股份有限公司 | 一种高可靠磁盘阵列的容错方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155847A (zh) * | 2016-08-19 | 2016-11-23 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘阵列 |
CN109545265A (zh) * | 2018-11-13 | 2019-03-29 | 深圳忆联信息***有限公司 | 一种固态硬盘设备实时发现弱块的方法及其*** |
CN109726036A (zh) * | 2018-11-21 | 2019-05-07 | 华为技术有限公司 | 一种存储***中的数据重构方法和装置 |
CN109726036B (zh) * | 2018-11-21 | 2021-08-20 | 华为技术有限公司 | 一种存储***中的数据重构方法和装置 |
CN111158589A (zh) * | 2019-12-16 | 2020-05-15 | 绿晶半导体科技(北京)有限公司 | 存储阵列的动态管理方法和装置 |
CN111158589B (zh) * | 2019-12-16 | 2023-10-20 | 绿晶半导体科技(北京)有限公司 | 存储阵列的动态管理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102184129B (zh) | 磁盘阵列的容错方法和装置 | |
CN103309775B (zh) | 一种高可靠磁盘阵列的容错方法 | |
CN102708019B (zh) | 一种硬盘数据恢复方法、装置及*** | |
US6959413B2 (en) | Method of handling unreadable blocks during rebuilding of a RAID device | |
US20140372838A1 (en) | Bad disk block self-detection method and apparatus, and computer storage medium | |
CN104484251B (zh) | 一种硬盘故障的处理方法及装置 | |
CN102508620B (zh) | 一种处理raid5坏扇区的方法 | |
US20140215262A1 (en) | Rebuilding a storage array | |
CN101916173B (zh) | 一种基于raid的数据读写方法及其*** | |
CN102508733B (zh) | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 | |
CN101840360A (zh) | Raid***的快速重建方法及装置 | |
CN103718162A (zh) | 用于ssd中灵活的raid的方法和设备 | |
CN105468479B (zh) | 一种磁盘阵列raid坏块处理方法及装置 | |
CN110795273B (zh) | 一种raid的写洞保护方法、***及存储介质 | |
CN105183590A (zh) | 一种磁盘阵列的容错处理方法 | |
CN114265728A (zh) | 存储***故障恢复方法、装置、计算机设备及介质 | |
CN104407821B (zh) | 一种实现raid重构的方法及装置 | |
CN111737049A (zh) | 基于raid6的磁盘阵列数据恢复方法和装置 | |
CN111816239B (zh) | 磁盘检测方法、装置、电子设备及机器可读存储介质 | |
CN105630417B (zh) | 一种raid5***及在raid5***失效后继续写数据的方法 | |
EP2613258A1 (en) | Automatic remapping in redundant array of independent disks and related raid | |
CN106528342A (zh) | 一种具有云服务器备份的磁盘阵列容错装置 | |
CN102945191B (zh) | 一种raid5数据转移的方法 | |
CN105183589A (zh) | 一种磁盘阵列容错装置 | |
CN104850359A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151223 |