一、raid数据恢复故障描述

故障描述

HP FC MSA2000存储 整个存储空间由8块450GB SAS的硬盘组成,其中7块硬盘组成一个RAID5的阵列,剩余1块做成热备盘使用。由于RAID5阵列中出现2块硬盘损坏,而此时只有一块热备盘成功激活,因此导致RAID5阵列瘫痪,上层LUN无法正常使用。

由于存储是因为RAID阵列中某些磁盘掉线,从而导致整个存储不可用。因此接收到磁盘以后先对所有磁盘做物理检测,检测完后发现没有物理故障。接着使用坏道检测工具检测磁盘坏道,发现也没有坏道。

二、raid阵列数据备份

考虑到数据的安全性以及可还原性,在做raid数据恢复之前需要对所有源数据做备份,以防万一其他原因导致数据无法再次恢复。使用dd命令或winhex工具将所有磁盘都镜像成文件。备份完部分数据如下图:

三、raid数据恢复故障分析

1、分析raid故障原因

由于前两个步骤并没有检测到磁盘有物理故障或者是坏道,由此推断可能是由于某些磁盘读写不稳定导致故障发生。因为HP MSA2000控制器检查磁盘的策略很严格,一旦某些磁盘性能不稳定,HP MSA2000控制器就认为是坏盘,就将认为是坏盘的磁盘踢出RAID组。而一旦RAID组中掉线的盘到达到RAID级别允许掉盘的极限,那么这个RAID组将变的不可用,上层基于RAID组的LUN也将变的不可用。目前初步了解的情况为基于RAID组的LUN有6个,均分配给HP-Unix小机使用,上层做的LVM逻辑卷,重要数据为Oracle数据库及OA服务端。

2、分析RAID组结构

HP MSA2000存储的LUN都是基于RAID组的,因此需要先分析底层RAID组的信息,然后根据分析的信息重构原始的RAID组。分析每一块数据盘,发现4号盘的数据同其它数据盘不太一样,初步认为可能是hot Spare盘。接着分析其他数据盘,分析Oracle数据库页在每个磁盘中分布的情况,并根据数据分布的情况得出RAID组的条带大小,磁盘顺序及数据走向等RAID组的重要信息。

3、分析RAID组掉线盘

根据上述分析的RAID信息,尝试通过北亚自主开发的RAID虚拟程序将原始的RAID组虚拟出来。但由于整个RAID组中一共掉线两块盘,因此需要分析这两块硬盘掉线的顺序。仔细分析每一块硬盘中的数据,发现有一块硬盘在同一个条带上的数据和其他硬盘明显不一样,因此初步判断此硬盘可能是最先掉线的,通过北亚自主开发的RAID校验程序对这个条带做校验,发现除掉刚才分析的那块硬盘得出的数据是最好的,因此可以明确最先掉线的硬盘了。

4、分析RAID组中的LUN信息

由于LUN是基于RAID组的,因此需要根据上述分析的信息将RAID组最新的状态虚拟出来。然后分析LUN在RAID组中的分配情况,以及LUN分配的数据块MAP。由于底层有6个LUN,因此只需要将每一个LUN的数据块分布MAP提取出来。然后针对这些信息编写相应的程序,对所有LUN的数据MAP做解析,然后根据数据MAP并导出所有LUN的数据。

四、LVM逻辑卷及VXFS文件系统修复

1、解析LVM逻辑卷

分析生成出来的所有LUN,发现所有LUN中均包含HP-Unix的LVM逻辑卷信息。尝试解析每个LUN中的LVM信息,发现其中一共有三套LVM,其中45G的LVM中划分了一个LV,里面存放OA服务器端的数据,190G的LVM中划分了一个LV,里面存放临时备份数据。剩余4个LUN组成一个2.1T左右的LVM,也只划分了一个LV,里面存放Oracle数据库文件。编写解释LVM的程序,尝试将每套LVM中的LV卷都解释出来,但发现解释程序出错。

2、修复LVM逻辑卷

仔细分析程序报错的原因,安排开发工程师debug程序出错的位置,并同时安排高级文件系统工程师对恢复的LUN做检测,检测LVM信息是否会因存储瘫痪导致LMV逻辑卷的信息损坏。经过仔细检测,发现确实因为存储瘫痪导致LVM信息损坏。尝试人工对损坏的区域进行修复,并同步修改程序,重新解析LVM逻辑卷。

3、解析VXFS文件系统

搭建HP-Unix环境,将解释出来的LV卷映射到HP-Unix,并尝试Mount文件系统。结果Mount文件系统出错,尝试使用“fsck –F vxfs” 命令修复vxfs文件系统,但修复结果还是不能挂载,怀疑底层vxfs文件系统的部分元数据可能破坏,需要进行手工修复。

4、修复VXFS文件系统

仔细分析解析出来的LV,并根据VXFS文件系统的底层结构校验此文件系统是否完整。分析发现底层VXFS文件系统果然有问题,原来当时存储瘫痪的同时此文件在系统正在执行IO操作,因此导致部分文件系统元文件没有更新以及损坏。人工对这些损坏的元文件进行手工修复,保证VXFS文件系统能够正常解析。再次将修复好的LV卷挂载到HP-Unix小机上,尝试Mount文件系统,文件系统没有报错,成功挂载。

五、检测Oracle数据库文件并启动数据库

1、恢复所有用户文件

在HP-Unix机器上mount文件系统后,将所有用户数据均备份至指定磁盘空间。所有用户数据大小在1.2TB左右。部分文件目录截图如下:

2、检测数据库文件是否完整

使用Oracle数据库文件检测工具“dbv”检测每个数据库文件是否完整,发现并没有错误。再使用北亚自主研发的Oracle数据库检测工具(检验更严格),发现有部分数据库文件和日志文件校验不一致,安排高级数据库工程师对此类文件进行修复,并在次校验,直到所有文件校验均完全通过。

3、启动Oracle数据库

由于我们提供的HP-Unix环境没有此版本的Oracle数据,因此和用户协调将原始生成环境带至北亚数据恢复中心,然后将恢复的Oracle数据库附加到原始生产环境的HP-Unix服务器中,尝试启动Oracle数据库,Oracle数据库启动成功。部分截图如下:

六、数据验证

由用户方配合,启动Oracle数据库,启动OA服务端,在本地笔记本安装OA客户端。通过OA客户端对最新的数据记录以及历史数据记录进行验证,并且有用户安排远程不同部门人员进行远程验证。最终数据验证无误,数据完整,数据恢复成功。

七、数据恢复结论

由于故障发生后保存现场环境良好,没用做相关危险的操作,对后期的数据恢复有很大的帮助。整个数据恢复过程中虽然遇到好多技术瓶颈,但也都一一解决。最终在预期的时间内完成整个数据恢复,恢复的数据用户方也相当满意,Oracle数据库服务,OA服务端等所有服务能够正常启动。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31380569/viewspace-2217249/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31380569/viewspace-2217249/

某公司服务器raid阵列2块硬盘损坏数据恢复成功案例相关推荐

  1. 磁盘阵列两块硬盘掉线数据恢复成功案例

    服务器数据恢复背景描述: 需要进行数据恢复的磁盘阵列是两组分别由4块600G容量的SAS硬盘组成的raid5磁盘阵列,ext3文件系统.lvm结构. 磁盘阵列中1号硬盘离线,热备盘启动同步,在同步过程 ...

  2. V7000存储两块硬盘掉线数据恢复成功案例

    今天为大家讲述的是进行V7000存储数据恢复的过程,在介绍故障情况之前先简单介绍一下V7000.V7000存储提供高可用性配置,实现具有灾备能力的虚拟化环境.虚拟化存储加密技术无需升级现有存储系统,即 ...

  3. raid0两块硬盘损坏数据恢复过程

    前几天接到一组4块盘SCSI RAID0+1的数据恢复,客户说做了两组raid1,现在raid状态里显示有3快盘offline.如果两组盘分别作raid1,现在也应该有一组逻辑盘可以正常工作,但是事实 ...

  4. HP MSA存储 raid组坏了2块硬盘的数据恢复方法

    一.raid数据恢复故障描述 故障描述 HP FC MSA2000存储 整个存储空间由8块450GB SAS的硬盘组成,其中7块硬盘组成一个RAID5的阵列,剩余1块做成热备盘使用.由于RAID5阵列 ...

  5. raid5阵列2块硬盘掉线应该数据恢复还是强制上线

    磁盘阵列两块硬盘离线数据恢复案例一: 客户的一台服务器因为未知的原因导致一块硬盘红灯闪亮,不过服务器还在正常运行,管理员未做处理,随后该服务器内的另一块硬盘出现同样的报警提示,服务器崩溃.数据恢复工程 ...

  6. 服务器read坏了两块硬盘,服务器坏了2块硬盘

    关于 服务器坏了2块硬盘的搜索结果 回答 不过 SSD 的储存成本比 HDD 硬盘真的高的不是一块两块&xff0c;而且 SSD 硬盘容量到了 80%就会脏盘性能大幅度下降&xff0c ...

  7. IBM serverx服务器RAID阵列磁盘配置JBOD模式(直通模式)

    IBM serverx服务器RAID阵列磁盘配置JBOD模式(直通模式) 关于直通模式现在应用较多的是vmware的vsan分布式存储. 现在通过IBM serverx 3850X6服务器演示如何配置 ...

  8. 硬盘损坏数据恢复怎么操作?恢复数据的常用方法

    硬盘一般固定在电脑里面的存储装置,里面保存着我们大量的数据.随着电脑的使用越加广泛,有时不免出现一些问题,比如硬盘在使用过程中出现数据错误,或者是硬盘的内部零件出现故障.出现这些问题,硬盘损坏数据恢复 ...

  9. 【服务器数据恢复】raid5阵列2块硬盘先后离线的数据恢复案例

    服务器数据恢复环境: 华为s系列服务器: 24块硬盘组成一组raid5磁盘阵列,其中包含1块热备盘. 服务器故障&检测: 服务器工作状态下raid5中有一块硬盘离线,热备盘激活替换离线硬盘并开 ...

最新文章

  1. SpringCloud配置文件 application.yml和 bootstrap.yml区别,执行顺序
  2. FAQ about AJAX-part II
  3. WINCE下实现USB转RS232
  4. Spotify是如何调整CDN服务来实现闪电般的快速流媒体体验
  5. 使用Maven实施自定义JSF 2.0组件
  6. LeetCode 1244. 力扣排行榜(map+multiset)
  7. c++二维数组指针详解
  8. 计算机更新安装失败,电脑更新安装失败
  9. 【代码笔记】iOS-MBProgressHUD+MJ
  10. zb怎么做渲染图_怎样用ZBrush对模型进行渲染(二)
  11. 【2016Esri全球用户大会主题亮点】GIS Apps的交响乐
  12. 基于JAVA的教务排课系统毕业设计
  13. Java随机获取男主角 女主角名字
  14. 用python画蟒蛇
  15. [Cocos Creator] 本地文件加载系列六:本地龙骨动画dragonbones加载(web模式)
  16. JAVA计算机毕业设计东理咨询交流论坛计算机(附源码、数据库)
  17. mysql 去除微秒_mysql的微秒补丁 - sihanjishu的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  18. 明明加了唯一索引,为什么还是产生重复数据?
  19. 摄影测量航带设计程序
  20. PDA手持终端APP工程开发介绍

热门文章

  1. app拉新推广应该怎么做?
  2. golang测试写入excel
  3. 面试时的自我介绍技巧
  4. 院线电影《护国密探》即将与大家见面了
  5. [转]王齐前辈写的一篇随笔
  6. 前妻贾斯汀解读马斯克何以能“极度成功”:痴迷!痴迷!痴迷!
  7. 精读:Coverage-based greybox fuzzing as markov chain
  8. 使用SW2018导出urdf模型文件
  9. 中国防腐蚀工程产业调研与投资战略报告(2021版)
  10. No cached version of com.xxx.xxx available for offline mode