zoukankan      html  css  js  c++  java
  • RAID6三块硬盘离线导致的数据丢失恢复过程

          小编我最近参与了一例非常成功的数据恢复的案例,在这里分享给大家。用户是一组6块750G磁盘的 RAID6,先后有两块磁盘离线,但维护人员在此情况下依然没有更换磁盘,所以在第三块硬盘离线后raid直接崩溃了。由此导致数据全部丢失。
          这台服务器是WEB服务器,运行MYSQL数据库,同时存放了大量其它文件,管理员在数据丢失后便第一时间寻求数据恢复公司的帮助,但是经过某公司的操作后仍有近一个月的文件损坏或丢失,MYSQL数据库也严重损坏。后来经其它运维人员的介绍,这位管理员同志就联系到了我们。
          了解了故障的基本情况以后,我们的工程师先将这6块磁盘镜像备份到我们的安全存储池中,就不再对原存储进行任何的操作,这样就保障了客户数据的原始性。
          通过对备份镜像的分析,我们发现有两块磁盘离线时间很早,最新的数据已经不再写入。此RAID6用的是双校验,第一个校验是由普通的XOR运算生成,而第二个校验是由Reed-Solomon算法生成,相当复杂,运用了相当奇妙的数学原理。此RAID6有两块磁盘早已不写入新数据,要想完整恢复数据就必须运用第二个校验,否则会导致最新的数据丢失或损坏。目前市面上还没有公开的数据恢复软件能解决这个问题,虽然有部分软件设有这一功能,但不过是摆设而已,实则无法使用。这也就是其他公司并没能够完整的恢复所有数据的根本原因所在。
          工程师分析出原始RAID的一些参数,然后使用了我们自己写的完全RAID6恢复软件,生成出一个完整镜像,再将镜像导回客户用新磁盘搭好的存储上,开机,一切正常,经过管理员的验证,数据没任何问题。


    后记:
          重要数据要做好数据备份工作,做好病毒防护工作,发现数据丢失后一定要保护好故障硬盘。寻找数据恢复公司最好是找一些专业数据恢复公司,可以最大程度保障数据恢复的成功率。

  • 相关阅读:
    equals 和 == 的区别
    jenkins
    状态码
    对控制反转和依赖注入的突然顿悟
    分布式事务与Seate框架
    synchronized原理
    VS 添加 Sqlserver
    C# 生成二维码
    jQuery /Date(0000000000000)/日期转换
    什么是Java的序列化,在哪些程序中见过Java序列化?
  • 原文地址:https://www.cnblogs.com/frombyte/p/6738971.html
Copyright © 2011-2022 走看看