IBM x3850 RAID5数据恢复过程
【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数据恢复过程的更多相关文章
- 记一次艰难的IBM X3850重装系统和系统备份经验
[贴心话] 刚刚把一切都搞定了,回到电脑前立马就写下的这篇文章,写的很细节,大家就耐心看看,有些细节是网上没有的,共享一下,仅供参考,以减少大家装机时遇到的困难. [面临处境] 机器型号:IBM X3 ...
- EVA 4400存储硬盘故障数据恢复方案和数据恢复过程
EVA系列存储是一款以虚拟化存储为实现目的的HP中高端存储设备,平时数据会不断的迁移,加上任务通常较为繁重,所以磁盘的负载相对是较重的,也是很容易出现故障的.EVA是依靠大量磁盘的冗余空间,以及故障后 ...
- HP DL380服务器RAID信息丢失数据恢复方法和数据恢复过程分享
[数据恢复故障描述] 客户服务器属于HP品牌DL380系列,存储是由6块73GB SAS硬盘组成的RAID5,操作系统是WINDOWS 2003 SERVER,主要作为企业部门内部的文件服务器来 ...
- 装部署VMware vSphere 5.5文档 (6-2) 为IBM x3850 X5服务器安装配置VMware ESXi
部署VMware vSphere 5.5 实施文档 ########################################################################## ...
- EMC Isilon(OneFS)误删文件数据恢复过程<存储数据恢复>
[科普Isilon的存储结构] Isilon内部使用的是分布式文件系统OneFS.在Isilon存储集群里面每个节点均为单一OneFS文件系统,所以Isilon在支持横向扩展的同时并不会影响数据正常使 ...
- 分分钟轻松搞定IBM系列 RAID5搭建
分分钟轻松搞定IBM系列 RAID5搭建 按照 以下图片步骤一步步可轻松完成IBM服务器RAID1.5.10等的搭建. 此例是以RAID5为例,RAID1和10可举一反三.
- 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_ ...
- IBM X3850 Windows 无法安装到这个磁盘。选中的磁盘具有MBR分区表。在 EFI 系统上,Windows 只能安装到 GPT 磁盘
以前安装的是window2003 32位, 改装为2012 64位的时候.出现 Windows 无法安装到这个磁盘.选中的磁盘具有MBR分区表.在 EFI 系统上,Windows 只能安装到 GPT ...
- Xen Server虚拟机数据恢复的方法和数据恢复过程
在服务器运行过程中如果出现意外情况突然断电很容易引起服务器故障,服务器中的硬件设备损坏可以修复或者购买,但是服务器中的数据一旦发生故障丢失,对于企业来说将是不可估量的损失.那么服务器数据一旦丢失就除了 ...
随机推荐
- python3爬虫 - cookie登录实战
http://blog.csdn.net/pipisorry/article/details/47948065 实战1:使用cookie登录哈工大ACM网站 获取网站登录地址 http://acm.h ...
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...
- VS2008中开发手持终端程序(PDA软件)总结
VS2008中开发手持终端程序(PDA手机软件)的项目总结 1程序结构 程序中包括四个部分: 1.系统配置 这个部分用来配置系统中的相关参数,参数包括数据库信息和串口的配置信息.这部分的主要技术是XM ...
- 移动App设计的十条建议
原文链接: 10 Key Design Tips for Great Mobile Apps 原文日期: 2014年03月24日 翻译日期: 2014年04月01日 使用Android和iOS编写一个 ...
- 知名IT公司的年度大会合集
很多知名的IT公司都有年度大会,比如说谷歌,微软,Adobe,甲骨文,苹果等等.在这些公司的年度大会上,都会展示一些公司比较前沿的产品.看看这些大会的视频(也可以参会,但是门票可是非常贵的),对我们了 ...
- java工具类(五)之日期格式字符串与日期实现互转
JAVA字符串转日期或日期转字符串 项目开发过程中需要实现日期格式的字符串与日期进行互转,并进行日期的加减操作. Demo如下: package weiming.lmapp.utils; import ...
- 在GitHub上创建代码仓库
目前在GitHub上管理托管带代码的人越来越多了,今天也尝试了一次,顺便记下来,备用. 首先是在GitHub上创建一个代码仓库,创建完之后,GitHub上会有提示,这时进入项目目录执行下面的命令,顺便 ...
- SharePoint 用户控件编写的简单介绍
我们开发中,通常需要写各种各样的部件来实现我们的展示或者功能,下面就介绍下刚刚接触的QuickPart+用户控件的方式,算是自己的学习笔记,也和大家交流下心得. 1. 新建Web应用程序 2. 在项目 ...
- 开源项目AndroidReview学习小结(1)
多看多学涨姿势 最近学习了一个开源项目,感觉收获颇多,这里做下简要的记录,首先感谢作者的开源.先看个大概图 感觉框架非常简单,界面也很一般,不过底层的处理的一些处理还是有很多可圈可点之处,代码的处理一 ...
- LeetCode(52)-Remove Linked List Elements
题目: Remove all elements from a linked list of integers that have value val. Example Given: 1 --> ...