raid数据恢复中你所不知道的秘密

[复制链接]

该用户从未签到

5

主题

0

回帖

508

积分

[INTOHARD]连长

Rank: 4

积分
508
发表于 2014-8-21 09:32:40 | 显示全部楼层 |阅读模式
        最近接手一个HP服务器4块盘的RAID5,其中一块盘物理上识别不了,于是用其余3块盘组合恢复数据,发现恢复出来的数据不正常,于是想办法修复那块物理故障的硬盘,幸好修好了这块物理故障的硬盘,把镜像做好了.于是按照下面的步骤来:

      1、采用故障硬盘的镜像参与RAID5组合,分3次缺不同的硬盘组合数据;

      2、导出原先觉得有问题的数据,尝试打开,看看文件是否正常。

      结果是:无论缺哪一块盘,组合出来的数据都是异常的,打开都有问题。用“护航舰”检测4块盘的冗余情况,都出现不符合raid5冗余信息的数据。按照以往的经验,可能就直接宣布恢复失败。忽然想起我很久以前恢复过的一个案例,跟这个案例类似。于是按照不缺盘的方式组合,结果出人意料:恢复出来的数据都能打开!

      从这个案例来讲,一开始的思路就是掉入Raid5 缺盘排除异常硬盘的组合就一定能判断出哪块盘不新鲜的陷阱。我们来分析一下:

      1、4块盘的Raid5,如果4块盘都是好的,用4块盘组合数据肯定没问题,缺任意一块盘组合数据也是没问题的;

      2、4块盘的Raid5,如果其中有一块盘数据不新鲜,那么我们通过缺盘组合验证数据,就能判断出哪块盘数据不新鲜;

      3、如果挨个缺盘组合,数据都不对,那么我们往往会放弃下一步恢复(这种情况会出现在一开始接手的时候有一块盘出现物理问题,我们先尝试用其余的硬盘来组合恢复数据,如果数据不对,我们就认为肯定有一块盘数据不新鲜,而且数据不新鲜的硬盘就在这正常的硬盘中,当我们把原来坏掉的硬盘修复好以后,我们采取的思路就是用这个原来的坏盘参与组合,缺原来好盘中的一个,而不是采用所有的硬盘来组合,正是我们忽略了这一步)

      在4个盘组成的Raid5的阵列中,为什么我们缺任何一块盘组合数据都不对呢?而用所有的硬盘组合数据就对呢?也许在数据恢复行业里,有人碰到过这个问题,可能也没想明白是什么回事。我经过了一番思考得出以下结论:

      由于RAID卡的XOR运算模块不起作用或者出现异常,导致往磁盘阵列中写数据时,数据块写入成功,但是冗余(校验)块没有写入成功或者XOR运算出错得到一个错误的结果写入校验块位置,这样我们用工具运算4块盘的XOR结果时得到一个错误的结果,我们就认为其中有坏盘。因为数据块写入正常,而校验块错误,所以我们不能用缺盘的方式来组合,一定要用所有的硬盘来组合才能恢复出正常的数据。
      来源:覃总
  • TA的每日心情
    开心
    2019-9-11 12:59
  • 签到天数: 13 天

    [LV.3]八品县丞

    44

    主题

    462

    回帖

    5895

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    5895
    发表于 2014-8-21 15:17:46 | 显示全部楼层
    分析的有道理,细想能理解!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11

    主题

    498

    回帖

    1814

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1814
    发表于 2014-8-21 16:30:05 | 显示全部楼层
    覃总出品,必属佳作。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-7-31 23:16
  • 签到天数: 3033 天

    [LV.Master]三朝元老

    378

    主题

    2783

    回帖

    1万

    积分

    [INTOHARD]旅长

    Rank: 9Rank: 9Rank: 9

    积分
    17192
    QQ
    发表于 2014-8-21 21:25:55 | 显示全部楼层
    本帖最后由 bsmao 于 2014-8-21 21:31 编辑

    精彩的分析,如果这个结论最终得到验证,那就非常完美了。佩服!真是学习了。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表