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虚拟机数据恢复的方法和数据恢复过程
在服务器运行过程中如果出现意外情况突然断电很容易引起服务器故障,服务器中的硬件设备损坏可以修复或者购买,但是服务器中的数据一旦发生故障丢失,对于企业来说将是不可估量的损失.那么服务器数据一旦丢失就除了 ...
随机推荐
- 基于ARM_contexA9 led驱动编程
关于友善之臂出的这款contexA9开发板,目前在网络上的资源较少,特别是内核的,非常之少,鉴于这种情况,我将会写一个系列的驱动来做关于tiny4412这款板子开发的总结. 简单介绍一下: Tiny4 ...
- StarUML配置Word生成文档模板
来源:fasiondog 许多UML建模工具可以自动生成文档,让需求人员.开发人员专心于需求.设计的建模.当然为了能够生成符合自己要求的模板,需对建模时的目录结构(模型和包)有所规划和要求,否则很难生 ...
- Linux - script练习
首先HelloWorld 对谈式脚本:变量内容由使用者决定 随日期变化:利用date进行文件的创建 比较直接运行与利用source来运行脚本的区别
- obj-c编程10:Foundation库中类的使用(4)[文件管理,查询当前进程信息]
接上一篇文件管理博文.我们可以用NSPathUtilities.h中包含的NSString函数和分类扩展来以兼容的方式处理路径.下面凡是有系统编程经验的童鞋都知道是啥意思了: #import < ...
- poi excel 常用操作
基本 Workbook wb= new HSSFWorkbook(); Sheet sheet = wb.createSheet("sheetName"); Row row = s ...
- htmldom操作添加标签顺序
<!DOCTYPE html> <html> <body> <div id="div1"> </div> <scr ...
- 面试题-一个for循环输出一个棱形
用一个for循环输出以下棱形 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...
- tomcat 工作原理
Tomcat原理 分类: TOMCAT2009-05-17 22:25 4366人阅读 评论(3) 收藏 举报 tomcatexceptionsocketstringservernull Tomcat ...
- JavaScript怎么把对象里的数据整合进另外一个数组里
https://blog.csdn.net/qq_26222859/article/details/70331833 var json1 = [ {"guoshui":[ 3000 ...
- Flask框架之 - 简易静态网站 !
网站截图: Python源代码如下: # coding=utf-8 from flask import Flask,render_template app = Flask(__name__) @app ...