【服务器数据恢复】多块磁盘离线导致RAID5崩溃的数据恢复案例

服务器数据恢复环境&故障:
某品牌StorageWorks存储设备,8块磁盘组建一组raid5磁盘阵列。存储中2块磁盘掉线导致阵列崩溃,经过检查发现掉线的2块磁盘均存在物理故障。

服务器数据恢复过程:
1、硬件工程师对掉线的两块磁盘进行检测,加电后磁头无法寻道,分离PCB并清洁HDA组件后再次尝试加电,磁头依然无法寻道,需要进行物理修复。经过复杂的修复过程(此处略过)后2块故障硬盘可以正常识别。
2、将故障存储内所有磁盘以只读方式进行镜像备份,后续数据分析和数据恢复操作都基于镜像文件进行,避免在恢复数据的过程中对原始数据造成二次破坏。
3、基于镜像文件分析故障存储设备中硬盘的底层数据,发现所有磁盘的0扇区出现了“55 AA”(0x01C2H处表示该分区的类型,显示“05”就表示这是一个扩展分区,从0扇区看这是一个不正常的 MBR 分区结构)。7号盘和8号盘的0扇区也找到了“55 AA”的标志。8号硬盘是一个正常的MBR分区,
其0x01C6处的数值代表指向的下一个扇区为GPT的头部。

7号硬盘0x01C6处的数值代表指向下一个扇区,但是下一个扇区很明显不是GPT的头部。


通过上面的分析,北亚企安数据恢复工程师初步判断阵列中的8号盘和7号盘分别为第一块和最后一块硬盘,GPT分区所在扇区起始于172032扇区,因此初步确定LUN的起始扇区是172032扇区。
4、经过分析raid确定了条带大小为1024个扇区。按照1024扇区进行分割,使一个记录为一个条带的大小。
5、当7块盘都定位到同一位置时,通过对比可以判断校验区的走向,继而判断整个RAID5的走向。之前已经判断出8号盘是第一块盘了,把8号盘放在第一个位置,确定RAID5的走向和盘序。
6、上面已经初步确定了LUN的起始扇区是172032扇区,跳转到172032扇区进行观察,正常情况下这个扇区所属条带中的5号盘应该是校验区,但实际显示校验区为8号盘。根据该raid左走向的规律,5号盘的校验区应该在172032-1024=171008扇区,即上一个条带。跳转到171008扇区,发现校验区为5号盘。因此可以确定LUN的起始扇区为171008扇区。
7、根据上面步骤中获取到的raid相关信息使用工具重组raid。

8、由于数据从1024*8=8192个扇区开始,刚组好的RAID必须和一个文件再进行一次重组操作。RAID的起始扇区(Start sectors)选择8192,这个文件可以任意选择起始扇区和大小(Count sectors),下图为重组后的raid5磁盘阵列。

 

数据验证:
RAID5磁盘阵列重建完成后由用户方工程师进行验证,经过反复验证确认恢复数据完整有效,本次数据恢复工作完成。


http://www.niftyadmin.cn/n/288329.html

相关文章

算法记录 | Day51 动态规划

309.最佳买卖股票时机含冷冻期 思路&#xff1a; 1.确定dp数组以及下标的含义&#xff1a;dp[i][j] &#xff0c;表示为&#xff1a;第 i 天第 j 种情况&#xff08;0 < j < 2&#xff09;下&#xff0c;所获取的最大利润。 对于每一天结束时的状态总共有以下几种&…

创建一个react项目

文章目录 1&#xff1a;命令行输入2&#xff1a;在vs的终端中输入npm start 来启动项目3&#xff1a;删除src目录中的干扰项4&#xff1a;去掉index.js中的严格模式节点JSX介绍JSX中使用js表达式原生js调用三元运算符列表渲染条件渲染三元表达式逻辑&&运算 分支逻辑类名…

Java编程中的20种常见异常及其原因,你知道多少

本文介绍了在Java编程中可能遇到的20种常见异常&#xff0c;包括空指针异常、类未找到异常、数组下标越界异常等&#xff0c;并简要解释了每种异常发生的原因。这些异常可能由于编程错误、运行时资源不足或权限受限等多种原因触发&#xff0c;了解它们有助于更高效地进行程序调…

【C++】机房预约系统

1、系统需求分析 1、机房预约系统需求 1.1 系统简介 学校现有几个规格不同的机房&#xff0c;由于使用时经常出现撞车现象&#xff0c;现开发一套机房预约系统。 1.2 身份简介 学生代表&#xff1a;申请使用机房教师&#xff1a;审核学生的预约申请管理员&#xff1a;给学…

VESC操作入门——双轮毂电机控制和CAN通信

目录 一、VESC驱动轮毂电机1.1、硬件准备1.2、硬件接线1.3、校准电机1.4、主操作界面 二、CAN通信2.1、硬件连接2.2、代码说明2.3、发送指令 三、双轮毂电机3.1、校准第二个电机参数3.2、硬件连接3.3、CAN总线发送指令 四、把VESC做为USB转CAN模块 ODrive、VESC和SimpleFOC 教程…

2023python面试题(附答案)

精选 Python 面试题107道 什么是Python&#xff1f;它与其他编程语言有哪些区别和优劣势&#xff1f;什么是PEP 8&#xff1f;它的作用是什么&#xff1f;什么是元组&#xff08;Tuple&#xff09;&#xff1f;与列表&#xff08;List&#xff09;有哪些区别&#xff1f;什么是…

道德经-第十六章

致虚极&#xff0c;守静笃。 万物并作&#xff0c;吾以观复。 夫物芸芸&#xff0c;各复归其根。 归根曰静&#xff0c;是谓复命。 复命曰常&#xff0c;知常曰明。 不知常&#xff0c;妄作&#xff0c;凶。 知常容&#xff0c;容乃公。 公乃王&#xff0c;王乃天。 天乃道&…

webpack 5 实战(2)

二十一、babel-loader 使用 使用babel-loader对js文件进行处理&#xff0c;在lg.Webpack.js配置文件中配置js文件规则。 使用单独的插件进行转换 使用预设进行转换 使用babel.config.js配置文件进行babel配置 const path require(path) const CopyWebpackPlugin require(…