服务器数据恢复环境:
华为s系列服务器;
24块硬盘组成一组raid5磁盘阵列,其中包含1块热备盘。

服务器故障&检测:
服务器工作状态下raid5中有一块硬盘离线,热备盘激活替换离线硬盘并开始进行数据同步,在同步的过程中该raid5阵列内的另一块硬盘由于未知原因离线,上层应用崩溃,服务器内的数据丢失。
拿到故障服务器内的所有硬盘后,硬件工程师对所有硬盘进行物理故障检测,发现除了其中的一块硬盘外,其他硬盘均可以正常读取无物理故障。

服务器数据恢复过程:
1、将故障服务器内所有硬盘以只读方式做完整的镜像备份,后续数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、由于华为s系列服务器的控制器的磁盘检测策略非常严格。对于没有物理故障但性能不稳定的硬盘,控制器会将其视作坏盘踢出阵列。之前检测到只有一块硬盘存在物理故障,因此故障服务器中掉线的两块盘中另外一块是因为读写不稳定被视作坏盘踢出而掉线。
3、对每一块硬盘底层进行分析,获取到raid阵列的条带大小、数据走向、硬盘顺序、热备盘、数据库的分布规律等raid相关信息。根据分析获取到的raid阵列信息重组raid。
4、根据分析获取到的阵列相关信息,使用北亚企安自主研发的工具重组原始raid5阵列。
5、在重组过程中发现有一块硬盘内的数据在同步时候被破坏。由于在数据恢复过程中需要将数据被损坏的硬盘排除,于是数据恢复工程师对所有硬盘进行了底层数据结构的对比。对比发现其中一块硬盘在相同条带上的数据与其他硬盘明显不同。
6、使用北亚自主研发的raid校验程序对该硬盘进行条带校验,确认该硬盘数据已经在同步的时候被破坏。排除这块硬盘后重组raid5磁盘阵列。
7、完成raid阵列重组后,分析lun在raid中的分配情况及数据块map。只要能将map完整提取出来,就可以进行解析并提取lun数据。
8、北亚企安数据恢复工程师编写文件系统解析程序对阵列内文件系统进行解析并导出数据库文件。
9、由数据库工程师对提取的数据库文件进行校验和修复。数据库工程师对数据库文件进行验证后发现部分数据库文件及日志文件异常,表空间内存在大量坏块、所有控制文件被破坏,undotbs02丢失,数据库工程师对数据库文件进行了修复。
修复过程:

数据验证:
经过数据库工程师对数据库文件的修复和验证,最终恢复出所有的数据库文件。服务器数据恢复工程师将修复成功的数据库数据导入到准备好的环境中进行验证,所有数据正常。联系用户亲自对数据进行验证均无异常。本次数据恢复工作完成。

最新文章

  1. DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP
  2. 2014 Super Training #10 G Nostop --矩阵快速幂
  3. UVALive3713-Astronauts(2-SAT)
  4. 解析Xml四种方法
  5. 从WebBrowser中取得Cookie 和 WebClient设置cookie!
  6. electron的艰难安装之旅
  7. CMU机器学习课程-简介
  8. Basic Sort Algorithms
  9. 用注解的方式实现Mybatis插入数据时返回自增的主键Id
  10. python-kafka实现produce与consumer
  11. cpu-z笔记本加条子
  12. CSRF攻击原理及防御
  13. react-router 4.0(三)根据当前url显示导航
  14. Gson全解析(中)-TypeAdapter的使用
  15. 白话Spring(基础篇)---AOP(execution表达式)
  16. linux 文件系统与磁盘修复
  17. python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数
  18. Infinity,NaN
  19. 【刷题】BZOJ 1070 [SCOI2007]修车
  20. 设置WebApi里面命名空间参数

热门文章

  1. 插头dp 模板
  2. JZOJ 4754.矩阵
  3. TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组
  4. 从0搭建Vue3组件库(四): 如何开发一个组件
  5. GoLang中signal.Notify函数用法
  6. python cls方法_关于类方法中的cls
  7. cisco ios 密码恢复
  8. Redis入门级简单安装使用
  9. Java面向对象之创建对象内存分析
  10. Linux,Lnmp配置Index of /索引页