【用户信息】上海某公司

【故障描述】需要进行数据恢复的设备是一台EMC CX4的存储服务器,因为硬盘出现故障导致整个存储阵列瘫痪。整个LUN是由7块1TB的硬盘组成的RAID 5。但服务器共有10块硬盘,其中有3块是以前存储中掉线的硬盘。(服务器存储在使用过程中有硬盘掉线了,但客户只是添加了一块的新的硬盘做rebuild,并没有将掉线的硬盘拔掉,所以就多出了3块)。

因客户说是存储服务器中有些硬盘有故障才导致存储服务器不可用的,所以初步判断是RAID中有硬盘掉线了。将所有硬盘交给硬件工程师检测硬盘是否有硬件故障。在检测完成后发现并没有物理故障,那么可能就是硬盘上有逻辑坏道或其他原因导致RAID不可用了 。接着对所有硬盘做全盘镜像,以保证客户现有数据的安全。

【恢复过程】做完镜像后开始分析RAID的结构,打开镜像盘的后发现硬盘每512字节多加了一个8字节的校验,也就是变成了每扇区520字节了。这样虽然可以分析RAID的结构,但是重组RAID就会十分吃力!为了提高工作效率,我们需要写个小程序将8字节的校验去掉来方便后期的工作。
等所有磁盘都转换完成后,就开始分析RAID的结构了。由于多了3块以前的旧盘,需要通过比较每块磁盘,即其中会有两块磁盘前面的一部分相同,而这两块当中会有一个是旧的,旧的数据量没有新盘多,就可以排除旧的磁盘。这样的磁盘会有3对,也就可以排除所有旧的磁盘了。
接下来看RAID结构,由于客户用的NTFS文件系统,用MFT很容易就可以找到RAID的结构了。知道RAID结构后发现这不是一个普通的RAID 5,而是一个双循环。用winhex还没法重组RAID。最后发现,UFS可以重组RAID。那么就先用它重组RAID!重组RAID后发现数据不是最新的。我想可能是RAID 5先掉线一块硬盘,而管理员没有及时发现,没有及时添加新的硬盘做rebuild。导致运行一段时间后又有一块硬盘掉线了,才造成整个RAID不可用。所以还需要找出一块旧的磁盘,才能生成最新的数据。继续进行找盘的工作!但是怎么找呢?我们尝试依次踢掉一块硬盘,然后重组RAID。看最新的数据是否可用。直到找到最新的数据可用为止,接着就可以导出数据,验证数据了。

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

EMC CX4-480服务器raid磁盘数据恢复案例的更多相关文章

  1. Raid 5数据恢复原理以及raid 5数据恢复实际操作案例

    Raid 5数据恢复算法原理 要理解 raid 5数据恢复原理首先要先认识raid5,"分布式奇偶校验的独立磁盘结构"也就是我们称之为的raid 5数据恢复有一个概念需要理解,也就 ...

  2. 服务器RAID配置全程与RAID基础知识

    服务器RAID配置全程 一.RAID介绍 RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”.后来RAID中的字 ...

  3. 普通RAID磁盘数据格式规范

    普通RAID磁盘数据格式规范 1.介绍 在当今的IT环境中,系统管理员希望改变他们正在使用的内部RAID方案,原因可能有以下几个:许多服务器都是附带RAID解决方案的,这些RAID解决方案是通过母板磁 ...

  4. dell服务器raid设置

    dell服务器raid设置 配置说明: 开机自检按ctrl+R键进入配置界面 如果服务器有raid卡,而不想做磁盘阵列时,需要做单盘RAID0,主要是为了让卡来识别一下硬盘 对raid进行操作很可能会 ...

  5. 关于hp proliant sl210t服务器raid 1阵列配置

    hp proliant sl210t服务器,一般都会带有两个阵列卡 一个服务器自带的Dynamic Smart Array B120i RAID控制器,一个为Slot卡槽上的Smart Array P ...

  6. 戴尔PowerEdge服务器RAID控制卡的配置

    示例演示环境:PowerEdge R620 + H710p Raid控制卡  + 9 x 300G 10k SAS 硬盘 H310.H710.H810的配置方法与H710P大致相同,在此不再累述. 特 ...

  7. 关于hp proliant sl210t服务器raid 1阵列配置(HP P420/Smart Array P420阵列卡配置)

    hp proliant sl210t服务器,一般都会带有两个阵列卡 一个服务器自带的Dynamic Smart Array B120i RAID控制器,一个为Slot卡槽上的Smart Array P ...

  8. 服务器RAID配置

    一.RAID介绍RAID是Redundent Array of Inexpensive Disks的缩写,直译为"廉价冗余磁盘阵列",也简称为"磁盘阵列".后来 ...

  9. MySQL 数据库增量数据恢复案例

    MySQL 数据库增量数据恢复案例 一.场景概述 MySQL数据库每日零点自动全备 某天上午10点,小明莫名其妙地drop了一个数据库 我们需要通过全备的数据文件,以及增量的binlog文件进行数据恢 ...

随机推荐

  1. 【BZOJ1030】文本生成器(AC自动机,动态规划)

    [BZOJ1030]文本生成器(AC自动机,动态规划) 题面 BZOJ 题解 超级简单良心送分题 很明显是所有状态-不合法状态 合法状态就是\(26^m\) 不合法状态做一个\(dp\)就好 #inc ...

  2. 【BZOJ1040】骑士(动态规划)

    [BZOJ1040]骑士(动态规划) 题面 BZOJ 题解 对于每一组厌恶的关系 显然是连边操作 如果是一棵树的话 很显然的树型\(dp\) 但是,现在相当于有很多个基环 也就是在一棵树的基础上再加了 ...

  3. 一些比较隐秘的OJ的网址

    ( 1 )COGS:cogs.pro:8080 ( 2 )AGC:agc012.contest.atcoder.jp ( 3 )CS Acaemy:csacademy.com ( 4 )JoyOI:w ...

  4. [BZOJ1588] [HNOI2002] 营业额统计 (treap)

    Description Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额. ...

  5. C#多线程编程序--聊聊线程

    这篇文章主要给您讲解几个基本问题,什么是线程?为什么要用线程?线程万能?这几个问题.我这篇博客是在该系列另外几篇博客之后写的,之所以不往下继续写,而是回到最初的问题,是因为我感觉到我没有很好的讲解开头 ...

  6. Linux shell 脚本(一)

    一.初识脚本 shell:一类介于系统内核与用户之间的解释程序.脚本:一类使用特定语言,按预设顺序执行的文件批处理.宏.解释型程序创建shell脚本:理清任务过程--整理执行语句--完善文件结构1.任 ...

  7. 关于win8的各种版本的区别

    Windows8.1 Professional VL  表示:专业版(大客户版,批量授权) Windows8.1 Multiple editions 表示:多合一版本(包含:标准版.专业版) 个人用户 ...

  8. 使用netty的第一个Hello World

    server端 package com.netty.test;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.Cha ...

  9. python 备份压缩传输

    # -*- coding:utf-8 -*-__author__ = 'colin' #!/usr/bin/env python#-*- coding:utf-8 -*-import os,comma ...

  10. javascript中的Promise使用

    参考自: http://m.jb51.net/article/102642.htm 1.基本用法: (1).首先我们new一个Promise,将Promise实例化 (2).然后在实例化的promis ...