服务器数据恢复环境:
北京某单位有一台EMC某型号存储,有一组由10块STAT硬盘组建的RAID5阵列,另外2块磁盘作为热备盘应用。RAID5阵列下层只划分了一个LUN,调配给SUN小机应用,下层文件系统为ZFS。

服务器故障:
存储RAID5阵列中有2块硬盘损坏离线,只有一块热备盘激活,RAID5阵列瘫痪,下层LUN无奈失常应用。

服务器数据恢复过程:
1、将故障存储中所有磁盘编号后取出,由硬件工程师对所有磁盘做硬件故障检测,通过检测没有发现有硬盘存在物理故障和坏道。

磁盘没有发现物理故障和坏道,初步推断是某些磁盘读写不稳固导致故障产生。EMC控制器的磁盘检测策略十分严格,一旦检测到某些磁盘性能不稳固,EMC控制器极有可能会断定这些磁盘为坏盘,将认定为坏盘的磁盘踢出RAID阵列。一旦RAID阵列中掉线的盘到达到该RAID级别容许掉盘的极限值,就会导致RAID阵列解体不可用,因为EMC存储的LUN都是基于RAID阵列的,RAID解体会导致基于该RAID阵列的LUN不可用。
2、将故障存储中所有磁盘以只读形式做全盘镜像备份,镜像实现后依照编号将所有磁盘还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,防止对原始磁盘数据造成二次毁坏。镜像实现后发现源磁盘的扇区大小为520字节,应用工具将镜像数据做520字节To512字节的转换。
3、基于镜像文件剖析底层RAID5阵列的相干信息。通过剖析发现发现其中有2块盘(8号盘和11号盘)齐全没有数据,从治理后台上显示这2块盘是Hot Spare,8号盘替换了离线的5号盘。尽管8号盘作为热备盘胜利激活,但该RAID级别为RAID5,因为有2块盘离线,所以该RAID5阵列还缺失一块硬盘,所以数据没有同步到8号盘中。持续剖析其余10块硬盘,剖析数据在硬盘中的散布法则、RAID条带的大小、盘序等相干信息。
4、依据下面步骤剖析进去的RAID信息虚构重构原RAID。因为整个RAID阵列中一共掉线两块盘,须要剖析这两块盘掉线的程序。通过剖析发现有一块盘在同一个条带上的数据和其余盘显著不一样,因而初步判断此盘可能是先掉线的。应用北亚企安自主开发的RAID校验程序对这个条带做校验后确认先掉线的那块硬盘。
5、因为LUN是基于RAID阵列的,实现原RAID阵列的重组后剖析LUN在RAID阵列中的调配信息和LUN调配的数据块MAP。依据LUN相干信息解释LUN的数据MAP并导出LUN的所有数据。
6、应用北亚企安自主开发的ZFS文件系统解释程序对生成的LUN做文件系统解释,在解释某些文件系统元文件的过程中程序报错。开发工程师对程序做debug调试并分析程序报错起因,通过数小时的剖析与调试,发现无法解释文件系统的的起因是存储瘫痪导致ZFS文件系统中某些元文件损坏。人工修复这些损坏的元文件。
7、修复实现后解析ZFS文件系统,解析所有文件节点及目录构造。

8、由用户方工程师对复原进去的数据进行验证,验证过程中没有发现问题,确认复原数据残缺无效。本次数据恢复工作实现。