zoukankan      html  css  js  c++  java
  • Raid磁盘阵列重建后如何恢复原来的数据

    【raid数据恢复故障描述】

    一台服务器,上层搭建了raid5磁盘阵列,共有5块硬盘在运行用于公司数据的存储,没有备份文件,有一天服务器上有一块硬盘掉线,遂聘请外部运维公司对服务器进行维护,运维公司人员在没有了解具体情况下直接对服务器内的4块正常硬盘重建成了一组全新的raid5阵列,直接导致服务器原有数据全部丢失。

    【服务器raid阵列故障情况分析】

    在这个数据丢失的全过程中,导致数据被破坏的操作就是重建raid5这个操作。客户服务器上原始阵列就是raid5,即使有一块硬盘掉线的情况下也不会影响服务器的使用和数据完整性。但运维公司对其中的4块硬盘重建了raid5阵列,这将导致全盘重建校验块,意味着原有的数据必然被破坏。

    【恢复数据思路】

    经过服务器数据恢复工程师初步分析,运维公司通过4块硬盘组件的raid5是按照双循环策略生成,块大小为64;条带换校验次数为16。原服务器内的5盘raid阵列也是双循环;块大小128;条带换校验次数为16。

    由此我们可以推断出经过重建raid的服务器内尚可识别的4块硬盘中每隔3M的数据将出现1M的原始数据被破坏。想要恢复服务器内的数据,需要对掉线的硬盘进行分析,通过对比5盘raid阵列和4盘raid阵列的差异,采用掉线硬盘里的数据对每一块硬盘中被破坏的原始数据进行补缺,最后重组raid;解释文件系统;导出文件即可。因此我们最终恢复的数据完整度取决于掉线硬盘内的数据量多少。

    【恢复raid阵列数据过程】

    一、对客户原服务器内的所有数据进行镜像备份。

    二、分析镜像文件,得到数据被破坏前后的raid结构。

    三、对比数据被破坏前后的raid阵列结构,分析raid结构差异,编写修正程序提取数据。同时按照客户原始服务器内的5盘阵列结构虚拟重组raid5阵列,生成一组重组后的镜像文件。

    四、提取掉线硬盘内的数据,对虚拟重组的raid阵列数据进行补全,修正文件系统错误。

    五、导出修复后的数据到新空间内进行验证,服务器数据恢复工程师自验证无误后交付客户验证数据。

    【数据恢复结论】

    联系客户亲自对恢复的服务器数据进行验证,经过验证,所有数据均成功恢复,客户对本次数据恢复的结果十分满意,认可本次数据恢复100%成功。

  • 相关阅读:
    还在使用golang 的map 做Json编码么?
    Golang 性能测试(2) 性能分析
    golang 性能测试 (1) 基准性能测试
    消息队列 NSQ 源码学习笔记 (五)
    消息队列 NSQ 源码学习笔记 (四)
    消息队列 NSQ 源码学习笔记 (三)
    消息队列 NSQ 源码学习笔记 (二)
    消息队列 NSQ 源码学习笔记 (一)
    你不知道的空格
    Supervisor 使用和进阶4 (Event 的使用)
  • 原文地址:https://www.cnblogs.com/frombyte/p/13073063.html
Copyright © 2011-2022 走看看