首页 > 其他分享 > 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例

【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例

时间:2023-02-14 15:05:58浏览次数:45  
标签:数据恢复 Hyper 文件 虚拟机 文件系统 索引 服务器

服务器数据恢复环境:

WinServer操作系统服务器,部署Hyper-V虚拟机环境;

虚拟机的硬盘文件和配置文件存储在一台存储设备中;

该存储设备配置:一组4盘raid5阵列存放虚拟机数据+单块盘存放虚拟机数据备份。


服务器故障:

由于MD3200存储中虚拟机的数据文件丢失,导致整个Hyper-V服务瘫痪,虚拟机无法使用。


服务器故障检测:

1、检测物理故障,结果没有发现物理故障问题,所有硬盘均正常。

2、检测操作系统:操作系统正常运行,未发现错误进程。

3、检测丢失数据硬盘的文件系统:打开正常。继续分析丢失数据硬盘的文件系统,发现文件系统的元文件创建时间(即文件系统的创建时间)与数据丢失的时间相同。这种情况意味着文件系统被人为重写,即分区被格式化了。

4、检查系统日志:系统日志数据丢失之前及当天的系统日志已被清空,但是审核日志和服务日志还在,恰巧格式化分区的操作只记录在系统日志中。这种情况再次印证这次数据灾难是人为导致的。

5、尝试恢复系统日志,从底层数据查看发现需要恢复的系统日志已被新的日志记录覆盖,无法恢复。

6、分析所有分区,发现只有两个分区的文件系统被重新写入新的文件系统。因为两个分区的格式化需要有两个独立的过程,这种针对性的操作再次证明本次数据灾难由人为操作导致。


服务器数据恢复过程:

1、将故障存储设备中所有的硬盘编号取出,以只读方式对所有硬盘做全盘镜像,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。

备份所有硬盘数据:


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_数据恢复


2、镜像完成后,基于镜像文件分析RAID5磁盘阵列相关信息如条带大小、条带走向等。根据这些信息重组raid5磁盘阵列。


重组RAID5磁盘阵列:


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_Hyper-V数据恢复_02


打开RAID5磁盘阵列:


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_虚拟机数据恢复_03



3、分析硬盘底层数据发现还残留着许多以前文件系统的目录项及文件索引。经过核对发现这些文件索引指向的数据都是用户丢失的文件内容。北亚企安数据恢复工程师编写提取文件索引项的小程序扫描并提取所有文件的文件索引项。


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

在扫描出来的文件索引项中搜索” .VHD”,能找到一个” .VHD”的文件记录,然后将这个片连续的文件索引项提取出来。

接着再查看这段提取出来的文件索引项中是否有指向下一段文件索引项的记录或者H20属性。如果有则根据文件索引项中的特征去匹配下一段文件索引项,如果没有则跳过这段文件索引项。

根据以上方法能找到了大多数的文件索引项片段,而缺失的文件索引项片段有可能被破坏了,可以从数据备份盘中去查找缺失的文件索引项片段,最终可以找到大部分的文件索引项。


文件索引项截图:


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_虚拟机数据恢复_04


5、找到所有能找到的文件索引项之后,根据文件索引项的编号将其拼接成整个目录项结构。以下是搜索到的部分文件索引项,虽然小部分文件索引项被破坏,但这些找到的文件索引项已经足够拼接整个目录结构。


扫描到的文件索引项碎片:


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_服务器数据恢复_05


6、将重建好的目录结构替换现有文件系统中的目录结构并修改部分校验值,然后解释这个目录结构就可以看到丢失的数据了。


解释出来的目录结构:


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_虚拟机数据恢复_06

 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_服务器数据恢复_07

为了验证数据是否正确,将其中一个最新的VHD文件拷贝到一台支持附加VHD的服务器上,尝试附加此VHD,结果附加成功。检查VHD中最新的数据的完整度,没有发现问题后将所有数据恢复到一块硬盘中。


恢复出来的所有虚拟机数据文件:


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_Hyper-V数据恢复_08


7、在一台测试服务器上搭建Hyper-V环境,将恢复出来的虚拟机文件连接到这台服务器上,通过导入虚拟机的方式将恢复出来的数据都迁移到新的Hyper-V环境,然后让用户亲自验证所有虚拟机。


虚拟机导入的过程:


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_Hyper-V数据恢复_09


8、用户验证所有虚拟机没有问题后,将所有数据拷贝至用户准备好的服务器中。用导入的方式将虚拟机导入到用户准备好的Hyper-V环境中。导入过程中和导入后都没有报错,尝试启动所有虚拟机都没有发现问题。本次数据恢复工作完成。


 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_服务器数据恢复_10

 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_数据恢复_11

 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪的数据恢复案例_虚拟机数据恢复_12

标签:数据恢复,Hyper,文件,虚拟机,文件系统,索引,服务器
From: https://blog.51cto.com/sun510/6056852

相关文章

  • VMware 虚拟机安装 Ubuntu 20.04-server
    一、ubuntu镜像下载选择服务器版:https://cn.ubuntu.com/download/server/step1 二、安装步骤1、选择语言:选择语言为English 2、系统更新:选择不更新 3、设置键......
  • 虚拟机技术概况
    虚拟机技术概况虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可......
  • HyperPlatform
    之前也写过一个vt的框架,但是比较简单,写的比较乱迁移什么的比较麻烦,于是阅读下HyperPlatform的源码学习下。本文只对主体框架分析。vt的流程大概如下1:检测是否支持VT。2......
  • 7.6提供相同运行环境的Java虚拟机
       除虚拟机的方法之外,还有一种方法能够提供不依赖于特定硬件及操作系统的程序运行环境,那就是Java。   大家说的Java,有两个层面的意思。一个是作为编程语言Ja......
  • 7.5利用虚拟机获得其他操作系统环境
       即使不通过移植,也可以使用别的办法来进行其他操作系统的应用。通过利用虚拟机,我们就可以在Macintosh的Mac操作系统上运行Windows应用了。   VirtualPCfo......
  • 7.6 提供相同运行环境的Java虚拟机
    一、不通过移植,也能利用虚拟机软件来运行其他操作系统的应用。通过利用该虚拟机,我们就可以在Macintosh的Mac操作系统上运行Windows应用了。VirtualPCforMAC可以使Maci......
  • 关于虚拟机克隆之后网卡无法开启解决办法
     之前经常出现这样的问题,但由于实在找不到解决的办法,只能重新去安装一个新的操作系统,而且克隆之后两台虚拟机的网络均打开不了,非常恼火,快照也没有一点用处,网络就是打不开......
  • 虚拟机系统安装过程
    1.虚拟机启动后会出现下面的界面(白色表示选中)默认选中的是Testthismedia&installCentOS 7。    InstallCentOS7                    ......
  • 复制虚拟机的网卡问题
    复制虚拟机过程中存在的问题A、复制的虚拟机能共存于同一个局域网?Mac地址是否会相同?IP地址会相同?能共存于同一局域网,Mac地址不同,IP地址不同。对于复制的虚拟机,在开机时,VMw......
  • 安装 VMware Workstation 虚拟机
    VMwareWorkstation采用的是寄居架构,是一款功能强大的桌面虚拟计算机软件,而且在虚拟网络、实时快照、拖曳共享文件夹、支持PXE等方面的特点使它成为必不可少的工具。  ......