服务器存储数据恢复环境:

某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。

服务器数据恢复—raid5磁盘离线导致SAP数据丢失的数据恢复案例_sap数据恢复

服务器存储故障&分析:

该RAID5阵列中一块硬盘出现故障离线,热备盘自动激活替换故障硬盘,热备盘同步数据的过程中该raid5阵列中又有一块硬盘出现故障,RAID5阵列瘫痪,上层LUN无法正常访问。

因为本案例中存储控制器的磁盘检查策略严格,一旦某些磁盘性能不稳定,该型号存储控制器就将该块磁盘识别为坏盘,并将该块磁盘踢出RAID。一旦RAID中掉线的盘数到超过RAID级别允许掉盘的最大数量,该RAID将不可用,上层基于RAID的LUN也无法访问,从而导致重要数据丢失。


服务器数据恢复过程:

1、将故障服务器存储中所有磁盘编号后取出,由硬件工程师对所有磁盘做物理故障检测,经过检测发现有一块硬盘存在物理故障,其他硬盘没有发现明显物理故障。将所有完好磁盘以只读方式进行扇区级全盘镜像。针对那块故障磁盘,由专业工具处理后做镜像。镜像完成所有磁盘后,按照编号将所有磁盘还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。

2、分析RAID组结构

该品牌服务器存储的LUN是基于RAID的。北亚企安数据恢复工程师基于镜像文件分析底层RAID的信息,通过分析找到了热备盘。继续分析其他硬盘的底层数据,分析Oracle数据库页在每个磁盘中分布的情况,并根据数据分布的情况得出RAID组的条带大小,磁盘顺序及数据走向等RAID的重要信息,然后根据分析获取到的信息虚拟重构原RAID。

3、完成重组raid后,分析LUN在RAID中的分配情况,以及LUN分配的数据块MAP。只需要将LUN的数据块分布MAP提取出来,然后针对这些信息编写相应的程序,解析LUN的数据MAP,然后根据数据MAP导出LUN的数据。

服务器数据恢复—raid5磁盘离线导致SAP数据丢失的数据恢复案例_存储数据恢复_02

4、服务器存储数据恢复方案:

a、数据恢复实施方案一

将Oracle数据库数据所在的LUN进行JFS2文件系统解析,人工修复文件系统不完整的地方。利用北亚企安自主开发的JFS2文件系统解析工具解析恢复的LUN,恢复文件系统中所有的Oracle数据库文件,并检测Oracle数据库文件的完整性。

针对检测出有坏块的数据库文件,扫描所有磁盘中的Oracle数据页碎片,组合扫描出来的数据页,通过人工将有坏块的数据库文件填补修复完整。

在恢复完所有Oracle数据库之后,发现其上层应用SAP还是无法使用。SAP应用的一些重要数据存放在损坏的存储中,如果缺失这些数据,SAP即使在数据库完整的情况下也无法正常使用,因此还需通过方案二来恢复所有SAP的重要数据。

b、数据恢复实施方案二

对恢复的所有LUN都进行文件系统解析,并将存放SAP的数据LUN做文件系统一致性检测。对文件系统不完整的部分通过人工进行修复,恢复所有SAP及SAP Test的数据。

检测SAP数据,并修复损坏的SAP数据,确保恢复出来的所有SAP数据均完整,这样才能保证SAP应用启动。

结合恢复出来的SAP数据和数据库,启动SAP及所有应用即可。

5、启动并修复Oracle数据及SAP应用

a、启动数据库并修复

将恢复出来的数据库文件还原到搭建好的环境中,尝试启动数据库。由于数据库的一些临时文件校验不一致导致数据库启动失败。Oracle数据库工程师对数据库进行修复后,数据库启动没有问题,数据库中的所有用户及所有表均完整,尝试启动SAP。

b、启动SAP并修复

将恢复出来的SAP文件还原到已搭建好的环境中,并按照之前的启动脚本启动SAP,SAP启动正常,但SAP中用户权限及使用不正常,SAP表现为没有序列号。数据恢复工程师怀疑SAP的注册文件没有恢复出来。重新检测恢复过程,排查可能疏忽的步骤,最后查明文件系统的损坏导致某些文件没有恢复。重新修复文件系统&恢复这些数据。启动SAP正常,SAP使用正常。

6、由用户方配合,启动Oracle数据库,启动SAP,并通过SAP客户端验证SAP中所有的数据的完整性,经过验证,用户方确认数据完整有效,SAP正常使用。本次数据恢复工作完成。

服务器数据恢复—raid5磁盘离线导致SAP数据丢失的数据恢复案例_raid5数据恢复_03