一种raid5掉两块盘的数据恢复方法

文档序号:6535778阅读:2764来源:国知局
一种raid5掉两块盘的数据恢复方法
【专利摘要】本发明提供一种RAID5掉两块盘的数据恢复方法,其实现过程为:RAID5失效是因为有两块成员磁盘存在坏扇区;通过绕过原盘坏扇区拷贝一坏盘数据到一目标好盘上;用拷贝之后的好盘,更换坏盘;强制重启RAID5,重构另一块坏盘数据到热备盘。该一种RAID5掉两块盘的数据恢复方法和现有技术相比,可以修复失效的RAID5,恢复阵列数据,提高RAID5磁盘阵列的可靠性、稳定性,延长使用寿命,提高存储资源利用率,提高产品在市场上的竞争力,实用性强,易于推广。
【专利说明】一种RAID5掉两块盘的数据恢复方法
【技术领域】
[0001]本发明涉及计算机磁盘阵列【技术领域】,更具体地说是RAID5掉两块盘的数据恢复方法。
【背景技术】
[0002]RAID技术就是利用容量比较小的磁盘按一定的规则组成一个大容量的磁盘阵列向外提供存储资源,RAID (Redundant Array of Independent Disks)就被称为独立冗余磁盘阵列。
[0003]使用RAID的主要目有:
1、对磁盘上的数据进行冗余存储,实现容错功能。
[0004]2有I/O请求时,可以对磁盘进行并发访问,提高吞吐率。
[0005]RAID5支持冗余,在阵列中的所有磁盘上都存储检验信息,其校验和技术是在磁盘条带中采用异或校验,被称作为“采用块交叉访问及校验信息均匀分布”模式。
[0006]条带是RAID成员盘的存储空间被划分为大小相等的小空间。
[0007]异或运算特征为A ? B = C ==> BffiC = A, AffiC = B;
因此如果A、B为数据块,C为校验块,当B所在的盘失效后,能够通过A和C异或校验计算出B。这是RAID5容错的最基本原理,可以容忍一块磁盘故障。
[0008]RAID5读写操作是以条带为基本单位,条带的宽度为4KB,条带的长度为成员磁盘个数。对于条带中磁盘数据的写操作,都要更新校验盘数据,以确保条带数据的一致性。
[0009]目前RAID5读写操作遇到坏扇区的时候,将有坏扇区的磁盘从RAID5磁盘阵列中剔除,RAID5降级,降级后的RAID5失去了容错能力,但是还可以进行读写操作,其读写操作如图1所示。如果降级后的RAID5其成员盘再遇到坏扇区,会将此坏扇区的磁盘从RAID5阵列中剔除,由于RAID5掉两块盘,整个阵列失效,所有的数据会丢失。
[0010]RAID5由于掉两块成员磁盘而失效导致整个阵列不可用,数据丢失,不利于数据安全。基于此,现提供一种RAID5掉两块盘的数据恢复方法。

【发明内容】

[0011]本发明的技术任务是解决现有技术的不足,提供一种RAID5掉两块盘的数据恢复方法。
[0012]本发明的技术方案是按以下方式实现的,该一种RAID5掉两块盘的数据恢复方法,其具体恢复过程为:
一、标记出RAID5阵列中被剔除的两块具有坏扇区磁盘,获得这两块损坏磁盘的属性信息,根据此磁盘属性信息,选两块一模一样的新磁盘;
二、定位出其中一块坏盘中的坏扇区的位置,将除坏扇区之外的数据拷贝到新盘对应位置上;
通过上述步骤操作,坏盘上的数据基本全部拷贝到新盘中了。[0013]三、将拷贝好数据的新盘替换坏扇区盘,如果之前RAID5中没有热备盘则增加热备盘,如果有就不用增加;
四、强制重启RAID5,重构另一块坏盘数据到热备盘。
[0014]所述步骤二的详细过程为:在拷贝的时候,当遇到坏盘的坏扇区时,拷贝命令就退出,这时获得拷贝数据的大小,此大小即坏扇区的所在位置,此时绕开坏扇区将剩下的数据全部拷贝出来。
[0015]所述步骤四的详细过程为:RAID5在强制重启后,开始重构,将另一块坏盘中有坏扇区的数据通过RAID5机制,重构到了热备盘上,当重构完成后,用新盘替换掉第一块有坏扇区的磁盘,将新盘做成RAID5的热备盘。[0016]本发明与现有技术相比所产生的有益效果是:
本发明的一种RAID5掉两块盘的数据恢复方法可以修复失效的RAID5,恢复阵列数据,提高RAID5磁盘阵列的可靠性、稳定性,延长使用寿命,提高存储资源利用率,提高产品在市场上的竞争力,实用性强,易于推广。
【专利附图】

【附图说明】
[0017]附图1为RAID5结构示意图。
[0018]附图2为发明中RAID5阵列掉两块盘数据恢复示意图。
【具体实施方式】
[0019]下面结合附图对本发明的一种RAID5掉两块盘的数据恢复方法作以下详细说明。
[0020]当RAID5磁盘阵列中,遇到一个成员磁盘坏扇区,将此磁盘从阵列中剔除,RAID5降级,热备盘根据RAID5策略加入到阵列中,通过其他成员盘数据重构坏扇区成员盘数据,在此重构过程中,又遇到第二块成员磁盘坏扇区,将其剔除,RAID5磁盘阵列到此失效。为了解决实际环境中遇到了 RAID5失效后,数据恢复的问题,如附图2所示,本发明提出了一种RAID5掉两块盘的数据恢复方法,其具体恢复过程为:
S1:标记出RAID5阵列中被剔除的两块具有坏扇区磁盘,获得这两块损坏磁盘的属性信息:厂家、容量、转速等。根据此磁盘属性信息,选两块一模一样的新磁盘。
[0021]S2:将第二块含有坏扇区的磁盘数据全部拷贝到新磁盘中。(比如:坏盘为sdm,新盘为sdx )拷贝命令为:
dd if=/dev/sdm of=/dev/sdx bs=512
在拷贝的时候,当遇到sdm坏扇区的时候,dd命令就退出,可以获得拷贝数据的大小,此大小就是坏扇区的所在位置,假如坏扇区的位置为A(单位为bytes)。由于坏扇区的数据是无法拷贝出来的,只能绕开坏扇区将剩下的数据全部拷贝出来。试探坏扇区的方法为:dd if=/dev/sdm of=/dev/sdx bs=512 count=l skip= (A/512+N) seek= (A/512+N)一次试探拷贝一个扇区,N取值从I开始一直递增,直到探测到sdm的好扇区为止。比如探测到好扇区为B (单位为扇区),B= (A/512+N)。之后就拷贝剩余扇区的数据,其方法为:
dd if=/dev/sdm of=/dev/sdx bs=512 skip=B seek=B
通过上述步骤操作,坏盘上的数据基本全部拷贝到新盘中了。[0022]S3:将拷贝好数据的新盘替换坏扇区盘,如果之前RAID5中没有热备盘再增加热备盘,如果有就不用增加。强制重启RAID,命令为,
mdadm -Av /dev/mdO —uuid=XXXXXXXXXXXXXX —force
RAID5在强制重启后,开始重构,将第一块有坏扇区的数据通过RAID5机制,重构到了热备盘上,热备盘就成为RAID5的成员盘,也都保证了各个成员盘数据的一致性。
[0023]S4:当重构完成后,用新盘替换掉第一块有坏扇区的磁盘。将新盘做成RAID5的热备盘。
[0024]至此,失效的RAID5重新被修复可以再使用,大部分数据也已被找回,所丢数据就是坏扇区所在数据。
[0025]当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
【权利要求】
1.一种RAID5掉两块盘的数据恢复方法,其特征在于其具体恢复过程为: 一、标记出RAID5阵列中被剔除的两块具有坏扇区磁盘,获得这两块损坏磁盘的属性信息,根据此磁盘属性信息,选两块一模一样的新磁盘; 二、定位出其中一块坏盘中的坏扇区的位置,将除坏扇区之外的数据拷贝到新盘对应位置上; 三、将拷贝好数据的新盘替换坏扇区盘,如果之前RAID5中没有热备盘则增加热备盘,如果有就不用增加; 四、强制重启RAID5,重构另一块坏盘数据到热备盘。
2.根据权利要求1所述的一种RAID5掉两块盘的数据恢复方法,其特征在于:所述步骤二的详细过程为:在拷贝的时候,当遇到坏盘的坏扇区时,拷贝命令就退出,这时获得拷贝数据的大小,此大小即坏扇区的所在位置,此时绕开坏扇区将剩下的数据全部拷贝出来。
3.根据权利要求2所述的一种RAID5掉两块盘的数据恢复方法,其特征在于:所述步骤四的详细过程为:RAID5在强制重启后,开始重构,将另一块坏盘中有坏扇区的数据通过RAID5机制,重构到了热备盘上,当重构完成后,用新盘替换掉第一块有坏扇区的磁盘,将新盘做成RAID5的热备盘。
【文档编号】G06F11/14GK103729268SQ201410017447
【公开日】2014年4月16日 申请日期:2014年1月15日 优先权日:2014年1月15日
【发明者】周耀辉 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1