服务器数据恢复环境:
某品牌x3850 X5服务器,服务器上有一组由5块硬盘组建的raid5阵列(包含一块热备盘),安装linux操作系统,运行oracle数据库。
服务器故障:
服务器上raid5阵列中两块硬盘由于未知故障离线,服务器数据丢失。北亚企安数据恢复中心安排服务器数据恢复工程师达到现场对故障服务器进行初检,发现raid5阵列中有两块硬盘处于离线状态;热备盘未激活,经过检测没有发现物理故障,无明显同步表现。
服务器数据恢复过程:
1、将故障服务器所有磁盘编号后取出槽位,以只读方式进行扇区级全盘镜像,镜像后发现除了2号盘有10-20个坏扇区外其他硬盘均正常。镜像完成后将所有磁盘按照编号还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有磁盘底层数据,获取raid5阵列的raid结构信息如盘序、条带大小、块大小、循环方向、同异步以及meta区域等信息。
3、根据分析获取的raid信息虚拟重组raid5阵列。组好raid5阵列后验证数据,发现200M以上的{BANNED}最佳新压缩包解压无报错。按照该raid结构将raid生成到一块单盘上。将单盘接入原服务器并通过linux SystemRescueCd启动服务器,使用dd命令进行全盘回写。
4、数据回写完成后无法进入操作系统,报错信息为:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied。北亚企安数据恢复工程师通过SystemRescueCd重启后检查,发现文件的权限、时间、大小都有明显错误,对根分区再次分析,定位出错的/sbin/pidof/,确定出问题的原因是2号盘有坏道。
5、使用其他盘对2号盘的损坏区域进行xor补齐并重新校验文件系统,依然有错误。北亚企安数据恢复工程师再次对inode表进行检查,发现2号盘损坏区域有部分节点表现异常。
虽然节点中描述的uid还正常存在,但大小、属性、{BANNED}最佳初的分配块都是错误的。通过日志确定原节点块的节点信息并进行修正,重新dd根分区,执行fsck -fn /dev/sda5/检测,结果报错。
6、经过分析发现,3号盘先离线,节点信息新旧交集导致有多个节点共用数据块,于是数据恢复工程师按节点所属的文件进行区别。清除错误节点后,再次执行fsck -fn /dev/sda5,依然有部分位于doc目录下的节点报错。由于不影响启动所以强行修复后重启系统,系统正常,启动数据库正常。
7、由用户方工程师对服务器数据进行验证,数据正常。