infortrend ESDS RAID6 数据恢复过程

简介:

 [数据恢复故障描述]
  见<infortrend ESDS RAID6故障后的数据恢复方案>文章中的描述,infortrend ESDS-S12F-G1440存储,内接12块2TB硬盘组成RAID6,一个GPT分区,文件系统为NTFS,大小为18.2TB。3块硬盘离线后强制激活,并做了几分钟REBUILD,发现数据出错。

[数据恢复过程]

    1、使用DELL R720为恢复服务器平台,安装WINDOWS 2008R2系统。在DELL R720服务器内加DELL H200 6G扩展卡,在H200上接2组DELL MD1200磁盘阵列。A组MD1200连接所有12块2T源盘,B组接12块2T目标硬盘。

    2、保持A组所有磁盘在WINDOWS2008 R2中脱机,激活所有B组硬盘。使用北亚磁盘镜像工具对所有A组12块硬盘一对一镜像到B组12块硬盘。

    3、镜像完成后,关机,将源盘全部拿下,封存好,不再操作源盘。

    4、使用磁盘编辑器,对12块镜像盘做结构分析,发现每块硬盘前部具有明显RAID信息的痕迹,按查找确定RAID中LUN的起始分配位置。

    5、进行RAID6算法猜测推断,发现其基于标准P与另一个未知算法法则Q的右异步。但套用 里德-所罗门(Reed-solomon)算法不符合,按互联网上所有资料分析,基于PQ均等螺旋分布的RAID6只有里德-所罗门(Reed-solomon)算法 ,怀疑为其变种,但存在同一条带全0位置计算后非全0的情况,故推翻此判断。

    6、结合对控制器的测试,发现其Q校验基于一种随机的xor,如同Park编码,算法完全随机,但校验分布却完全不同于Park,所以即使思路类似,但算法却完全不同。

    7、需要事先得到12块盘中所有缺2块时的完整算法,共有C(12,2)=66种缺盘情况,每一种至少需要16种运算规则,经程序运行后(因运算复杂,人工无法证明),发现为了得到一个单元,大约要运算30-50次xor。

    8、用程序生成的运算公式,有140多K大小,即总计约14万字符。如此复杂的运算会对数据恢复周期带来影响,需要优化算法。

    9、优化算法模块,引入可以简化算法的中间变量层,将算法压缩至原来的约50%(明文)。

    10、针对一个明显不同步的数据块区,编写了一段程序,对所有C(12,2)进行计算,再将计算后的结果与预想结果进行比较。经历这样的几个过程,明确掉线盘0号与3号盘。

    11、对算法进行二进制优化,所有运算放弃STL,改用数组,并使用bitmap的理念表示表达式中的所有成员,实现算法的最大性能。

    12、按算法和分析出的结构对数据进行初步分析,未发现明显数据异常。

    13、生成数据到另一个20T的目标存储。

    

[数据恢复耗时]

    磁盘镜像:7小时

    分析算法:断断续续花费约60天。这个工程是我从业以来付出最长周期的工程,鉴于一个完全破天荒的算法,极大的算法研究热情支撑我编写了近万行代码进行判断、分析、优化、测试、恢复。感谢用户信赖北亚数据恢复中心,给予我们足够的时间。(结构及部分算法过程我会发布另一博文对其表述)

   导出数据:约100小时

 

[数据恢复结果]

    100%数据恢复成功(不排除有部分数据有少许损坏,但截止发稿,抽查验证的数据全部无异常)










本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/1180307,如需转载请自行联系原作者
目录
相关文章
|
XML JSON Java
深入理解浅拷贝和深拷贝
拷贝对象是很常见的,主要是为了在新的上下文环境中复用现有对象的部分或全部数据。
228 0
深入理解浅拷贝和深拷贝
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
611 214
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
850 61
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1272 157
|
5天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
241 138
|
7天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
526 109