服务器数据恢复环境:
10个磁盘柜,每个磁盘柜24块硬盘;
9个存储柜存储数据,1个存储柜存储元数据;
元数据存储柜中的24块硬盘配置情况:9组RAID1阵列+1组4盘位RAID10阵列+4个全局热备硬盘。
数据存储柜中硬盘配置:共36组6盘位的RAID5,分为2个存储系统。
服务器故障:
数据存储柜的1个存储系统中的一组RAID5由于2块硬盘先后故障离线,RAID阵列失效,整个存储系统崩溃,无法使用。
存储及文件系统架构大致如下图:
注:Meta_LUN(元数据卷) Data_LUN(用户数据卷)
服务器数据恢复过程:
1、为了防止服务器数据恢复操作对原始磁盘数据造成二次破坏, 首先对存储中所有硬盘进行备份。
备份过程如下图:
对故障RAID中的6块盘进行编号标记,将硬盘从存储柜中拔出接入到备份服务器上进行备份。
对没有出现故障的RAID阵列进行存储层面的备份。使用光纤线缆将备份平台和存储设备连接,进入存储设备管理界面配置备份平台和存储设备让2者可以正常通信,使用软件对RAID中的LUN进行镜像备份。
在备份过程中发现故障RAID中的1块硬盘存在大量的坏道,在备份的过程出现错误,无法继续备份。对故障硬盘开盘更换固件,使用工具对其进行修复后继续备份,但坏道仍然存在。
部分镜像文件:
2、RAID数据分析。
对故障RAID进行分析获取相关RAID信息,使用软件对RAID阵列进行虚拟重组,并将RAID中的LUN恢复成镜像文件。在分析过程中发现,损坏较严重的硬盘为后离线硬盘,由于此硬盘存在大量坏道,可能对最后的恢复结果产生一定的影响。
3、登录存储设备管理界面,获取到StorNext文件系统中卷的相关信息。
4、继续对StorNext文件系统中的Meta卷和Data卷进行分析。本案例的StorNext文件系统包含2个Data卷,每一个完整的Data卷都是由多组RAID中的LUN组成的。对这些LUN进行分析获取到LUN之间组合的算法规律,虚拟重组出完整的Data卷。
5、分析Meta卷。对Meta卷中的节点信息、目录项信息以及Meta卷和Data之间的对应关系进行分析,针对一个Meta卷管理多个Data卷的情况研究获取到Meta卷到Data卷的索引算法。
文件节点:
目录块如下:
6、扫描解析数据。
通过前面的分析研究已经获取到了数据恢复工作所需的全部信息。北亚数据恢复工程师编写程序扫描Meta卷中的节点信息和目录项信息,同时对目录项和节点进行解析,获取完整的文件系统目录结构,解析每一个节点中的指针信息,将这些信息记录在数据库中。
7、提取数据。
编写文件提取程序读取数据库,根据解析出的信息以及两个Data卷之间的聚合算法对数据进行提取。
8、数据检测验证。
对恢复出来的数据进行随机抽样检测没有发现问题。将用户所需全部文件提取到本地进行数据移交。用户对恢复出来的数据进行验证后确认恢复出来的数据完整无误。