【故障描述】
某法院的一台HP-P4500的存储系统,底层是12块1TB的硬盘组的RAID。其中每6个1TB的盘一组,第一组的前面一部分组了一个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的存储原理以后,关于它的所有数据灾难都可以进行恢复。

服务器数据恢复方法_存储raid硬盘离线数据恢复案例的更多相关文章

  1. raid5 阵列硬盘离线数据恢复成功案例

    数据恢复故障描述: 某研究院 DELL 磁盘阵列崩溃,内置15块1TB硬盘搭建的RAID5阵列.一开始有一块硬盘离线,在更换新硬盘进行同步的过程中,第二块磁盘指示灯报警,同步失败,阵列无法正常工作. ...

  2. 服务器磁盘阵列数据恢复,raid5两块硬盘掉线数据恢复方法

    [用户单位信息] 农业科学研究院某研究所 [磁盘阵列故障发生过程描述]客户的DELL MD1000服务器内置15块1TB硬盘搭建为RAID5磁盘阵列阵列,服务器在正常工作中有一块硬盘离线,管理员对磁盘 ...

  3. V7000存储数据恢复_底层结构原理拆解及Mdisk磁盘掉线数据恢复方法

    Storwize V7000(也就是我们常说的V7000)是新推出的一款中端存储系统,这款系统的定位虽然在中端,但是Storwize V7000提供有存储管理功能,这一功能以前只有高端存储才拥有(例如 ...

  4. HP DL380服务器RAID信息丢失数据恢复方法和数据恢复过程分享

    [数据恢复故障描述]    客户服务器属于HP品牌DL380系列,存储是由6块73GB SAS硬盘组成的RAID5,操作系统是WINDOWS 2003 SERVER,主要作为企业部门内部的文件服务器来 ...

  5. DELL EqualLogic PS存储硬盘故障数据恢复成功案例分享

    DELL EqualLogic PS4000采用虚拟ISCSI SAN阵列,为远程或分支办公室.部门和中小企业存储部署带来企业级功能.智能化.自动化和可靠性.以简化的管理.快速的部署及合理的价格满足了 ...

  6. raid5两块硬盘离线怎么办? 强制上线失败如何恢复数据

    服务器故障描述: 客户使用Dell 2850服务器组建了raid5磁盘阵列,阵列中包含有6块硬盘(SCSI硬盘,单盘容量300G),服务器操作系统为linux Redhat4:文件系统为ext3文件系 ...

  7. RAID6三块硬盘离线导致的数据丢失恢复过程

    小编我最近参与了一例非常成功的数据恢复的案例,在这里分享给大家.用户是一组6块750G磁盘的 RAID6,先后有两块磁盘离线,但维护人员在此情况下依然没有更换磁盘,所以在第三块硬盘离线后raid直接崩 ...

  8. 刀片服务器和磁盘阵列卡(RAID)技术---永和维护

    近期客户需要更换服务器,客户把买好的服务器送来了,原本感觉很小的一个服务器,可当我看到的时候是一个大个的又长又宽,类似机房服务器的那种,后来米老师给大致讲解一番:这个是刀片服务器. 刀片服务器是指在标 ...

  9. 刀片服务器和磁盘阵列卡(RAID)技术---永和维护(转)

    近期客户需要更换服务器,客户把买好的服务器送来了,原本感觉很小的一个服务器,可当我看到的时候是一个大个的又长又宽,类似机房服务器的那种,后来米老师给大致讲解一番:这个是刀片服务器. 刀片服务器是指在标 ...

随机推荐

  1. HDU5919:Sequence II

    题面 Vjudge Sol 给一个数列,有m个询问,每次问数列[l,r]区间中所有数的第一次出现的位置的中位数是多少,强制在线 主席树 询问区间内不同的数的个数 树上二分找到那个中位数 # inclu ...

  2. Windows Developer Day - MSIX and Advanced Installer

    前面一篇我们介绍了 Adaptive Cards 的基础知识,而在 Windows Developer Day 的 Modern Application Experience 环节,还有一个需要划重点 ...

  3. spring整合mybatis(hibernate)配置

    一.Spring整合配置Mybatis spring整合mybatis可以不需要mybatis-config.xml配置文件,直接通过spring配置文件一步到位.一般需要具备如下几个基本配置. 1. ...

  4. 大数据量情况下高效比较两个list

    比如,对两个list<object>进行去重,合并操作时,一般的写法为两个for循环删掉一个list中重复的,然后再合并. 如果数据量在千条级别,这个速度还是比较快的.但如果数据量超过20 ...

  5. Django用户登录与注册系统

    一.创建项目 1.1.创建项目和app python manage.py startproject mysite_login python manage.py startapp login 1.2.设 ...

  6. java基本语法特殊点

    一.关系运算符 instanceof(类型比较运算符) example:a instanceof hello // hello是一个class ==与!=可以用于引用相等运算符( 二.数组 (数组是对 ...

  7. conda创建py27虚拟环境安装theano(anaconda3)

    现在python3已经成为主流的python环境,大部分的package都兼容python3,仍然有一小部分,或者说是某一领域的package需要使用python2.本人现在主要在利用python做机 ...

  8. ZFS建池建卷和格式化

    建池 zpool create pool_name path -f  (例如path=/dev/sdb) zfs set primarycache=metadata pool_name (关闭数据缓存 ...

  9. js实现html转pdf+html2canvas.js截图不全的问题

    最近做项目中遇到要把整个页面保存为PDF文件,网上找了一下实现的方法都是 html2canvas.js+jsPdf.js 来实现.实现的过程是 先用html2canvas.js把html页面转成图片, ...

  10. cesium 显示北京时间

    cesium用的JulianDate:代表天文朱利安时间,用的是世界协调时,比北京时间晚8个小时,所以在源代码中给默认的时间格式加上8小时. 应该会有更好的办法,希望有大神可以告诉我!!!!!!!!! ...