军达成 发表于 2011-8-5 16:11:31

【推荐】RAID5磁盘阵列故障原因及数据恢复方法

RAID5磁盘阵列是一种存储性能、数据安全和存储成本兼顾的存储解决方案。很多企业的网管都认为 RAID5很少出故障,即使出了故障,RAID5本身也有强大的容错能力,因此往往不太重视数据备份。这就造成了RAID出现故障时就是大灾难。那么RAID5发生故障的原因有哪些呢?如何应对RAID5磁盘阵列故障,如何对RAID5进行数据恢复呢?详情请看下文。
RAID5发生故障的原因可能有很多种,或者是RAID控制器故障,或者是突然断电导致的RAID信息出错,也有可能RAID5的一块硬盘出错,没及时更换,等到第二块硬盘出错时,造成RAID5失效。第一种情况,RAID5发生硬件故障,那么本文也无能为力,但是后两种情况,只要掌握了方法,操作得当,数据还是能被找回来的。
本文案例中的RAID5是由RAID卡/芯片生成的(硬RAID5)并且文件系统是NTFS。在讲述具体案例前,我们先介绍一下RAID5有五个关键参数:阵列起始扇区、每块扇区数、盘序、校验(用P代表)块走向、数据块走向!如果这五个参数计算正确,就可成功恢复数据。
扇区编号一律从“0”开始。
空扇区:512个字节全是00的扇区!
平行扇区:一个RAID5由若干块硬盘组成,不同硬盘上的同一编号的扇区之间互成“平行扇区”。平行扇区的扇区编号相同,只是在不同的硬盘上!在一组平行扇区中,总有一个也只有一个扇区是P扇区!
好了,了解以上的背景知识后,我们就可以来看看恢复数据的具体操作了。
第一步:对单个磁盘做全盘备份
本案例中RAID5共计3块硬盘。在恢复数据之前,我们先开始准备工作。
准备工作:对每块硬盘做“全盘备份”,并且使每个硬盘的“全盘备份”都成为一个单独的文件(通常是img/dsk文件,如1.img,2.img,3.img。这里的1,2,3只是编号而已,与盘序无关!)
操作提示:点击Winhex工具栏的中的“克隆磁盘”并勾选“复制整个磁盘”
用winhex打开这三个文件并且对每个文件进行“解释映象文件为磁盘的操作”。这样映像文件就变成磁盘了!第二步:搜索DBR扇区
下面我们进行参数分析,首先我们需要找到DBR扇区,这里介绍一下,DBR扇区对于多个磁盘的系统来说非常重要,本身保存了很多重要的数据。但我们需要用到的只有2个。参考下面的公式结果。硬RAID5的起始扇区总是 0号扇区,我们从0号扇区开始找阵列的DBR扇区。
搜索操作:用winhex的搜索菜单,选择“查找16进制值”,在搜索框中按下图示信息填写参数。DBR扇区的位置是很靠前的,所以在一个盘上搜一会如果没有就到其它盘上找。
图2图3这样我们搜索到1.dsk的31扇区是DBR。
第三步:根据DBR参数判断文件记录和校验块
图4从上图我们看到DBR模板会显示各种DBR参数,要用到其中两个数值:
(786432*8)/(2)+31=3145759号扇区
但是我们需要注意,此扇区是“源文件的文件记录”,而我们需要找到的是“用户文件的文件记录”。

下面我们继续找用户文件的文件记录
图5发现 3.img和1.img的3145793扇区都是用户文件的文件记录。而 2.img的3145793扇区就可确定为P扇区,用“46 49 4C 45”来向下找文件记录。发现2.img的3145825号扇区是文件记录,并且是一个数据块的开头扇区(它之前的若干扇区都是P扇区)!3145825-3145793=32。
3.img的3145825扇区是P扇区,并且是一个P块的开头扇区。(平行着看)用“46 49 4C 45”来向下找文件记录,发现3.img的3145857是文件记录并且是一个数据块的开头扇区。3145857-3145825=32,所以,每块扇区数=32。
第四步:确定所有磁盘的首个校验块
图6图7dsk的3145857号扇区是P扇区。
3145793MOD 96=65 ,65号扇区隶属于2.img上的首个P块,所以2.img上的首个P块是第三个块;
3145825 MOD 96=1,1号扇区隶属于3.img上的首个P块,3.img的首个P块是第一个块;
3145857MOD 96=33,33号扇区隶属于1.dsk上的首个P块,所以1.img上的首个P块第二个块。
以上三条是“各个硬盘上首个P块的位置”
第五步:判断P块走向
图8如果阵列上存有数据,假设D1是首个数据块,那么它的首个扇区就应该是阵列的起始扇区,也是所在硬盘的0号扇区。内容是MBR、EBR、DBR三者中的一种。
下面我们需要先假设一种“P块走向”,先假定“P块走向”是 1、2、3,因为1.dsk的首个P块第二个块,所以 1.dsk就是第二块盘,根据P块走向图,1.dsk的0扇区应该是阵列的起始扇区,内容应该是EBR,但实际上却是空扇区。所以我们可以否定 1,2,3的P 块顺序了。
确定P块走向为3,2,1,再结合已知的“各个硬盘上首个P块的位置”得出正确的盘序:第一块是2.img,第二块是1.img,第三块是3.img。
数据块走向的判断,如下图:
图9带颜色的是校验块。因为每块扇区数是32(编号0~31)。2号块总是第二块盘(1.img)的首个块。3号块不论在哪个硬盘上,都是第二个块!2号块最后扇区(31号扇区)和3号块首个扇区(32号扇区)在内容肯定是是紧密相连的。关键是看3号块在哪个盘。如果在第一块硬盘,那就是连续;如果是第三块硬盘,那就是标准。2号块最后扇区内容是DBR(EB5290) 即 1.img的31号扇区(如下图)。如果不是在RAID中,则1.img的32号扇区就应该是“NTLDR”

memory 发表于 2011-8-5 18:25:54

本帖最后由 军达成技术支持1 于 2015-10-9 00:15 编辑

写的不错,顶一下


deleted 发表于 2011-8-5 19:58:12

本帖最后由 军达成技术支持1 于 2015-10-9 00:15 编辑

好文章,感谢!!1


hdcat 发表于 2011-8-5 22:35:00

本帖最后由 军达成技术支持1 于 2015-10-9 00:16 编辑

多谢楼主了


海云数据恢复 发表于 2011-8-6 22:03:30

本帖最后由 军达成技术支持1 于 2015-10-9 00:16 编辑

写的不错!


潍坊数据恢复 发表于 2011-8-6 22:23:56

本帖最后由 军达成技术支持1 于 2015-10-9 00:16 编辑

多谢楼主了


EscapeReality。 发表于 2011-8-7 11:40:53

本帖最后由 军达成技术支持1 于 2015-10-9 00:16 编辑

学习了。


石家庄七星 发表于 2011-8-7 13:24:02

本帖最后由 军达成技术支持1 于 2015-10-9 00:16 编辑

学习一下,多谢楼主了


东莞数据恢复 发表于 2011-8-7 20:14:10

本帖最后由 军达成技术支持1 于 2015-10-9 00:16 编辑

过程很详细,学习学习~!


鑫灿维 发表于 2011-8-8 12:16:43

本帖最后由 军达成技术支持1 于 2015-10-9 00:16 编辑

{:soso_e100:}真是很好的内容,感谢


页: [1] 2 3
查看完整版本: 【推荐】RAID5磁盘阵列故障原因及数据恢复方法