服务器数据恢复—开盘修复raid5阵列硬盘故障的数据恢复案例

服务器存储数据恢复环境:
某品牌P2000存储,存储中有一组由8块硬盘(包含一块热备盘)组建的raid5阵列。上层部署VMWARE ESX虚拟化平台。

服务器存储故障:
存储在运行过程中有两块硬盘指示灯亮黄色。经过运维人员的初步检测,判断指示灯亮黄色的硬盘出现物理故障,硬盘故障表现为:序列号无法读取,在SAS扩展卡上无法识别。

服务器存储数据恢复过程:
1、将故障存储中所有磁盘编号后取出。将指示灯亮黄色的2块硬盘连接到外部SAS扩展卡上加电检测,发现其中有一块盘磁头不寻道。硬件工程师将磁头不寻道的硬盘的PCB分离、检查硬盘HDA组件发现有部分氧化,进行清洁后再次加电,磁头依然无法寻道。于是,硬件工程师在无尘工作间开始对故障硬盘进行开盘修复。
热备盘是正常的,可以作为备件盘使用。硬件工程师将热备盘开盘拆取PCB安装到故障盘上,再将故障盘PCB上的ROM芯片拆取替换到新换的PCB上。再次对故障硬盘进行检测,这时故障硬盘可以正常起转,磁头寻道声音正常,但是敲盘声音明显。由于热备盘的磁头与故障盘不匹配,只能另找磁头进行更换,更换磁头后硬盘可以正常识别,将故障盘中数据做完整镜像。将其他完好磁盘以只读方式做扇区级全盘镜像,镜像完成后将所有磁盘按照编号还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有磁盘底层数据,发现所有硬盘的的0扇区都有“55 AA”标志,0x01C2H处表示该分区的类型,“05”表示这是一个扩展分区。因此从0扇区看这是一个不正常的MBR分区结构。
按照这一方法继续查找,分别在另外2块盘找到“55 AA”的标志,其中一块盘查询结果如下图。这是一个正常的MBR分区,其0x01C6处数值表示指向的下一个扇区为GPT的头部。

另外一块盘查询结果如下图。其0x01C6处数值表示指向下一个扇区,下一个扇区明显不是GPT的头部。

由此可以确定0x01C6处数值表示指向的下一个扇区为GPT的头部的那一块盘是第一块盘,另外一块盘可能是最后一块盘。GPT分区所在扇区起始于172032扇区,因此初步判断LUN的起始扇区是172032扇区。
北亚企安数据恢复工程师对该raid阵列进行分析得出条带大小为1024个扇区。按照1024扇区分割,使一个记录为一个条带的大小,7块盘跳到同一记录。

当7块盘都定位到同一位置时,通过对比可以判断校验区的走向,确定该RAID5为左走向。

数据恢复工程师初步确定了LUN的起始扇区是172032扇区。使用工具跳到172032扇区对硬盘的使用情况进行观察,正常情况下这个扇区所属条带中的5号盘应该是校验区,但实际情况中却显示校验区为8号盘,根据该raid左走向的规律,5号盘的校验区应该在172032-1024=171008扇区,即上一个条带。跳转到171008扇区,发现校验区为5号盘。因此可以确定LUN的起始扇区为171008扇区。
使用工具按照确定的盘序重组raid,选择RAID5,Stripe size 512KB,左异步。

点击Build进行重组。组好后,由于数据从1024*8=8192个扇区开始,若工具没有跳转到此扇区的功能,那么刚组好的RAID必须和一个文件再进行一次重组操作。
重组后的raid5磁盘阵列:

3、RAID5磁盘阵列重组完成后,经用户方仔细验证,确认恢复的数据完整有效,本次数据恢复工作完成。

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

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

相关文章

《轻奢,你真的懂吗?》揭秘轻奢概念的营销策略与消费者心理!

有人说奢侈品是一种浪费,但COCO CHANEL却说:“奢华从不与贫穷对立,它的反面是庸俗” “轻奢”这个概念从不是伪概念,它反映了现代社会中消费者对于品质和风格的一种追求,当然在营销学里来说,也反映了市场细…

Ceph资源池pool管理

完成了 Ceph 集群的部署,但是我们如何向 Ceph 中存储数据呢?首先我们需要在 Ceph 中定义一个 Pool 资源池。Pool 是 Ceph 中存储 Object 对象抽象概念。我们可以将其理解为 Ceph 存储上划分的逻辑分区,Pool 由多个 PG 组成;而 PG …

Go语言中GC(垃圾回收回收机制)三色标记与混合写屏障

5、Golang三色标记混合写屏障GC模式全分析 (yuque.com) 第1讲-课程目标_哔哩哔哩_bilibili Golang三色标记GC混合写屏障 Go V1.3之前的标记清除(mark and sweep) 垃圾回收、内存管理、自动适放、三色标记法、STW (stop the world) 图的遍历?可达性分…

【Git】(基础篇二)—— Git操作

Git操作 在了解git理论知识之后,本文将结合实践操作为你讲解git的底层逻辑 Git的安装和配置 git官网下载:https://git-scm.com/ 下载后安装时除了选择安装地址外,其余都保持默认下一步即可。 安装好后鼠标右键会出现两个新的选项【Open …

使用Elasticsearch与Java进行全文搜索

全文搜索是现代应用中不可或缺的功能之一,它允许用户通过关键词快速找到所需的信息。Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎,它提供了强大的全文搜索功能。本文将详细介绍如何使用Java与Elasticsearch进行全文搜索,并提供详…

基于 JAVA 的旅游网站设计与实现

点击下载源码 塞北村镇旅游网站设计 摘要 城市旅游产业的日新月异影响着村镇旅游产业的发展变化。网络、电子科技的迅猛前进同样牵动着旅游产业的快速成长。随着人们消费理念的不断发展变化,越来越多的人开始注意精神文明的追求,而不仅仅只是在意物质消…

项目JetCache的常见配置与使用

Hello, 大家好,今天本汪给大家带来的是JetCache在项目中的常见配置与用法讲解,接下来,随本汪一起来看看吧 一、介绍 官网地址:https://github.com/alibaba/jetcache JetCache 是一种 Java 缓存抽象,它为不同的缓存…

Python中的模块和包的定义以及如何在Python中导入和使用它们

在Python中,模块(Module)和包(Package)是组织代码以便重用和共享的基本单元。它们使得Python代码更加模块化,易于管理和维护。 模块(Module) 模块是一个包含Python代码的文件&…

力扣 541反转链表2

思路: 2k个字符中前k个翻转 如果字符正好2k个,那就去翻转前k个,如果字符不足2k个,那取前K个翻转 因此先写翻转函数,再按着要求翻转 注意边界条件,反转k个,下标是ik-1,例如0-3是前4个&#x…

秘密,一般人我不告诉他.偷偷告诉你信创产品采购的正确打开方式:python爬虫实现

创作不易 只因热爱!! 热衷分享,一起成长! “你的鼓励就是我努力付出的动力” 采购XX有没有找你诉说 , 某某ZFCG网上的信创产品, 品种太多太杂,无法细分查找,某某详情页面要一个个看, 真费时费力,于是乎… !!!以下内容仅供学习使用,便于快速筛选找到需求产品!!!请勿…

C#WPF DialogHost.Show 弹出对话框并返回数据

在WPF中,使用DialogHost.Show方法显示一个对话框并获取返回数据,你需要定义一个对话框,并在对话框关闭时返回数据。以下是一个简单的例子: 首先,在主窗口中添加DialogHost控件: <MaterialDesign:DialogHost x:Name="dialogHost" /> 然后,创建一个对话…

【算法/序列】等差数列子序列算术序列最长对称子串

概念&#xff1a; 等差数列&#xff1a;任意两项的差总等于同一个常数 子数组 &#xff1a;是数组中的一个连续序列。 子序列&#xff1a;是通过从原序列删除零个或多个元素并在不改变顺序的情况下排列其余元素而获得的序列 算术序列&#xff1a;是一个数字列表&#xff0c;其中…

【时时三省】(C语言基础)变量

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ——csdn时时三省 变量 可以改变的量 比如 int age&#xff1d;20 &#xff08;类型 变量的名字&#xff1d;0&#xff09; 如果后面要改可以直接代入 age&#xff1d;age1 age可以是任何字母 变量的分类…

【C++】类和对象的基本概念与使用

本文通过面向对象的概念以及通俗易懂的例子介绍面向对象引出类和对象。最后通过与之有相似之处的C语言中的struct一步步引出C中的类的定义方式&#xff0c;并提出了一些注意事项&#xff0c;最后描述了类的大小的计算方法。 一、什么是面向对象&#xff1f; 1.面向对象的概念 …

【C++编程】标准模板库 STL 的基本概念

STL 从广义上分为&#xff1a;容器、算法、迭代器 容器、算法之间通过迭代器进行无缝连接 STL 六大组件&#xff1a; 容器&#xff1a;各种数据结构&#xff0c;如 vector、list、deque、set、map 等&#xff0c;用来存放数据 序列式容器&#xff1a;物理存放上有序关联式容器&…

算法训练营day72

题目&#xff1a;117. 软件构建 (kamacoder.com) #include<iostream> #include<unordered_map> #include<vector> #include<queue>using namespace std;int main() {int n, m;cin >> n >> m;vector<int> indegree(n, 0);unordered_…

约束条件和数据库的用户管理

数据库的增删改查 查 约束条件和用户管理 删 约束条件&#xff1a; 主键 主键约束 primary key 用于标识表中的主键列的值&#xff0c;而且这个值是全表当中唯一的&#xff0c;而且值不能为null。 一个表只能有一个主键。 外键&#xff1a;用来建立表与表之间的关系。…

微信小游戏 彩色试管 倒水游戏 逻辑 (四)

最近开始研究微信小游戏&#xff0c;有兴趣的 可以关注一下 公众号&#xff0c; 记录一些心路历程和源代码。 定义了一个名为 WaterFlow class&#xff0c;该类继承自 cc.Graphics&#xff0c;用于在 Cocos Creator 中创建和显示水流的动画效果。下面是对代码的详细解释&#x…

Font Awesome 图表图标

Font Awesome 图表图标 Font Awesome 是一个广泛使用的图标库&#xff0c;它提供了大量的图标&#xff0c;可以轻松地用于网页设计和开发中。在本文中&#xff0c;我们将重点介绍 Font Awesome 中的图表图标&#xff0c;探讨它们的特点、使用方法&#xff0c;并展示一些实际的…

FPGA FIR fdatool filter designer MATLAB

位数问题 fdatool 先确定输入信号的位宽&#xff0c;比如17位在fdatool中&#xff0c;选set quantization parameters 选input/output 设置input word length 为17bit(not confirmed) fir compiler implementation 注意&#xff1a; 当设置输入位宽为16位时&#xff0c;ip核…