恢复Hyper-V虚拟机丢失的数据文件过程

简介:

简介:
由于MD3200存储中虚拟机的数据文件丢失,导致整个Hyper-V服务瘫痪,虚拟机无法使用,故障环境为Windows Server 2012服务器,系统中部署了Hyper-V虚拟机环境,虚拟机的硬盘文件和配置文件放在朝阳区某托管中心托管的DELL MD3200存储中(注:硬盘600G4,4T1)。MD3200存储是由4块600G硬盘组成的阵列,用作存储虚拟机的数据文件。单块4T硬盘用作虚拟机数据文件的备份。
故障:
由于MD3200存储中虚拟机的数据文件丢失,导致整个Hyper-V服务瘫痪,虚拟机无法使用。以如下流程进行数据检测:
1、对MD3200存储服务器进行物理检测,发现存储并未出现物理故障,涉事硬盘均正常工作
2、检查操作系统:工作正常中,未发现出错进程,排除因操作系统BUG导致的数据丢失。
3、分析丢失数据硬盘的文件系统:打开正常,不符合病毒破坏的表现特征,同时经杀毒软件检测无病毒。再仔细分析硬盘的文件系统,发现此文件系统的元文件创建时间为11月28日,表明文件系统的创建时间为11月28日,与数据丢失的时间相吻合。通常这种故障表明:文件系统被人为重写了,即分区被格式化了。
4、检查系统日志:发现系统日志11月28号之前以及当天的系统日志已被清空,审核日志和服务日志却并未清空。通常情况下,此操作应该由人为导致。而格式化分区的操作只记录在系统日志中,这与上述人为破坏的表现相符。
5、尝试恢复系统日志:仔细分析硬盘底层数据,发现硬盘底层中需要恢复的系统日志已被新的日志记录覆盖,无法恢复。
6、分析操作系统中的所有分区:发现只有MD3200存储中的两个分区的文件系统被重新写入文件系统了。通常情况下,对两个分区的格式化需要有两个独立的过程,因此这种针对性的操作应该由人为导致。

解决方案
1、备份用户数据
由于数据全部都放Dell M3200存储中,因此只需要恢复Dell M3200存储中的数据即可。将Dell M3200存储中所有的硬盘标上编号,然后后从存储中拔下来交给硬件部门检测硬盘是否存在物理故障。经检测没问题后对每块硬盘做全盘镜像,使用专用工具(Winhex)将硬盘中所有扇区镜像到一块备份硬盘中。
如下图1.:使用专业工具备份所有硬盘数据
1

2、重组磁盘阵列
镜像完所RAID 5的相关信息,如:条带大小,条带走向等信息。根据这些信息即可重组有硬盘后,分析每块硬盘上的数据。分析后发现4块600G硬盘做了一个RAID5,另一块4T硬盘是做为数据备份使用。仔细分析4块600G硬盘中的数据结构,可以得出这个此RAID。
如下图2.:使用专业工具重组RAID
2

如下图3.:是用专业工具打开硬盘阵列的情况
3

3、扫描旧的文件索引项
仔细分析硬盘底层数据,发现硬盘底层中还残留着许多以前文件系统的目录项及文件索引。经过仔细核对发现这些文件索引指向的数据都是用户丢失的文件内容。但由于整个硬盘太大,人工去搜索文件索引会很慢,因此编写一个提取文件索引项的小程序,对整个硬盘中所有存在的文件索引项做扫描,提取所有文件的文件索引项。

4、分析扫描到文件索引项
对扫描到的所有文件索引项做详细的分析,发现其索引项都是不连续的,并且大多都是以16K或8K对齐的。正常情况下的文件索引项是连续的,大小为固定的1K,每个文件索引项对应一个文件或目录。而扫描出来的这些不连续,并且不完整的文件索引项是无法正常索引到文件的内容。因此需要对扫描出来的文件索引项做加工处理。在扫描出来的文件索引项中搜索” .VHD”,能找到一个” .VHD”的文件记录。然后将这个片连续的文件索引项提取出来。接着再查看这段提取出来的文件索引项中是否有指向下一段文件索引项的记录或者是H20属性。如果有则根据文件索引项中的特征去匹配下一段文件索引项,如果没有则跳过这段文件索引项。根据以上方法基本能查到大多数的文件索引项片段。而缺失的文件索引项片段有可能被破坏了,但是可以从数据备份盘中去查找缺失的文件索引项片段,因此基本可以搜索到大部分的文件索引项。
如下图4.:是文件索引项截图
4

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

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

如下图7
7

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

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

如下图10.
10

8、迁移所有数据
在客户验证所有虚拟机没问题后,将所有数据拷贝至客户服务器中。然后利用导入的方式将虚拟机导入到客户的Hyper-V环境中,需要以下面的方式导入虚拟机,导入后没有报错,尝试启动所有虚拟机,所有虚拟机启动都没问题
11
12
13

相关文章
|
3月前
|
SQL 存储 数据挖掘
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
虚拟机数据恢复环境: 某品牌R710服务器+MD3200存储,上层是ESXI虚拟机和虚拟机文件,虚拟机中存放有SQL Server数据库。 虚拟机故障: 机房非正常断电导致虚拟机无法启动。服务器管理员检查后发现虚拟机配置文件丢失,所幸xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。服务器管理员在尝试恢复虚拟机的过程中,将原虚拟机内的xxx-flat.vmdk删除后新建了一个虚拟机,并分配了精简模式的虚拟机磁盘和快照数据盘,但原虚拟机内的数据并没有恢复。
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
|
4月前
|
Oracle 关系型数据库 Linux
windows 11 hyper-v中oracle linux虚拟机中添加硬盘
在windows 11自带的hyper-v虚拟机中添加硬盘,并分区
65 6
|
23天前
【嵌入式】虚拟机未能将管道连接到虚拟机: 系统找不到指定的文件
【嵌入式】虚拟机未能将管道连接到虚拟机: 系统找不到指定的文件
|
2月前
|
存储 Linux KVM
|
3月前
|
Linux
将Linux虚拟机导出为OVF文件
将Linux虚拟机导出为OVF文件
38 1
|
3月前
|
存储 运维 虚拟化
【服务器数据恢复】Hyper-V虚拟机文件丢失的数据恢复案例
Windows Server操作系统服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在某品牌MD3200存储中,MD3200存储中有一组由4块硬盘组成的raid5阵列,存放虚拟机的数据文件;另外还有一块硬盘存放虚拟机数据文件的备份。
【服务器数据恢复】Hyper-V虚拟机文件丢失的数据恢复案例
|
4月前
|
数据挖掘 数据库 虚拟化
服务器数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
服务器数据恢复环境: 某品牌720服务器搭配该品牌某型号RAID卡,使用4块STAT硬盘组建了一组RAID10阵列。服务器上部署XenServer虚拟化平台,系统盘 +数据盘两个虚拟机磁盘。虚拟机上安装的是Windows Server操作系统,作为Web服务器使用,网站使用的是SQLServer数据库。 服务器故障: 服务器意外断电导致XenServer中一台VPS(XenServer虚拟机)不可用,虚拟磁盘文件丢失。
服务器数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
|
7月前
|
存储 网络安全 虚拟化
Proxmox VE导入ESXI格式OVA、VMDK虚拟机文件
按照正常步骤建好虚拟机,之后删除掉该虚拟机的虚拟硬盘。本例中虚拟机VM ID为103,通过qm importdisk 进行导入挂载。具体导入位置,根据虚拟机存储情况进行确定,本示例为local-lvm。使用SCP工具,将OPNsense_22.7.4_ufs-disk1.vmdk上传到系统的root目录下。需要使用的文件为:OPNsense_22.7.4_ufs-disk1.vmdk。导入成功后,就能看到该硬盘,在该硬盘上点编辑,添加即可。
|
2月前
|
虚拟化
vmware克隆虚拟机后没有ip地址的问题
解决vmware克隆虚拟机后没有内网ip的问题

相关实验场景

更多