服务器存储数据恢复环境&故障:
一台EVA存储设备中有两块硬盘掉线,lun丢失。
将故障EVA存储设备上的所有硬盘编号后取出。硬件工程师对所有硬盘进行硬件故障检测。检测后发现掉线硬盘不存在物理故障和坏道。将所有硬盘以只读方式做全盘镜像备份,镜像完成后将所有磁盘按照编号还原到原EVA存储设备中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
硬盘掉线,但是硬盘不存在物理故障,初步判断硬盘掉线的原因是硬盘读写不稳定。读写不稳定的硬盘会被控制器识别为坏盘并踢出。
通过分析EVA存储设备内的raid条目存储形式,每个硬盘的不同块组成一个raid条目,每个LUN都有一份LUN_MAP。EVA将LUN_MAP分别存放在不同的磁盘中,使用一个索引来指定其位置。因此去每个磁盘中找这个指向LUN_MAP的索引就可以找到现存LUN的信息了。
该案例中的LUN中的磁盘阵列都是RAID5阵列,只需要将一个LUN的RAID条目通过RAID5的校验算法算出校验值,再和原有的校验值作比较就可以判断这个条目中是否有掉线盘。将一个LUN的所有LUN_MAP都校验一遍就可以知道这个LUN中哪些RAID条目中有掉线盘。这些RAID条目中都存在的那个盘就一定是掉线盘。排除掉线盘,然后根据LUN_MAP恢复所有LUN的数据即可。
服务器存储数据恢复过程:
1、北亚企安数据恢复工程师编写程序扫描全部LUN_MAP,结合人工分析获取到准确的LUN_MAP。数据恢复工程师编写程序检测所有LUN中掉线的磁盘,结合人工分析排除掉线的磁盘。数据恢复工程师编写程序,结合LUN_MAP恢复所有LUN数据。人工核对每个LUN,确认是否和用户方工程师描述的一致。
2、根据用户方工程师描述,所有LUN的数据分成两大部分:Vmware的虚拟机和HP-UX上的裸设备。裸设备存放的是Oracle的dbf数据库。由于恢复的是LUN,无法看到里面的文件,因此需要人工的核对哪些LUN是存放Vmware的数据,哪些LUN是存放HP-UX的裸设备。然后将LUN挂载到不同的验证环境中验证恢复的数据是否完整。
3、在一台服务器上安装了ESXI虚拟主机环境,然后通过iSCSI的方式将恢复出来的LUN挂载到虚拟主机上。
但是在VMware vSphere Client上扫描,却没有发现扫描到vmfs卷。发现因为EXSI版本不同。
数据恢复工程师于是换一种验证方式:将所有符合vmware虚拟机的LUN里面的虚拟机文件都生成出来,然后通过NFS共享的方式挂载到虚拟主机上,然后将虚拟机一个一个的添加到清单。
4、通过NFS将所有虚拟机都添加到虚拟主机以后,将所有虚拟机都加电开机,都能启动系统。交由用户方工程师远程验证虚拟机里面的数据,确认没有问题。本次数据恢复工作完成。