服务器数据恢复—Raid5阵列硬盘磁头损坏导致掉线的数据恢复案例

news2024/12/30 0:53:36

服务器数据恢复环境:
一台某品牌存储设备上有一组由10块硬盘(9块数据盘+1块热备盘)组建的raid5阵列,上层部署vmware exsi虚拟化平台。

服务器故障:
raid5阵列中两块硬盘对应的指示灯亮黄灯掉线。硬盘序列号无法读取,通过SAS扩展卡也无法读取。

服务器数据恢复过程:
1、将存储中所有磁盘标记后取出。将掉线的其中一块故障盘连接到外部的SAS扩展卡上,加电后通过硬盘声音判断电机可以启动,但是磁头没有进行寻道操作。硬件工程师将硬盘PCB分离下来清洁HDA组件氧化部分,清洁后故障依旧。和用户方沟通并得到同意后,硬件工程师在无尘室将热备盘的PCB替换到故障盘上,并将故障盘PCB上的ROM芯片替换到从热备盘上取出的PCB上面。这时硬盘的电机起转和磁头寻道声音正常,但是在寻道结束后,有明显的敲盘声音,基本上可以判断磁头损坏。和用户方沟通后使用热备盘中的磁头替换故障盘上的磁头,不幸的是这块故障盘已经无法识别,无法读取数据。
再次和用户方沟通后尝试对另一块故障盘进行修复。和第一块故障盘一样,这块故障盘的磁头损坏,通过各种渠道找到相同型号的硬盘并更换磁头。更换磁头后这块故障盘能够被正常识别,于是将这块故障盘所有扇区以只读方式做完整镜像。其他完好硬盘也以只读方式做扇区级全盘镜像。镜像完成后将所有磁盘按照原样还原到存储设备中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、判断起始扇区。
所有硬盘镜像完成后,使用工具打开9块数据盘,9块盘的0扇区都有“55 AA”标志。

0x01C2H处显示“05”,表示这是一个扩展分区。从0扇区看这是一个不正常的MBR分区结构。

继续往下找,在另外的2块盘上找到了“55 AA”的标志。其中一块盘上是一个正常的MBR分区,其0x01C6处数值代表指向的下一个扇区为GPT的头部。 

另外一块盘的0x01C6处数值表示指向下的一个扇区不是GPT的头部。

由此可以确定这2块盘中其中一块是第一块盘,另外一块盘可能是最后一块盘。GPT分区所在扇区起始于172032扇区,因此初步确定LUN的起始扇区是172032扇区。
3、判断条带(stripe)大小。
条带也称块,是RAID处理数据的基本单元。不同RAID的条带大小各不相同。RAID5的1个条带组中有1个校验区,1个校验区的大小等于1个条带的大小。根据这个特征分析这个RAID5。如果对VMFS不熟悉,可以通过比较法确定条带大小。如果某一条带组中的校验区和该条带组中的非校验区相差很明显,通过工具查看并对比就可以找出条带大小。北亚企安数据恢复工程师通过上述方法判断出本案例中条带大小是1024个扇区。
4、判断RAID5阵列成员盘盘序。
按照1024扇区进行分割,使一个记录为一个条带的大小,9块盘跳到同一记录283123。

当9块盘都定位到同一位置时,通过对比可以判断校验区的走向,继而判断整个RAID5的走向。将之前判断出的第一块盘放在第一个位置就可以判断走向了。北亚企安数据恢复工程师通过上述方法判断出本案例中raid5的走向和盘序。

5、前面的步骤中已经确定LUN的起始扇区是172032扇区。跳到172032扇区并观察各硬盘的情况。如果172032扇区是LUN的起始扇区,那么这个扇区所属条带中的那块盘应该是校验区,但是此条带中却显示另外一块盘是检验区。根据RAID5的左走向,172032扇区所属条带中的那块盘的校验区应该在172032-1024=171008扇区,即上一个条带。跳转到171008扇区,却发现校验区为172032扇区所属条带显示的另外一块盘,因此可以确定LUN的起始扇区为171008扇区。
6、在工具中按照确定的盘序组织好磁盘并添加进去,选择RAID5,Stripe size 512KB,左异步。

点击Build重组raid5。由于数据从1024*8=8192个扇区开始,若工具没有跳转到此扇区的功能,那么刚组好的RAID必须和一个文件再进行一次重组操作。RAID的起始扇区选择8192,这个文件可以任意选择起始扇区和大小。


7、移交数据。RAID5重组完成后,联系用户方验收数据。经过验证,用户方确认数据没有问题。根据用户方要求把数据移交到用户方带来的新盘上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【动手学深度学习】6.3 填充与步幅(个人向笔记)

卷积的输出形状取决于输入形状和卷积核的形状在应用连续的卷积后,我们最终得到的输出大小远小于输入大小,这是由于卷积核的宽度和高度通常大于1导致的比如,一个 240 240 240240 240240像素的图像,经过10层 5 5 55 55的卷积后&am…

D3.js(五):实现组织架构图

实现组织架构图 效果初始化组织机构容器并实现缩放平移功能效果源码 渲染节点效果源码 渲染连线效果源码 完整源码 效果 初始化组织机构容器并实现缩放平移功能 效果 源码 import {useEffect} from react; import TreeData from ./json/tree-data.json;interface ITreeConfig…

电子电气架构---汽车OEM敏捷式集成方案简介

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不…

数据在内存中的存储【下】

三.浮点数在内存中的存储 我们常见的浮点数:3.14159,1E10等,浮点数家族包括:float,double, long double类型。浮点数表示的范围:float.h中定义。之前我们说过浮点数在内存中无法精确保存,那为什…

OKHTTP 如何处理请求超时和重连机制

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…

动态规划练习一

一、动态规划基本思路 1、状态表示:dp[i]的含义是什么 在一维数组中一般是“以 i 位置为结尾 / 起点....” 2、状态转移方程:dp[i]等于什么 一般是要根据最近的一步分情况进行讨论得出。 3、初始化dp表边界情况:保证在循环填表时不越界 …

80.【C语言】数据结构之时间复杂度

目录 1.数据结构的定义 2.算法的定义 3.算法的效率 1.衡量一个算法的好坏的方法 例题:计算以下代码的循环次数 2.大O的渐进表示法 练习1:求下列代码的时间复杂度 练习2:求下列代码的时间复杂度 练习3:求下列代码的时间复杂度 练习4:求下列代码的时间复杂度 4.总结:计…

9.存储过程安全性博客大纲(9/10)

存储过程安全性博客大纲 引言 在数据库系统中,存储过程是一种预先编写好的SQL代码集合,它被保存在数据库服务器上,可以通过指定的名称来调用执行。存储过程可以包含一系列的控制流语句,如IF条件语句、WHILE循环等,使…

SpringBoot项目-Thymeleaf安装

SpringBoot项目-Thymeleaf安装 参考文章:SpringBoot 整合Thymeleaf教程及使用方法 参考视频:模板引擎Thymeleaf快速入门 其实,参考的文章和视频,他们丢失了一些细节,我搞的时候还是有错 第1步:pom.xml增加依赖 <!-- SpringBoot集成thymeleaf模板 --><depe

【数据服务篇】KML卫星波束覆盖数据:区域可视化利器

大纲 1.概述2.文件结构3.覆盖区域详细信息4.应用场景5.使用说明6.数据样例7.结语 1.概述 文件使用 KML&#xff08;Keyhole Markup Language&#xff09;格式&#xff0c;用于展示卫星在特定地区的波束覆盖情况&#xff0c;便于在地理信息系统&#xff08;GIS&#xff09;中进…

【Linux】命令行下的增删查改之“查看”

致谢:Linux常用命令大全(手册) – 真正好用的Linux命令在线查询网站 提供的命令查询 这一期部分介绍借用了网站内容. 头部内容获取(head) head命令的功能是显示文件开头的内容&#xff0c;默认值为前10行。 指令参数&#xff1a; -n 定义显示行数 -c 指定显示头部内容的…

麒麟信安CentOS安全加固案例获评中国信通院第三届“鼎新杯”数字化转型应用奖

“鼎新杯”数字化转型应用大赛&#xff0c;由中国通信标准化协会主办、中国信息通信研究院承办&#xff0c;以落实国家“十四五”规划关于“加快数字化发展&#xff0c;建设数字中国”的总体要求为目标&#xff0c;意在打造一批具有产业引领与推广应用效应的企业数字化转型应用…

深度学习中一些好的博客

pandas中的基本知识 假设我们的pf是一个pandas的结构 pf.column_namedf[‘column_name’]df.loc[:, ‘column_name’]df.iloc[:, column_index] 如果想将 pandas 中的数据转换为 NumPy 格式&#xff0c;你可以使用 .values 或 .to_numpy() 方法。 反向传播 想要有grad&…

安全、专属且高效:WorkPlus即时通讯平台引领高效协作新纪元

在信息和技术迅速发展的现代社会&#xff0c;企业的工作方式正发生深刻的变革。随着全球化和数字化进程的加快&#xff0c;企业所面临的沟通与协调挑战也愈发明显。传统的沟通方式已无法适应快速发展的市场需求&#xff0c;企业迫切需要一种既安全又高效的即时通讯工具&#xf…

Unity 从零开始搭建一套简单易用的UGUI小框架 基础分析篇

一套UGUI的小框架用一篇文章显然是不够的&#xff0c;因为会很长很长大约有上万字&#xff0c;想必读者也没有那个耐心一点点读完&#xff08;主要是我也懒&#xff09;&#xff0c;所以我就将其分为三个部分 基础分析篇 功能撰写与优化篇 扩展与总结篇 我将其都放在了同一个专…

Opencv之读取图片

目录 安装opencv读取彩色图片显示图片读取灰度图片结论 安装opencv pip install opencv-python读取彩色图片 使用OpenCV库读取彩色图片&#xff0c;其格式默认为BGR。 下面的代码展示了如何读取一张名为bg.jpg的彩色图片&#xff0c;并获取其相关信息。 import cv2# 读取彩…

Brave编译指南2024 Linux篇-构建与运行(七)

引言 在完成了构建环境的初始化后&#xff0c;我们终于可以开始编译Brave浏览器了。本文将详细介绍如何构建Brave浏览器&#xff0c;以及如何运行编译好的浏览器。 1.编译Brave浏览器 1.1 构建 使用下面的命令进行发布构建 npm run build 这个命令会触发一系列的编译过程…

【pyspark学习从入门到精通5】弹性分布式数据集_3

目录 Actions .take(...) 方法 .collect(...) 方法 .reduce(...) 方法 .count(...) 方法 .saveAsTextFile(...) 方法 .foreach(...) 方法 Actions 与转换不同&#xff0c;动作是在数据集上执行计划任务的&#xff1b;一旦您完成了数据的转换&#xff0c;就可以执行您的转…

数学科普读物《从毕达哥拉斯到怀尔斯》

毕达哥拉斯是古希腊数学家&#xff0c;怀尔斯是英国数学家&#xff0c;曾任美国普林斯顿大学教授。这本书是哈工大出版社刘培杰先生主编的。这是一本500多页的书&#xff0c;我不禁慨叹高级数学爱好者刘培杰的博学广识&#xff0c;因为书中纵论古今旁征博引&#xff0c;仅书后的…

JavaWeb 18.监听器

目录 一、监听器概述 监听器的分类 按监听的对象划分 按监听的事件划分 二、监听器的六个主要接口 1.application监听器 2.session域监听器 3.request域监听器 三、session域的两个特殊监听器 1.session绑定监听器 2.钝化活化监听器 什么是钝化活化 如何配置钝化与活化 ​编辑 …