【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. iOS开发的10个知识点

    1.关于关键字volatile 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这 ...

  2. 【翻译】在Ext JS应用程序中使用自定义图标

    原文:Using Custom Icons in Your Ext JS App 作者:Lee BoonstraLee is a technical trainer at Sencha. She's ...

  3. 【资源分享】云计算 CRM 等网上搜集资料

    持续更新,作为抛砖引玉,如果您有更好.更新的资源,望大家分享.共同学习.详细信息尽在 华夏编程社区(HackProLabs)-------------------------------------- ...

  4. Gradle 1.12用户指南翻译——第二十五章. Scala 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  5. 嵌入式C语言位运算之清位置位

    如题,在嵌入式开发中,掌握位运算是节省开发时间和提高开发效率的一种高效方式. 我们不得不去熟悉如何快速掌握位运算这种高效的技巧,接下来看看程序.. #include <stdio.h> # ...

  6. WinCE系统声音定制

    作者:ARM-WinCE 2010的第一篇Blog,介绍一下WinCE系统声音的定制.说白了,就是设置注册表.WinCE系统启动的开机音乐,点击触摸屏以及键盘输入的按键音,还有系统运行过程中的各种声音 ...

  7. 关于L298N的应用

    最近在开发一个基于STM32的智能小车,用的底板是野火ISO mini的板子.如图: 这里有个电机驱动模块L298N,说起它,我还真的泪奔,前阵子被卖家坑了,拿上去一接电源马上就烧了,这都怪我粗心大意 ...

  8. javascript、ruby和C性能一瞥(3) :上汇编

    在博文(1)和(2)里分别用了4中方式写一个素数筛选的算法,分别是javascript in browser.node.js.ruby和c:最终的结果是c最快,node.js其次,js in b虽然也 ...

  9. obj-c编程10:Foundation库中类的使用(4)[文件管理,查询当前进程信息]

    接上一篇文件管理博文.我们可以用NSPathUtilities.h中包含的NSString函数和分类扩展来以兼容的方式处理路径.下面凡是有系统编程经验的童鞋都知道是啥意思了: #import < ...

  10. Fullpage参数说明

    参数说明 $(document).ready(function() { $('#fullpage').fullpage({ //Navigation menu: false,//绑定菜单,设定的相关属 ...