一。服务器数据恢复故障描述
需要进行数据恢复的服务器共10个磁盘柜,每个磁盘柜满配24块硬盘,其9个存储柜用作数据存储使用,另外一个存储柜用作元数据存储使用。元数据存储里一共24块146克硬盘,其中设置了9组RAID 1阵列,1组4盘位RAID 10阵列,4个热备硬盘。
数据存储中,每6块硬盘设置一组RAID 5阵列,共36组突袭,这36组突袭阵列中,又分为2个存储系统。其中1个存储系统中,一组行动由于2块硬盘先后故障离线,导致突袭阵列失效,整个存储系统瘫痪,无法使用。
存储及文件系统架构大致如下图一:
部分镜像文件
三。数据分析
先对故障的RAID阵列进行分析,获取到相关的RAID信息,使用WinHex软件对RAID阵列进行虚拟重组,并将突袭中的LUN恢复成镜像文件。在分析过程中发现,损坏较严重的硬盘为后离线硬盘,由于此硬盘存在大量坏道,可能对恢复结果产生影响。
登陆昆腾存储设备的管理界面,获取到StorNext文件系统中卷相关的一些基本信息,如下图四:
继续对StorNext文件系统中的元卷卷和数据进行分析,客户的StorNext文件系统中,包含2个数据卷完整卷的数据都是由多组突袭中的LUN组成的,对这些LUN进行分析,得到LUN之间组合的算法规律,虚拟重组出完整卷的数据。
图五:
分析元卷,对元卷中的节点信息和目录项信息,以及元卷和数据之间的对应关系进行分析,针对一个元卷管理多个数据卷的情况,研究得到元卷到卷数据的索引算法。文件节点如下图六:
目录块如下图七:
四。数据恢复
通过分析研究我们已经获取到了恢复工作所需信息,开始编写程序,扫描元卷中的节点信息和目录项信息,同时对目录项和节点进行解析,获取完整的文件系统目录结构,解析节点中的指针信息,将这些信息记录在数据库中。
文件信息如下图八:
编写文件提取程序,读取数据库,根据解析出的信息以及两个数据卷之间的聚合算法对数据进行提取。
五。恢复结果
对生成出的数据进行随机抽样检测,数据没有问题。将客户所需文件提取到本地,确认提取完成后,到客户线程进行数据移交。数据移交完成,客户对数据恢复结果表示满意。虽然故障硬盘存在有坏道的情况,但万幸主要数据没有遭到破坏,数据恢复工作圆满完成。