服务器存储数据恢复环境:
华为OceanStor 5800存储,该存储中有一组由10块硬盘组建的raid6磁盘阵列,供企业内部使用,服务器安装linux操作系统+EXT3文件系统,划分2个lun。
服务器存储故障:
管理员发现存储中raid6磁盘阵列不可用,于是将原raid6阵列中的磁盘作为成员盘重新分配raid,并对raid进行初始化。初始化进行到40%左右时,管理员意识到问题,于是强行中止初始化,部分数据已经被破坏,而且不可逆。
导致服务器存储中数据丢失的原因是raid失效,管理员将raid6阵列中的9块硬盘作为成员盘来重新分配riad5阵列,并进行了长时间的初始化操作,这个过程对原始数据造成了不可逆的损坏。
服务器存储数据恢复过程:
1、将故障服务器存储中所有磁盘编号后取出,硬件工程师对所有磁盘进行检测后没有发现有磁盘存在硬件故障。将所有磁盘以只读方式进行扇区级全盘镜像,镜像完成后将所有磁盘按照编号还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析服务器存储中原RAID6磁盘阵列的组织结构,分析重新分配的RAID5磁盘阵列的组织结构。由于重新分配RAID导致底层RAID6阵列的信息和RAID5阵列的信息大量重合,对这些数据进行分析、区别非常困难。
3、在分析出原始raid6阵列和重新分配后的raid5阵列信息后,北亚企安数据恢复工程师开始对数据恢复算法进行研究。基于算法编写程序&测试并校正算法,并将原raid6阵列中的第一和第二个LUN分别镜像到准备好的存储上。
4、服务器数据恢复工程师对这2个LUN的数据进行验证,经过验证发现第二个LUN数据正常,但第一个LUN的前10MB左右的数据被破坏。这前10MB数据极其重要,因为EXT3的根目录和第一个块组的I节点全在这前10MB里面。
5、在这种情况下,数据恢复工程师开始着手对损坏的EXT3文件系统进行修复。北亚企安数据恢复工程师编写一个小程序对EXT3文件系统进行孤目录查找,在根目录下发现子目录3个。
6、重建根目录和I节点,用EXT3文件系统解析程序打开正常。用户对恢复出来的数据进行检测后,认可数据恢复结果。本次数据恢复工作完成。