很久没出来写博客了,过年来了一直很忙,尤为是最近,忙着作了好几个大单子。先是一个医院50TB的HP-EVA4400,接着是一个法院12TB的HP-P4500,前几天还有作了一个某游乐城12TB的VMware VMFS虚拟机恢复。虽然忙点,可是学会了好多新的知识,一直想抽点时间把最近的工做整理成文章发表一下,但是家里没有联网,在公司又得忙工做。还好最近工做不是很忙,能够在公司抽点时间写写。好了,言归正传,进入主题吧!安全
【故障描述】ide
某法院的一台HP-P4500的存储系统,底层是12块1TB的硬盘组的RAID。其中每6个1TB的盘一组,第一组的前面一部分组了一个RAID0+1,是存放HP-P4500嵌入式系统,接着组了一个RAID5存放数据,第二组组了一个RAID5。在存储系统上层一共分了两个卷,卷大小一个为3TB,一个为5TB。后来因磁盘故障致使存储不可用,客户先请HP的工程作更换磁盘,强制上线,但存储仍是不可用。最后才联系咱们作数据恢复。工具
【硬件检测】测试
咱们的硬件工程师先对客户的12块硬盘作了硬件检测,发现客户的硬盘都正常。既排除硬盘硬件故障。既然都正常,咱们就对12块硬盘作了全盘镜像。spa
【故障分析】索引
咱们使用专业的工具对备份出来的镜像作了详细的分析,发现底层的RAID是一个HP双循环RAID5。而且第一组RAID是好的,也就是第二组RAID的损坏致使存储上层的卷不可用,第二RAID也是一个RAID5,若是是其中一个硬盘掉线那么以RAID5的存储原理应该不会致使存储不可用。所以能够判断第二组RAID中至少是掉了两块磁盘,其中一块是早就掉线的,里面的数据都是旧的,咱们需找出早就掉线的那块磁盘。但是咱们经过硬件检测发现全部的硬盘都没有硬件故障,那么咱们该如何判断掉线的盘是那一个呢?博客
【解决方案】虚拟机
因为并不知道RAID中那一块硬盘是早掉线的,因此没办法重组RAID。通过认真思考后肯定有两种可行方案。it
方案一:穷举法,即假设其中某一块磁盘是早就掉线的,踢掉此盘,重组RAID而后生成所有数据,最后将数据挂载到HP-P4500上,看数据是否正确。若是数据不正确,那么再假设另外一块盘是掉线的,以此循环。虽然这种方案可行,可是因为每次重组RAID生成数据的数据时间太长,而且准确性很低。class
方案二:穷举加校验,仍是和穷举法同样,假设某个磁盘是掉线的,踢掉磁盘后重组RAID,但不是生成所有的数据,而是只生成前面5G的数据,由于HP-P4500内部存储的数据的索引表位图位于RAID的前几个G以内(由于在这以前咱们已经研究过HP-P4500的内部存储原理)。咱们只须要查看这个索引表的位图的信息是否正确就能够判断此RAID是否正确。若是正确那么生成此RAID的数据便可完成RAID的重组。
【实施方案】
采用第二种解决方案,通过几回测试很快就判断出正确的RAID。连夜生成此RAID的数据。生成完数据后,将生成的数据和第一组无缺的RAID一同挂载到HP-P4500上。而后启动存储,上层的卷由不可用变的可用了。查看了最新的文件发现一切都正常。
【数据恢复成功】
因为上层的卷直接能够用了,因此数据也均可见了,可是考虑到安全问题,咱们仍是将卷里的文件都拷贝出来,而后移交给客户。通过漫长的底层分析,加上不断的测试。终于在用户要求的时间内将数据恢复完成。整个恢复过程一共历时两天。之因此能这么快恢复,仍是在于咱们以前研究过HP-P4500的存储原理。知道了HP-P4500的存储原理之后,关于它的全部数据灾难均可以进行恢复。
本文全部数据恢复流程及数据恢复技术均来自北亚数据恢复中心。
做者:邓奇
联系方式:18911808630