服务器故障&检测&分析:
某品牌EVA存储设备中的RAID5磁盘有两块硬盘掉线,lun丢失。硬件工程师对故障服务器进行物理故障检测,发现掉线硬盘能够正常读取,无物理故障,也没有发现坏道。
故障服务器掉线硬盘没有物理故障,所以掉线极有可能是硬盘读写不稳定造成的。EVA控制会将读写不稳定的硬盘默认为坏盘并踢出。raid5冗余允许最大掉线硬盘的数量是2,掉线的硬盘超过了2块就会导致服务器崩溃。
通过分析故障服务器内raid条目的存储形式,发现每个硬盘的不同块组成一个raid条目。通过分析后解析出来raid条目信息,发现每个LUN都有一份LUN_MAP。由于EVA将LUN_MAP分别存放在不同的磁盘中,用一个索引来指定其位置,因此在磁盘中找出这个指定LUN_MAP位置的索引就可以找到现存LUN的信息。

服务器数据恢复过程:
1、将故障存储中所有硬盘连接到北亚企安数据恢复平台上,以只读方式将硬盘数据镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、通过故障分析确定硬盘掉线的原因是读写不稳定,被控制器踢出掉线。这些掉线的硬盘中有一部分数据是老旧数据,LUN使用的是RAID5,只需要将一个LUN的RAID条目通过RAID5的校验算法算出校验值,再和原有的校验值做比较就可以判断这个条目中是否有掉线盘。
将一个LUN的所有LUN_MAP都校验一遍就可以知道这个LUN中的哪些RAID条目中有掉线盘。在这些RAID条目中都存在的那个盘就一定就是掉线盘。排除掉线盘后根据LUN_MAP即可恢复所有LUN的数据。由北亚企安数据恢复工程师编写相对应程序来实现这个方案,根据编写好的程序去实现不同的功能:
a、编写程序扫描全部LUN_MAP,结合人工分析获取到LUN_MAP。
b、编写检测RAID条目的程序检测所有LUN中掉线的磁盘,结合人工分析排除掉线的磁盘。
c、编写LUN数据恢复程序,结合LUN_MAP恢复所有LUN数据。
恢复出所有LUN的数据后由人工核对每个LUN,验证是否和用户方工程师描述的一致。
3、根据用户方工程师描述,所有LUN的数据可以分成两部份:1、Vmware的虚拟机;2、HP-UX上的裸设备,裸设备存放Oracle的dbf数据库。由于通过恢复出来的LUN无法看到里面的文件,因此需要人工核对哪些LUN是存放Vmware的数据,哪些LUN是HP-UX上的裸设备。核对完成后将不同的LUN挂载到不同的验证环境中进行验证。
4、将所有存放vmware虚拟机数据的LUN里面的虚拟机文件都生成出来,通过NFS共享的方式挂载到虚拟主机上,然后将虚拟机一个一个添加到清单。所有虚拟机加电开机后都能启动系统。用户方工程师亲自对虚拟机里面的数据进行验证没有发现问题。本次数据恢复工作完成。

服务器数据安全Tips:
1、定期巡查服务器&存储设备,发现报警及时处理。
2、操作要谨慎,避免误操作导致设备数据丢失。
3、如果发现EVA控制器模块不稳定,应当及时更换。
4、本案例中的EVA存储故障是由磁盘读写不稳定导致的,如果EVA存储中所有磁盘(掉线和没有掉线的)是同一批次,这些没有掉线的磁盘也应该快到极限,如果有条件建议更换掉这批磁盘。

【服务器数据恢复】HP EVA存储多块硬盘离线的数据恢复案例的更多相关文章

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

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

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

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

  3. 6块300G SCSI RAID5,两块硬盘损坏的数据恢复总结

    [用户单位]XXXX网站[数据恢复故障描述]DELL POWEREDGE 2850服务器,内置6块300G SCSI硬盘 ,组成RAID5,安装LINUX REDHAT 4操作系统,存储大量照片,文件 ...

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

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

  5. 服务器数据恢复方法_存储raid硬盘离线数据恢复案例

    [故障描述]某法院的一台HP-P4500的存储系统,底层是12块1TB的硬盘组的RAID.其中每6个1TB的盘一组,第一组的前面一部分组了一个RAID0+1,是存放HP-P4500嵌入式系统,接着组了 ...

  6. Raid5两块硬盘掉线可以恢复数据吗_raid数据恢复案例分享

    本案例中发生故障的存储类型是HP P2000,虚拟化平台为vmware exsi,共有10块硬盘组成raid5(硬盘容量为1t,其中6号盘是热备盘),由于某些故障导致阵列中两块硬盘亮黄灯掉线,硬盘无法 ...

  7. 成功案例分享:raid5两块硬盘掉线数据丢失恢复方法

    1. 故障描述    本案例是HP P2000的存储vmware exsi虚拟化平台,由RAID-5由10块lT硬盘组成,其中6号盘是热备盘,由于故障导致RAID-5磁盘阵列的两块盘掉线,表现为两块硬 ...

  8. [IT新应用]存储入门-文件级存储及块级别存储的选择

    http://www.techrepublic.com/blog/the-enterprise-cloud/block-level-storage-vs-file-level-storage-a-co ...

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

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

  10. [vt][xen]xenserver初始安装增加第二块硬盘&xen图形界面安装vm&设置xen里vm开机启动

    为XenServer挂载/增加第二块硬盘的方法 注意: xen6.x和xen7.x vm导出导入是不兼容的.这点有点蛋疼 新买机器后安装xenserver(一般都买刻录机+dvd来刻录xen官网的io ...

随机推荐

  1. 30道四则运算java

    package test4; import java.util.Scanner;import java.util.Random;public class Test4 { public static v ...

  2. 郁金香-了解MFC信息机制

    控件的事件 窗口的信息

  3. 机器学习-集成学习LightGBM

    目录 前言 介绍LightGBM LightGBM的背景和起源 LightGBM的优点和适用场景 LightGBM的基本工作原理 安装和配置LightGBM 安装LightGBM 配置LightGBM ...

  4. 进程间通信 —— 管道(Interprocess Communications —— Pipes)

    进程间通信 -- 管道(Interprocess Communications -- Pipes) 管道分为匿名管道(anonymous pipes)和命名管道(named pipes.)两类, 其中 ...

  5. LG P4168 [Violet]蒲公英

    \(\text{Problem}\) 强制在线静态询问区间众数 \(\text{Solution}\) 不得不说 \(vector\) 是真的慢 做 \(LOJ\) 数列分块入门 \(9\) 卡时间卡 ...

  6. 基于C++的OpenGL 13 之Mesh

    1. 引言 本文基于C++语言,描述OpenGL的Mesh 前置知识可参考: 基于C++的OpenGL 12 之多光源 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多 ...

  7. 【大型软件开发】开发日志(五).net框架与C++的融合:CLR——C++调用C#的DLL

    做什么? 先说一下场景,现在正在开发一个Qt ActiveServer,也就是用一个应用程序去向其他的组件暴露接口,以达到提供服务的目的. 然后新版的框架要提供大部分功能,也就是要重做大部分模块.现在 ...

  8. 一键接入 ChatGPT,让你的QQ群变得热闹起来

    目录 项目效果 安装环境 配置文件 启动Mirai 启动ChatGPT 项目效果 ChatGPT 的出现对于人们的生活和工作都有着重要的影响,作为一个强大的自然语言处理模型,可以理解和生成自然语言,所 ...

  9. wsl安装和使用

    1.安装wsl的版本 1.使用管理员身份打开powershell,执行 wsl --list --online 2.安装相应的版本 wsl --install -d Ubuntu-20.04 2.更改 ...

  10. C# datatable group by分组

    DataTable dt = new DataTable(); dt.Columns.Add("A"); dt.Columns.Add("B"); dt.Col ...