-4006-505-646

服务器数据恢复环境:

某品牌EVA某型号存储,底层是RAID5阵列,划分了若干lun。


服务器故障&分析:

该存储设备中raid5阵列有两块硬盘掉线,存储中的lun丢失。

将故障服务器存储中的所有磁盘编号后取出,硬件工程师检测后发现掉线硬盘不存在物理故障,也没有发现坏道,都可以正常读取数据。

掉线硬盘经过检测没有发现有物理故障,可以初步判断硬盘掉线是因为硬盘读写不稳定,本案例中EVA存储中所采用的raid控制器通常会将读写不稳定的硬盘判断为坏盘并踢出阵列。由于raid5的特性,掉线硬盘超过了2块后就会导致阵列崩溃。

EVA存储中每个LUN都有一份LUN_MAP,EVA存储将LUN_MAP分别存放在不同的磁盘中,通过一个索引来指定其位置。因此在每个磁盘中找这个指向LUN_MAP的索引就可以找到LUN的信息了。


服务器数据恢复过程:

1、将故障存储中所有磁盘以只读模式进行扇区级的全盘镜像,镜像完成后将所有磁盘按照编号还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。

2、基于镜像文件分析硬盘底层数据。由于LUN的RAID结构是RAID5,只需要将一个LUN的RAID条目通过RAID5的校验算法算出校验值,再和原有的校验值进行比较就可以判断这个条目中是否有掉线盘。将一个LUN的所有LUN_MAP都校验一遍就可以知道这个LUN中有哪些RAID条目中有掉线盘,在RAID条目中都存在的盘一定就是掉线盘。剔除掉掉线盘后就可以根据LUN_MAP恢复所有LUN的数据。

3、北亚企安数据恢复工程师编写扫描程序扫描LUN_MAP,结合人工分析找到正确的LUN_MAP。

4、北亚企安数据恢复工程师编写RAID条目检测程序检测所有LUN中掉线的磁盘,结合人工分析排除掉线磁盘。

5、北亚企安数据恢复工程师编写数据恢复程序,结合LUN_MAP恢复所有LUN数据。人工核对每个LUN,确认是否和用户方描述的一致。

根据用户方工程师的描述,LUN的数据分为2部份:Vmware的虚拟机和HP-UX上的裸设备。裸设备里存放的是Oracle的dbf数据库。由于恢复的是LUN,无法看到里面的文件,因此需要人工核对哪些LUN是Vmware虚拟机,哪些LUN是HP-UX裸设备。核对完成后将不同的LUN挂载到不同的验证环境中验证恢复出来的数据是否完整。

6、验证数据完整性没有问题后,将所有存放vmware虚拟机的LUN中的虚拟机文件都提取出来,然后通过NFS共享的方式挂载到虚拟主机上。

7、通过NFS将所有虚拟机都添加到虚拟主机以后,将所有虚拟机加电开机,都能启动系统。用户方工程师进入到虚拟机内查看数据,经过验证确认虚拟机内的数据没有问题,确认恢复出来的数据完整有效。本次数据恢复工作完成。