[发明专利]独立磁盘冗余阵列修复方法、装置和存储设备有效
申请号: | 201310632579.9 | 申请日: | 2013-11-29 |
公开(公告)号: | CN103678048A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 何孝金;李大权 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/16 | 分类号: | G06F11/16 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 黄厚刚 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 独立 磁盘 冗余 阵列 修复 方法 装置 存储 设备 | ||
技术领域
本发明涉及数据存储领域,特别涉及一种独立磁盘冗余阵列修复方法、装置和存储设备。
背景技术
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)组由多个硬盘组成,当向RAID组存入文件时,可以利用条带化(striping)技术将文件分成等同的多个数据块(Block),将这些数据块依次存入多个硬盘中,其中一个数据块所占硬盘的区域记为一个条带单元(segment),在RAID组中在不同硬盘上距离起始位置相同的条带单元组成一个条带(strip)。
通常来讲,如果RAID组中同一个条带中的一个条带单元中出现故障,则可以读出其他条带单元中的数据,利用RAID冗余计算出该出现故障的条带单元中的数据,利用计算出的数据对该条带单元进行写修复。但如果一个条带中出现多个故障的条带单元,由于无法用RAID冗余计算出正确的数据,因此无法对这些故障的条带单元进行写修复。比如,对于RAID5或RAID3来讲,当一个条带中存在两个或两个以上出现故障的条带单元时,则无法通过RAID冗余算法对这些出现故障的条带单元进行写修复;对于RAID6来讲,当一个条带中存在三个或三个以上出现故障的条带单元时,则无法通过RAID冗余算法对这些出现故障的条带单元进行写修复。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:当一个条带中出现预定个数存在故障的条带单元之后,在后续使用过程中,如果该条带中其他条带单元再出现故障,则无法对这些条带单元进行修复,造成故障区域扩大、数据丢失量增加。
发明内容
为了解决现有技术中当RAID组中一个条带中出现多个存在故障的条带单元时,无法对该条带中后续出现故障的条带单元进行修复,造成故障区域扩大、数据丢失量增加的问题,本发明实施例提供了一种独立磁盘冗余阵列修复方法、装置和存储设备。所述技术方案如下:
第一方面,提供了一种独立磁盘冗余阵列修复方法,所述方法包括:
当独立磁盘冗余阵列RAID组中同一条带中的多个条带单元存在故障时,判断所述条带中存在故障的所述条带单元数量是否满足使用所述RAID冗余算法进行修复的要求;
如果不满足,则对至少一个存在故障的所述条带单元进行无效修复,直至未修复的存在故障的所述条带单元数量满足RAID冗余算法修复的要求;
使用所述条带中为正常条带单元的数据,以及经过无效修复后各所述条带单元中的无效数据,利用所述RAID冗余算法,修复余下的存在故障的条带单元。
在第一方面的第一种可能的实施方式中,所述对至少一个存在故障的所述条带单元进行无效修复,包括:
当存在故障的所述条带单元能进行写修复时,则在存在故障的所述条带单元中写入无效数据;
所述利用所述RAID冗余算法,修复余下的存在故障的条带单元,包括:
当存在故障的所述条带单元能进行写修复时,则将利用所述RAID冗余算法计算出来的数据写入存在故障的所述条带单元中。
结合第一方面或者第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述对至少一个存在故障的所述条带单元进行无效修复,包括:
在备份的数据区写入无效数据,并将存在故障的所述条带单元与备份的所述数据区进行映射;
所述利用所述RAID冗余算法,修复余下的存在故障的条带单元,包括:
将利用所述RAID冗余算法计算出来的数据写入备份的数据区,并将存在故障的所述条带单元与备份的所述数据区进行映射。
结合第一方面、第一方面的第一种可能的实施方式或者第一方面的第二种可能的实施方式,在第三种可能的实施方式中,当所述RAID组为RAID5或RAID3时,所述判断所述条带中存在故障的所述条带单元数量是否满足使用所述RAID冗余算法进行修复的要求,包括:
判断所述条带中存在故障的所述条带单元数量是否大于1;
若判断结果为所述条带中存在故障的所述条带单元数据大于1,则判定所述条带中存在故障的所述条带单元数量不满足使用RAID冗余算法进行修复的要求;
若判断结果为所述条带中存在故障的所述条带单元数据不大于1,则判定所述条带中存在故障的所述条带单元数量满足使用所述RAID冗余算法进行修复的要求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310632579.9/2.html,转载请声明来源钻瓜专利网。