服务器数据恢复环境:
一台服务器中有一组由数块SAS硬盘组建的RAID5阵列,阵列中有1块热备盘,上层部署OA以及Oracle数据库。
服务器故障:
该磁盘阵列中有2块硬盘出现故障先后离线,RAID5阵列瘫痪,上层LUN无法正常使用。经过检测发现硬盘无物理故障,无坏道。
服务器数据恢复过程:
1、将故障服务器中所有磁盘编号后取出,以只读方式做全盘镜像,备份完成后将磁盘按照编号还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析底层数据获取RAID条带大小、磁盘顺序及数据走向等RAID相关信息,根据获取到RAID信息重组RAID5。
3、分析LUN在RAID中的分配情况和LUN分配的数据块MAP。提取每一个LUN的数据块分布MAP,北亚企安数据恢复工程师编写程序解析所有LUN的数据MAP,根据数据MAP导出所有LUN的数据。
4、对导出的LUN的数据进行分析,发现所有LUN中均包含HP-Unix的LVM信息。通过解析每个LUN中的LVM信息,发现共有三套LVM:一个LVM划分了一个LV来存放OA服务器端的数据;第二个LVM中也划分了一个LV来存放临时备份数据;剩下的4个LUN组建了一个LVM,划分了一个LV来存放Oracle数据库文件。
5、北亚企安数据恢复工程师编写程序解释每套LVM中的LV卷,但在解释的过程中程序报错。经过分析发现报错原因是raid5瘫痪导致LVM信息损坏。人工修复损坏区域后,同步修改解释程序后成功解释LVM逻辑卷。
6、搭建HP-Unix环境,将解释出来的LV卷映射到HP-Unix并尝试挂载文件系统。但是挂载文件系统时出错,尝试使用“fsck –F vxfs” 命令修复vxfs文件系统,但修复完成后还是无法挂载。
7、分析解释出来的LV,根据VXFS文件系统的底层结构校验此文件系统的完整性。经过分析发现VXFS文件系统果然有问题,出现问题的原因是:当raid5瘫痪时VXFS文件系统正在执行IO操作,导致部分文件系统元文件没有更新以及损坏。手工修复这些损坏的元文件直至能够正常解析VXFS文件系统。
8、将修复好的LV卷挂载到HP-Unix小机上,尝试Mount文件系统,这次没有报错,成功挂载。
9、在HP-Unix小机上成功mount文件系统后,将所有用户数据均备份至指定的磁盘空间。部分文件目录截图如下:
10、使用Oracle数据库文件检测工具检测数据库文件的完整性,检测无误后使用北亚企安自主研发的Oracle数据库检测工具进行检测,经过检测发现部分数据库文件和日志文件校验不一致。数据库工程师对这部分文件进行修复后并再次校验,直至所有数据库文件均通过校验。
11、将恢复出来的Oracle数据库附加到原始生产环境中,尝试启动Oracle数据库,启动成功。
数据验证:
在用户方的配合下启动Oracle数据库和OA服务端。在本地电脑上安装OA客户端,通过OA客户端验证新旧数据记录,安排不同部门人员进行远程验证。经过反复验证确认数据完整无误。本次数据恢复工作完成。