• 【北亚服务器数据恢复】虚拟机文件丢失导致HyperV服务瘫痪的数据恢复案例


    服务器数据恢复环境:
    Windows Server服务器;
    系统中安装了Hyper-V虚拟机环境;
    虚拟机文件存放在一台DELL PowerVault系列存储中;
    PowerVault系列存储配置:4个600G硬盘组成阵列存放虚拟机数据,1个4T硬盘用作虚拟机数据备份。

    故障:
    由于PowerVault系列存储中虚拟机数据文件丢失,导致Hyper-V服务瘫痪,虚拟机无法使用。服务器管理员联系北亚数据恢复中心进行数据恢复。

    故障情况检查和分析:
    1、北亚工程师到达现场后对存储服务器进行物理检测,发现存储不存在物理故障,硬盘都是正常的。对操作系统进行检查也未发现错误进程,排除因操作系统问题导致的数据丢失。
    2、分析丢失数据硬盘的文件系统,文件均可正常打开,杀毒软件也没有查出异常,排除病毒破坏。但是,数据恢复工程师发现此文件系统的元文件创建时间为11月28日,意味着文件系统的创建时间和数据丢失的时间相同;这意味着文件系统被人为重写,即分区被格式化了。
    3、检查系统日志发现11月28号之前及当天的系统日志已被清空,审核日志和服务日志却还在。通常情况下,格式化分区的操作只记录在系统日志中,这也验证了存在人为破坏。
    4、尝试恢复系统日志,但是经过仔细分析硬盘的底层数据,发现硬盘底层中需要恢复的系统日志已被新的日志记录覆盖,无法恢复。
    5、分析操作系统中的所有分区发现只有存储中两个分区被重新写入文件系统了。通常情况下,对两个分区的格式化需要两个独立的操作,从侧面验证这是人为导致的数据丢失。

    服务器数据恢复过程:
    1、备份数据。
    数据全部都放在这台PowerVault系列存储中。将存储中所有的硬盘编号,然后取出交给硬件工程师检测硬盘是否存在物理故障。如果硬盘正常则对硬盘做全盘镜像。
    如下图:备份所有硬盘数据

    2、重组磁盘阵列。
    分析每块硬盘上的数据发现4块600G硬盘做了一个RAID5,另一块4T硬盘是作为数据备份。仔细分析4块600G硬盘中的数据结构,可以获取此RAID的相关信息,利用获取到的raid信息重组raid。
    如下图:重组RAID

    如下图:打开硬盘阵列的情况

    3、扫描旧的文件索引项。
    分析硬盘底层数据发现许多以前文件系统的目录项及文件索引的残留碎片。经过核对发现这些文件索引指向的数据都是用户丢失的文件内容。北亚数据恢复工程师编写提取文件索引项的程序对整个硬盘中所有存在的文件索引项做扫描,提取所有文件的文件索引项。

    4、分析扫描到文件索引项。
    对扫描到的所有文件索引项进行分析发现这些索引项是不连续的,大多都是以16K或8K对齐的。正常情况下文件索引项是连续的,大小为固定的1K,每个文件索引项对应一个文件或目录。而扫描出来的这些不连续且不完整的文件索引项是无法正常索引到文件的内容。因此需要对扫描出来的文件索引项做加工处理,直到找到所有的文件索引项。

    如下图:是文件索引项截图

    5、将文件索引项拼接成完整的目录结构。
    找到所有的文件索引项后根据文件索引项的编号将其拼接成整个目录项结构。以下是搜索到的部分文件索引项,由于有部分文件索引项被破坏,因此只能找到大部分文件索引项,但这些文件索引项已经足以拼接成整个目录结构了。
    如下图:是扫描到的文件索引项碎片


    6、修复文件系统。
    将拼接好的目录结构和现有文件系统中的目录结构进行替换,然后使用专业工具修改部分校验值。再使用专业的工具解释这个目录结构就可以看到丢失的数据了。
    如下图:是用专业工具解释出来的目录结构


    为了确定数据是否正确,将其中一个最新的VHD文件恢复出来并将其拷贝到一台支持附加VHD的服务器上,尝试附加此VHD,结果附加成功。检查VHD中最新的数据是否完整。
    如下图:恢复出来的虚拟机数据文件

    7、验证数据。
    在一台测试服务器上搭建Hyper-V的环境,将恢复出来的虚拟机文件连接到这台服务器上。然后通过导入虚拟机的方式,将恢复出来的数据都迁移到新的Hyper-V环境中。然后验证所有虚拟机是否完整。
    如下图:虚拟机导入过程

    8、迁移所有数据。
    服务器管理员验证所有虚拟机后确认没问题,将所有数据拷贝到原服务器中。然后利用导入的方式将虚拟机导入到原服务器的Hyper-V环境中,导入后没有报错,所有虚拟机启动成功。

  • 相关阅读:
    翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》 第 6 章:值的不可变性
    翻译 | 带你秒懂内存管理 第一部(共三部)
    基于 Electron 的爬虫框架 Nightmare
    微信小程序教学第三章(含视频):小程序中级实战教程:列表静态页面制作
    翻译 | 使用AFrame打造WebVR版《我的世界》
    微信小程序教学第三章第三节(含视频):小程序中级实战教程:视图与数据关联
    翻译 | 玩转 React 表单 —— 受控组件详解
    翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》 第 5 章:减少副作用
    翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》 第 2 章:函数基础
    一张图告诉你移动Web前端所有技术(工程化、预编译、自动化)
  • 原文地址:https://www.cnblogs.com/frombyte/p/16143400.html
Copyright © 2020-2023  润新知