存储卷丢失,虚拟机不可访问的解决方法,数据全恢复

存储环境部署及存储数据恢复故障的起因:某公司的NetApp FAS-8200存储,使用96块磁盘组建两组存储池,存储池互为镜像。存储池内划分卷并映射到ESXI作为数据存储使用,卷内虚拟机数量约300+。在操作过程中由于未知原因导致卷丢失,卷内虚拟机不可访问。该公司的管理员先进对存储进行了简单的检查和数据恢复但是没有成功,由于存储内有公司重要数据,管理员不敢妄动,只好联系北京的存储数据恢复公司进行专业数据恢复。

一、数据恢复备份

为防止对客户原始磁盘内数据造成破坏,首先分别对各磁盘进行镜像拷贝(在进行分析后确定热备未启用,剔除热备盘和存储系统盘)小编以往的数据恢复案例中都要对备份进行介绍,这里就不再赘述过程了。

二、分析磁盘底层数据并重组RAID恢复数据

数据恢复第一步即分析阵列底层的数据情况,根据磁盘底层元信息记录信息,确定了每块磁盘所在的盘序及功能(数据/校验),同时确定无离线盘无需校验信息,剔除校验盘。

三、提取卷内数据

NetApp所使用的文件系统为WAFL,在本案例中文件系统采用了高版本模式。填写配置文件,使用数据恢复公司自主研发解析程序进行解析:

在数据提取完成后由数据恢复工程师对提取的数据进行文件自检验,检验文件数据过程中发现数据文件异常,数据恢复工程师对数据进行二次分析发现部分数据块由于指针异常被填充。如下图:

此类指针在以往的数据恢复过程中未曾出现,请教了经验丰富的数据恢复工程师后表示在数据恢复从业经历中也没有遇见过这类指针,所以并没有现成的数据恢复方案可解决这个故障,技术主管将该数据恢复案件移交给数据恢复中心的非常规业务技术攻关小组进行技术攻关。

四、数据还原

经过数据恢复技术攻关小组分析测试后得出结论为:此类指针为压缩占用标志,并给出解压算法。

根据解压算法编写数据解压程序,对已提取数据进行解压验证。在解压过程中随时对出现的部分异常情况进行程序调整,随时完善解压算法,最终得到完整可用解压程序。经验证程序可用,解压后的虚拟机VMDK可正常解析并导出文件。数据恢复工程师将提取出来的文件样本送交客户进行检验,检验结果为正常。

数据恢复工程师按照这个思路继续调整数据提取程序,添加目录块解析模块以及解压模块,提取用户卷内所有文件,进行批量数据恢复操作。

五、数据验证;数据恢复成功

待所有数据提取完成后,数据恢复工程师将恢复完成的数据移交到客户存储进行验证,客户验证通过,本次数据恢复工作圆满成功。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Eureka伽罗的技术时光轴

VC++平台上的内存对齐操作

我们知道当内存的边界正好对齐在相应机器字长边界上时,CPU的执行效率最高,为了保证效率,在VC++平台上内存对齐都是默认打开的,在32位机器上内存对齐的边界为4...

7120
来自专栏DotNet程序园

.NET Core 学习资料精选:入门

本系列文章,主要分享一些.NET Core比较优秀的社区资料和微软官方资料。我进行了知识点归类,让大家可以更清晰的学习.NET Core。

14320
来自专栏Eureka伽罗的技术时光轴

八皇后问题的递归解法(最易理解的版本)

八皇后问题是一个古来而著名的问题,该问题是19世纪著名的数学家高斯同学提出来的。在8*8的国际象棋上摆放八个皇后,使其不能互相的攻击,也就是说,任意的两个皇后不...

35920
来自专栏Eureka伽罗的技术时光轴

玩转Google开源C++单元测试框架Google Test系列(gtest)(总)

前段时间学习和了解了下Google的开源C++单元测试框架Google Test,简称gtest,非常的不错。 我们原来使用的是自己实现的一套单元测试框架,在使...

5210
来自专栏Eureka伽罗的技术时光轴

AngularJS跨域问题 ajax 跨域

从网上下载了一个AngularJS项目,配置启动后发现数据发送不到自己的后台中去,总是提示跨域问题。

16630
来自专栏量子位

IBM:破解密码并不是量子计算机主要用途,不必为此担心

在旧金山的一场芯片展会上,IBM副总裁兼研究院Almaden实验室主任Jeffrey Welser接受了外媒VentureBeat的采访,回答了公众关心的问题。

8820
来自专栏量子位

高清还原破损视频,参数和训练时间减少三分之二,台大这项研究登上了BMVC 2019

这是台湾大学发表在BMVC 2019的一项研究,一作是台大通讯与多媒体实验室学生Ya-Liang Chang。

12220
来自专栏Jerry的SAP技术分享

ABAP 并发执行的威力

版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)

7720
来自专栏Eureka伽罗的技术时光轴

VC调试时输出调试信息到Debug窗口

TRACE宏(afx.h, AfxTrace) (TRACE将信息输出到afxDump对象,只在_DEBUG定义时输出,最多输出512个字符,格式化与prin...

14040
来自专栏Eureka伽罗的技术时光轴

C++创建对象的三种方式

  第一种和第二种没什么区别,一个隐式调用,一个显式调用,两者都是在进程虚拟地址空间中的栈中分配内存,而第三种使用了new,在堆中分配了内存,而栈中内存的分配和...

8720

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励