服务器故障:

服务器内两块硬盘掉线,lun丢失。

服务器故障检测分析:

硬件工程师对故障服务器进行检测发现掉线的硬盘没有坏道和其他物理故障,对故障服务器所有硬盘进行镜像备份。

需要进行数据恢复的故障服务器硬盘无物理故障,可以判断硬盘掉线的原因是硬盘读写不稳定,被控制器默认将读写不稳定的硬盘当作坏盘踢出,掉线硬盘数超过了2个后就会导致服务器不可用,此时通过常规方式是无法进行数据恢复的。

通过分析该服务器内的raid条目存储形式,获知每个硬盘的不同块组成一个raid条目,服务器数据恢复工程师解析出来raid条目信息后发现每个LUN都有一份LUN_MAP。EVA将LUN_MAP分别存放在不同的磁盘中,使用一个索引来指定其位置。找出每个磁盘中指向LUN_MAP的索引就可以找到现存LUN的信息了。

服务器数据恢复过程:

1、通过分析确定硬盘是因为性能原因掉线,掉线硬盘中一部分数据是老旧数据。由于LUN的阵列大多是RAID5,只需要将一个LUN的RAID条目通过RAID5的校验算法算出校验值,再和原有的校验值作比较就可以判断这个条目中是否有掉线盘。而将一个LUN的所有LUN_MAP都校验一遍就可以知道这个LUN中哪些RAID条目中有掉线盘。而这些RAID条目中都存在的那个盘就一定是掉线盘。

2、排除掉线盘,然后根据LUN_MAP恢复所有LUN的数据。

3、上述的故障分析以及解决方案需要编写程序实现。北亚数据恢复工程师用编写扫描LUN_MAP的程序扫描全部LUN_MAP,结合人工分析获取最精确的LUN_MAP。

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

5、数据恢复工程师编写LUN数据恢复程序,结合LUN_MAP恢复所有LUN数据。

6、根据功能需求去编写不同的程序,最后使用LUN数据恢复程序结合LUN_MAP恢复所有LUN的数据。然后人工核对每个LUN,确认恢复出来的数据是否和服务器管理员提出的需求一致。

服务器恢复数据验证:

从服务器管理员那里获知:所有LUN的数据分两块:一部分是Vmware虚拟机,一部分是HP-UX上的裸设备。裸设备里存放Oracle的dbf数据库。由于恢复出来的数据是LUN,无法看到里面的文件,因此需要将这些LUN通过人工来核对哪些LUN是存放Vmware的数据,哪些是HP-UX的裸设备里的Oracle的dbf数据库数据。然后将LUN挂载到不同的验证环境中来验证恢复出来的数据是否完整。

1、在一台服务器上安装ESXI虚拟环境,通过iSCSI的方式将恢复出来的LUN挂载到虚拟主机上。因为ESXI版本的原因无法直接扫描到vmfs卷。于是将所有符合vmware虚拟机的LUN里面的虚拟机文件都生成出来,然后通过NFS共享的方式挂载到虚拟主机上,然后将虚拟机一个一个的添加到清单。

2、验证vmfs虚拟机。通过NFS将所有虚拟机都添加到虚拟主机以后将所有虚拟机开机,所有虚拟机都能正常启动系统。由服务器管理员输入密码进入每个虚拟机的操作系统,验证虚拟机里面的数据,确认恢复出来的数据没问题。至此,本案例数据恢复成功。