EMC CX4-480数据恢复案例

2024-08-22 19:32
文章标签 案例 数据恢复 emc 480 cx4

本文主要是介绍EMC CX4-480数据恢复案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

E​M​C​ ​C​X​4​-​4​8​0数据恢复案例

 EMC做为存储界的领军品牌,其存储产品可谓是人尽皆知啊!并且EMC自己的存储系统以及它自己的硬件在存储领域中都是领先的。但这还是不能百分之百保证用户数据的绝对安全,因为用户的误操作以及硬件的老化都会导致用户重要的数据丢失。而发生这些故障之后只能找专业的数据恢复公司做数据挽救工作。作者最近就处理过一起EMC CX4-480因磁盘故障导致存储不可用的案例,见下文。

         一位上海的客户描述说他们有一台EMC CX4的存储服务器,因为硬盘出现故障,导致整个存储阵列瘫痪。整个LUN是由7块1TB的硬盘组成的RAID 5。由于客户是在上海,并且不方便将服务器邮寄过来,只好电话指导客户将存储服务器正常关机,并取出硬盘做好标记。然后将所有硬盘打包好,邮件到北京进行数据恢复。在接到客户邮寄过来的包裹后发现,客户寄过来的是10块1T的硬盘。当时很惊讶!不是说是7块盘么?怎么多了3块。在打电话仔细问过客户后得知,其中有3块是以前存储中掉线的硬盘。好吧!估计是以前存储中有硬盘掉线了,但客户只是添加了一块的新的硬盘做rebuild,并没有将掉线的硬盘拔掉,所以就多出了3块。因客户说是存储服务器中有些硬盘有故障才导致存储服务器不可用的,所以初步判断是RAID中有硬盘掉线了。将所有硬盘交给硬件工程师检测硬盘是否有硬件故障。在检测完成后发现并没有物理故障,那么可能就是硬盘上有逻辑坏道或其他原因导致RAID不可用了 。接着对所有硬盘做全盘镜像,以保证客户现有数据的安全。对所有盘做镜像可是真一个很漫长的时间啊!

做完镜像后开始分析RAID的结构,可是当我用winhex打开镜像盘的时候,我惊呆了!因为EMC的硬盘每512字节多加了一个8字节的校验,也就是变成了每扇区520字节了。这样虽然可以分析RAID的结构,但是重组RAID就现的费劲了!为了提高工作效率,我决定还是写个小程序将8字节的校验去掉吧!这样后期的工作也方便了许多。就这样码代码中......

         经过漫长的写码加调试,终于OK了。那么开始一个磁盘一个磁盘的转换吧!哦买噶....这又是一个很耗时的工程。慢慢等吧!

         等所有磁盘都转换完成后,就开始分析RAID的结构了。由于多了3块以前的旧盘,需要先找出这三块旧盘。这个比较好办,可以比较一下每块磁盘,其中会有两块磁盘前面的一部分相同,而这两块当中会有一个是旧的,旧的数据量应该没有新的多,就可以排除旧的磁盘了。这样的磁盘会有3对,也就可以排除所有旧的磁盘了。接下来看RAID结构,由于客户用的NTFS文件系统,用MFT很容易就可以找到RAID的结构了。知道RAID结构后发现这不是一个普通的RAID 5,而是一个双循环。用winhex还没法重组RAID。最后找了半天发现,UFS可以重组RAID。那么就先用它重组RAID看看是什么情况吧!重组RAID后发现数据不是最新的。我想可能是RAID 5先掉线一块硬盘,而管理员没有及时发现,没有及时添加新的硬盘做rebuild。导致运行一段时间后又有一块硬盘掉线了,才造成整个RAID不可用。所以还需要找出一块旧的磁盘,才能生成最新的数据。那就找呗!但是怎么找呢?只能尝试依次踢掉一块硬盘,然后重组RAID。看最新的数据是否可用。直到找到最新的数据可用为止,接着就可以导出数据,验证数据了。

         整个恢复过程,包括做镜像,扇区转换和最后的拷贝数据,一共耗时5天。数据恢复率达百分之九十九以上。虽然整个过程比较漫长,但是最终的结果用户很高兴,因为这给他们带来了不必要的损失。

 

作者:邓奇 (北亚服务器数据恢复工程师)

邮箱:dq@frombyte.com

联系方式:010-4006505808-801

 

这篇关于EMC CX4-480数据恢复案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097186

相关文章

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

MySQL 复合查询案例详解

《MySQL复合查询案例详解》:本文主要介绍MySQL复合查询案例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录基本查询回顾多表笛卡尔积子查询与where子查询多行子查询多列子查询子查询与from总结合并查询(不太重要)union基本查询回顾查询

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模