某法院HP-P4500存储数据恢复案例

简介:

好久没出来写博客了,过年来了一直很忙,尤其是最近,忙着做了好几个大单子。先是一个医院50TBHP-EVA4400,接着是一个法院12TBHP-P4500,前几天还有做了一个某游乐城12TBVMware VMFS虚拟机恢复。虽然忙点,但是学会了好多新的知识,一直想抽点时间把最近的工作整理成文章发表一下,可是家里没有联网,在公司又得忙工作。还好最近工作不是很忙,可以在公司抽点时间写写。好了,言归正传,进入主题吧!

【故障描述】

   某法院的一台HP-P4500的存储系统,底层是121TB的硬盘组的RAID。其中每61TB的盘一组,第一组的前面一部分组了一个RAID0+1,是存放HP-P4500嵌入式系统,接着组了一个RAID5存放数据,第二组组了一个RAID5。在存储系统上层一共分了两个卷,卷大小一个为3TB,一个为5TB。后来因磁盘故障导致存储不可用,客户先请HP的工程做更换磁盘,强制上线,但存储还是不可用。最后才联系我们做数据恢复。

【硬件检测】

   我们的硬件工程师先对客户的12块硬盘做了硬件检测,发现客户的硬盘都正常。既排除硬盘硬件故障。既然都正常,我们就对12块硬盘做了全盘镜像。

【故障分析】

   我们使用专业的工具对备份出来的镜像做了详细的分析,发现底层的RAID是一个HP双循环RAID5。并且第一组RAID是好的,也就是第二组RAID的损坏导致存储上层的卷不可用,第二RAID也是一个RAID5,如果是其中一个硬盘掉线那么以RAID5的存储原理应该不会导致存储不可用。因此可以判断第二组RAID中至少是掉了两块磁盘,其中一块是早就掉线的,里面的数据都是旧的,我们需找出早就掉线的那块磁盘。可是我们通过硬件检测发现所有的硬盘都没有硬件故障,那么我们该如何判断掉线的盘是那一个呢?

【解决方案】

   由于并不知道RAID中那一块硬盘是早掉线的,所以没办法重组RAID。经过认真思考后确定有两种可行方案。

方案一:穷举法,即假设其中某一块磁盘是早就掉线的,踢掉此盘,重组RAID然后生成全部数据,最后将数据挂载到HP-P4500上,看数据是否正确。如果数据不正确,那么再假设另一块盘是掉线的,以此循环。虽然这种方案可行,但是由于每次重组RAID生成数据的数据时间太长,并且准确性很低。

方案二:穷举加校验,还是和穷举法一样,假设某个磁盘是掉线的,踢掉磁盘后重组RAID,但不是生成全部的数据,而是只生成前面5G的数据,因为HP-P4500内部存储的数据的索引表位图位于RAID的前几个G之内(因为在这之前我们已经研究过HP-P4500的内部存储原理)。我们只需要查看这个索引表的位图的信息是否正确就可以判断此RAID是否正确。如果正确那么生成此RAID的数据即可完成RAID的重组。

【实施方案】

   采用第二种解决方案,经过几次测试很快就判断出正确的RAID。连夜生成此RAID的数据。生成完数据后,将生成的数据和第一组完好的RAID一同挂载到HP-P4500上。然后启动存储,上层的卷由不可用变的可用了。查看了最新的文件发现一切都正常。

【数据恢复成功】

   由于上层的卷直接可以用了,所以数据也都可见了,但是考虑到安全问题,我们还是将卷里的文件都拷贝出来,然后移交给客户。经过漫长的底层分析,加上不断的测试。终于在用户要求的时间内将数据恢复完成。整个恢复过程一共历时两天。之所以能这么快恢复,还是在于我们之前研究过HP-P4500的存储原理。知道了HP-P4500的存储原理以后,关于它的所有数据灾难都可以进行恢复。




本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1408841,如需转载请自行联系原作者
相关文章
|
网络协议 Linux iOS开发
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
696 1
|
Java 应用服务中间件
idea tomcat 404 无法自动打开本地项目war包路径
idea tomcat 404 无法自动打开本地项目war包路径
357 0
|
XML Java 数据库连接
Mybatis的mapper.xml 映射文件没有提示?
1、先来看一下Mapper.xml的头文件 ——1-1、从标文件中可以看到标黄的是Mapper.xml的命名空间,不提示就是该网络的地址获取不到信息 或 没有配置目录的mybatis-3-mapper.dtd
Mybatis的mapper.xml 映射文件没有提示?
|
资源调度 算法 计算机视觉
数字图像处理实验(六)|图像分割{阈值分割、直方图法、OTUS最大类间方差法(edge、im2dw、imfilter、imresize)、迭代阈值法、点检测}(附matlab实验代码和截图)
数字图像处理实验(六)|图像分割{阈值分割、直方图法、OTUS最大类间方差法(edge、im2dw、imfilter、imresize)、迭代阈值法、点检测}(附matlab实验代码和截图)
1786 0
数字图像处理实验(六)|图像分割{阈值分割、直方图法、OTUS最大类间方差法(edge、im2dw、imfilter、imresize)、迭代阈值法、点检测}(附matlab实验代码和截图)
springboot 获取访问接口的请求的IP地址
springboot 获取访问接口的请求的IP地址
3168 0
|
数据库 索引
数据结构中平衡二叉树插入删除中左旋、右旋、左右双旋、右左双旋的详解(题目讲解 简单易懂)
数据结构中平衡二叉树插入删除中左旋、右旋、左右双旋、右左双旋的详解(题目讲解 简单易懂)
528 0
|
算法 前端开发
一文了解贪心算法和回溯算法在前端中的应用
该文章深入讲解了贪心算法与回溯算法的原理及其在前端开发中的具体应用,并通过分析LeetCode题目来展示这两种算法的解题思路与实现方法。
|
Go
Golang语言之切片(slice)快速入门篇
这篇文章是关于Go语言中切片(slice)的快速入门教程,详细介绍了切片的概念、定义方式、遍历、扩容机制、使用注意事项以及相关练习题。
324 6
|
负载均衡 安全 网络协议
DDoS攻击(Distributed Denial of Service)
【8月更文挑战第11天】
1002 4
|
监控 安全 网络安全
如何构建安全的网络基础设施:全面指南
【8月更文挑战第2天】构建安全的网络基础设施是一个复杂而持续的过程,需要企业从规划、设计、实施到维护等各个环节都给予足够的重视和投入。通过全面的风险评估、合理的安全策略、科学的设计方案、严格的实施流程和持续的监控优化,可以为企业打造一个坚不可摧的网络安全防线。在这个过程中,企业应始终保持对新技术和新威胁的敏锐洞察力,不断优化和完善安全体系,确保网络基础设施的安全稳定运行。