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