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

服务器数据恢复环境:
一台某品牌存储设备上有一组由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.mzph.cn/bicheng/56582.shtml

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

相关文章

在Centos中安装、配置与使用atop监控工具

目录 前言1. atop工具的安装1.1 atop简介1.2 atop的安装步骤 2. 安装并配置netatop模块2.1 安装内核开发包2.2 安装所需依赖2.3 下载netatop2.4 解压并安装netatop2.5 启动netatop 3. atop的配置与使用3.1 配置监控周期与日志保留时间3.2 设置定时任务生成日志3.3 启动与查看at…

ROS理论与实践学习笔记——5 ROS机器人系统仿真之URDF(Unified Robot Description Format)语法详解

URDF 文件是一个标准的 XML 文件格式,用于在 ROS 中描述机器人模型的结构。URDF 通过预定义的一系列标签,简洁地表达机器人的组成和运动关系。虽然机器人模型可能非常复杂,但在 URDF 中可以主要简化为两个核心部分: 连杆&#xff…

Linux——echo-tail-重定向符

echo命令 类似printf 输出,最好加“ ” echo "hello Linux" 反引号 ‘ ’ 引用命令 echo ‘ pwd ’ 重定向符 > 和 >> > 覆盖 >> 追加 tail命令 查看文件尾部内容,追踪文件最新更改 tail -num 从尾部往上读num行&#…

九大排序之选择排序和归并排序

1.前言 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。 本章重点: 堆排序和选择排序和归并排序 2.选择排序 基本思路 left和right记录区间的左端和右…

Centos7 搭建单机elasticsearch

以下是在 CentOS 7 上安装 Elasticsearch 7.17.7 的完整步骤:(数据默认保存在/var/lib/elasticsearch下,自行更改) 一、装 Java 环境 Elasticsearch 是用 Java 编写的,所以需要先安装 Java 运行环境。 检查系统中是…

pdf怎么删除多余不想要的页面?删除pdf多余页面的多个方法

pdf怎么删除多余不想要的页面?在日常办公或学习中,我们经常会遇到需要处理PDF文件的情况。PDF文件因其格式稳定、不易被篡改的特点而广受青睐,但在编辑方面却相对不如Word等文档灵活。有时,在接收或创建的PDF文件中,可…

OceanBase 的写盘与传统数据库有什么不同?

背景 在数据库开发过程中,“写盘”是一项核心操作,即将内存中暂存的数据安全地转储到磁盘上。在诸如MySQL这样的传统数据库管理系统中,写盘主要有以下几步:首先将数据写入缓存池;其次,为了确保数据的完整性…

利用Spring Boot构建大创项目资源规划平台

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

Linux的zookeeper安装部署

1.zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和HBASE的重要组件 2.下载zookeeper安装包zookeeper安装包https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/ 移动到Linux解压 解压到/export/server文件夹 命令: tar -xvf apache-zooke…

【前端】如何制作一个自己的网页(6)

接上文 网络中的图片 我们也可以在百度等网站搜索自己喜欢的图片。 此时对图片点击右键,选择【复制图片地址】,即可获得该图片的网络地址。 其实在HTML中,除了图片以外,我们还可以利用地址找到另一个网页。 如右图所示&#…

spring/springboot获取resource目录下的文件

1.正常情况springbot项目的resource目录下会反正项目使用到的很多文件所以这里编写一个读取demo目录如下图所示 2.复制代码直接运行 import org.springframework.core.io.ClassPathResource; import java.nio.file.Files; import java.util.stream.Stream;/*** spring/spring…

第十四章 RabbitMQ延迟消息之延迟队列

目录 一、引言 二、死信队列 三、核心代码实现 四、运行效果 五、总结 一、引言 什么是延迟消息? 发送者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间后收到消息。 什么是延迟任务? 设置在一定时间之后才…

深入探讨C++多线程性能优化

深入探讨C多线程性能优化 在现代软件开发中,多线程编程已成为提升应用程序性能和响应速度的关键技术之一。尤其在C领域,多线程编程不仅能充分利用多核处理器的优势,还能显著提高计算密集型任务的效率。然而,多线程编程也带来了诸…

大模型微调实战指南:从零开始手把手教你微调大模型

文末有福利! 今天分享一篇技术文章,你可能听说过很多大模型的知识,但却从未亲自使用或微调过大模型。 今天这篇文章,就手把手带你从零微调一个大模型。 大模型微调本身是一件非常复杂且技术难度很高的任务,因此本篇…

为什么在Anaconda中会报错‘chcp‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件?

首先,我们需要知道,这意味着chcp 命令在系统路径中找不到。chcp(Change Code Page)是一个Windows命令行工具,用于查看或设置活动控制台窗口的代码页。 经过统计整合了一些原因如下: 1.系统环境变量被错误地修改 可能导致系统命…

【closerAI ComfyUI】真人秒变卡通,相似度爆表!炫酷工作流,让你的卡通写真秒变朋友圈焦点!快来试试吧!

【closerAI ComfyUI】真人卡通化,超像!这个工作流真棒!用个人写真照片转卡通风格去轰炸你的朋友圈吧! 这期我们主要讨论如何使用stable diffusion comfyUI 制作定制写真卡通照片工作流。也就是真人照片转卡通形象。 closerAI工作…

什么是乐观锁、悲观锁?

什么是乐观锁、悲观锁? 乐观锁:乐观锁和悲观锁是并发控制的两种方式,用来确保在多线程或多用户访问共享资源时,数据的一致性和完整性。 悲观锁(Pessimistic Lock) 悲观锁假设并发操作会经常发生&#xf…

【漏洞复现】SpringBlade menu/list SQL注入漏洞

》》》产品描述《《《 致远互联智能协同是一个信息窗口与工作界面,进行所有信息的分类组合和聚合推送呈现。通过面向角色化、业务化、多终端的多维信息空间设计,为不同组织提供协同门户,打破组织内信息壁垒,构建统一协同沟通的平台。 》》》漏洞描述《《《 致远互联 FE协作办公…

【PyTorch】DataLoader 设置 num_workers > 0 时,出现 CUDA with multiprocessing 相关报错

【PyTorch】DataLoader 设置 num_workers > 0 时,出现 CUDA with multiprocessing 相关报错 1 报错信息2 报错分析2.1 原因2.2 结论 3 解决方法 1 报错信息 RuntimeError: Caught RuntimeError in DataLoader worker process 0.RuntimeError: Cannot re-initial…