【raid数据恢复故障描述】
    需要进行数据恢复的是北京一家公司的IBM X3850服务器,服务器挂载了5块73G SAS硬盘组成raid5磁盘阵列,4号盘为热备盘(Hot-Spare),由于未知原因2号盘离线后未能成功激活热备盘rebuild,后3号盘离线,RAID崩溃。
    用户服务器的操作系统为linux redhat 5.3,服务器存储有oracle数据库,因oracle已经不再对基于数据库上的oa系统提供后续支持,用户要求尽可能数据恢复+操作系统复原。

【数据恢复初检结情况】
    Raid阵列中硬盘无明显物理故障,raid无同步表现。

【raid阵列数据恢复方案】
    1、关闭服务器并确保数据恢复过程中保持服务器关闭状态以保护故障服务器原始状态。
    2、将故障硬盘标好序号,确保在拿出槽位后可以完全复原。
    3、将需要进行数据恢复的硬盘挂载至北亚数据恢复中心只读环境中,对所有故障硬盘做完全镜像(参考<如何对磁盘做完整的全盘镜像备份>)。用于数据恢复操作使用。
    4、分析备份磁盘的raid结构,得到原raid阵列的RAID级别,条带规则,条带大小,校验方向,META区域等必要信息并根据这些信息搭建虚拟raid5环境。
    5、解释虚拟磁盘及文件系统,然后检测虚拟结构的正确性,如果虚拟结构不正确则重复上述步骤,直到成功为止。
    6、数据检测正常后进行数据回迁,原则上不再使用原盘,如确实经客户认可需要使用原盘则需要确认原盘已经完整备份后再重建raid、回迁数据。可以使用linux livecd或win pe(通常不支持)等进行,也可以在故障服务器上用另外硬盘安装一个回迁用的操作系统,再进行扇区级别的回迁。

【恢复周期】
    备份时间,约2小时。
    解释及导出数据时间,约4小时。
    回迁操作系统,约4小时。

【数据恢复实施过程】
    1、对用户服务器进行镜像后发现除2号盘有坏扇区存在,其他盘均无坏道,坏道数量悦游20个左右。
    2、分析结构:得到的最佳结构为0,1,2,3盘序,缺3号盘,块大小512扇区,backward parity(Adaptec),结构如下图:
图一:

3、组好后数据验证,200M以上的最新压缩包进行测试性解压查看有无报错,确定结构是否正确,解压正常,结构正确。直接按此结构生成虚拟RAID到一块单硬盘上,打开文件系统无明显报错。
    4、在对客户原盘进行备份后重建raid阵列(将存在坏道的2号硬盘以新盘替换),连接恢复好的数据盘后通过“dd”命令进行全盘回写操作。
    5、通常情况下数据回写后数据恢复工作完成,数据恢复为成功,但是在这一步出现了小故障,影响了数据恢复进程。
 
【系统复原过程】
    使用“dd”命令进行全盘回写操作后启动操作系统却出现报错:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied ,系统无法进入
    工程师预判报错原因为文件权限问题,于是用SystemRescueCd重启后检查文件时间、权限、大小均有明显错误。
    对数据中的根分区进行了重新分析,将出错的/sbin/pidof定位出来发现问题的原因再于2号盘的坏道。。
    通过没有坏道的0号盘,1号盘,3号盘进行对2号盘的损坏区域xor补齐后校验文件系统依然有错误,再一次对iNode表进行检查发现2号盘损坏区域有部分节点表现为(图中的55 55 55部分):
图二:

问题显而易见,节点中描述的uid还正常存在,但属性,大小,以最初的分配块均不正确。此种情况下是没有办法找回损坏的节点了,只能希望修复此节点,或复制一个相同的文件过来。对所有可能有错的文件,均通过日志确定原节点块的节点信息,再做修正。
    修正后重新dd根分区,执行fsck -fn /dev/sda5,进行检测,依然有报错,如下图:
图三:

根据提示,在系统中发现有多个节点共用同样的数据块。按此提示进行底层分析,发现,因3号盘早掉线,帮存在节点信息的新旧交集。
    按节点所属的文件进行区别,清除错误节点后,再次执行fsck -fn /dev/sda5,依然有报错信息,但已经很少。根据提示,发现这些节点多位于doc目录下,不影响系统启动,于是直接fsck -fy /dev/sda5强行修复。
    修复后,重启系统,成功进入桌面。
    启动数据库服务,启动应用软件,一切正常,无报错。
    到此,数据恢复及系统回迁工作完成。

IBM x3850 RAID5数据恢复过程的更多相关文章

  1. 记一次艰难的IBM X3850重装系统和系统备份经验

    [贴心话] 刚刚把一切都搞定了,回到电脑前立马就写下的这篇文章,写的很细节,大家就耐心看看,有些细节是网上没有的,共享一下,仅供参考,以减少大家装机时遇到的困难. [面临处境] 机器型号:IBM X3 ...

  2. EVA 4400存储硬盘故障数据恢复方案和数据恢复过程

    EVA系列存储是一款以虚拟化存储为实现目的的HP中高端存储设备,平时数据会不断的迁移,加上任务通常较为繁重,所以磁盘的负载相对是较重的,也是很容易出现故障的.EVA是依靠大量磁盘的冗余空间,以及故障后 ...

  3. HP DL380服务器RAID信息丢失数据恢复方法和数据恢复过程分享

    [数据恢复故障描述]    客户服务器属于HP品牌DL380系列,存储是由6块73GB SAS硬盘组成的RAID5,操作系统是WINDOWS 2003 SERVER,主要作为企业部门内部的文件服务器来 ...

  4. 装部署VMware vSphere 5.5文档 (6-2) 为IBM x3850 X5服务器安装配置VMware ESXi

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  5. EMC Isilon(OneFS)误删文件数据恢复过程<存储数据恢复>

    [科普Isilon的存储结构] Isilon内部使用的是分布式文件系统OneFS.在Isilon存储集群里面每个节点均为单一OneFS文件系统,所以Isilon在支持横向扩展的同时并不会影响数据正常使 ...

  6. 分分钟轻松搞定IBM系列 RAID5搭建

    分分钟轻松搞定IBM系列 RAID5搭建 按照 以下图片步骤一步步可轻松完成IBM服务器RAID1.5.10等的搭建. 此例是以RAID5为例,RAID1和10可举一反三.

  7. CentOS8.2集成的megaraid_sas版本不支持IBM X3850 X5内置RAID卡。需要更新https://docs.broadcom.com/docs/MR_LINUX_DRIVER_7.15-07.715.02.00-1-PUL.tgz

    CentOS8.2集成的megaraid_sas版本不支持IBM X3850 X5内置RAID卡.需要更新https://docs.broadcom.com/docs/MR_LINUX_DRIVER_ ...

  8. IBM X3850 Windows 无法安装到这个磁盘。选中的磁盘具有MBR分区表。在 EFI 系统上,Windows 只能安装到 GPT 磁盘

    以前安装的是window2003 32位, 改装为2012 64位的时候.出现 Windows 无法安装到这个磁盘.选中的磁盘具有MBR分区表.在 EFI 系统上,Windows 只能安装到 GPT ...

  9. Xen Server虚拟机数据恢复的方法和数据恢复过程

    在服务器运行过程中如果出现意外情况突然断电很容易引起服务器故障,服务器中的硬件设备损坏可以修复或者购买,但是服务器中的数据一旦发生故障丢失,对于企业来说将是不可估量的损失.那么服务器数据一旦丢失就除了 ...

随机推荐

  1. HTML5 全屏 API

    翻译人员: 铁锚 原文日期: 2013年12月23日 翻译日期: 2013年12月29日 原文链接: Fullscreen API 在越来越真实的web应用程序中,JavaScript也变得越来越给力 ...

  2. redis简单测试用例(内存不足,可以使用redis)

    Redis本质上是一个Key-Value类型的内存数据库,很像memcached,听说他的性能远高于memcached,所以想自己搞个玩下.看到底有什么好处. 在windows下使用redis首先要 ...

  3. Visual Studio 2010利用libxl读写excel表格数据

    C++读写数据,一般通过txt文件,但是随着数据量的增大,采集数据时运用excel表格的优势得以逐步体现.本文主要介绍一下运用第三方库libxl,对excel表格数据进行读写.分为三个部分,第一部分是 ...

  4. 2014新年福利,居然有人将Ext JS 4.1的文档翻译了

    原文:http://damoqiongqiu.iteye.com/blog/1998022

  5. android 线程那点事

    在操作系统中,线程是操作系统调度的最小单元,同时线程又是一种受限的系统资源,即线程不可能无限制的产生,并且线程的创建和销毁都会有相应的开销,当系统中存在大量的线程时,系统会通过时间片轮转的方式调度每个 ...

  6. 求二叉树深度和copy二叉树

    // operatorTree.cpp // 对树的操作 #include <iostream> #include <cstdio> // 二叉树表示法 typedef str ...

  7. 网站开发进阶(一)Tomcat域名或IP地址访问方式配置方法

    Tomcat域名或IP地址访问方式配置方法 1.配置www.***.com域名方式访问 在Tomcat下面配置域名(如:www.***.com)的时候,同时又不希望客户通过我们网站的IP或者域名访问到 ...

  8. bash配置文件说明

    login shell: /etc/profile 所有用户全局设定,它首先会调用以下文件:     /etc/inputrc     /etc/profile.d/*.sh     /etc/sys ...

  9. jsp标签jsp:setProperty用法

    <jsp:setProperty>用来设置已经实例化的Bean对象的属性 第一种形式: <jps:setProperty name = "JavaBean实例名" ...

  10. 恶补web之七:html DOM知识

    html DOM定义了访问和操作html文档的标准;dom是w3c的标准,dom定义了访问html和xml文档的标准: w3c文档对象模型(dom)是中立平台和语言的接口,它允许程序和脚本动态访问和更 ...