【服务器数据恢复】Hyper-V虚拟化数据恢复案例

news/2025/2/12 15:02:29/

服务器数据恢复环境:
Windows Server操作系统服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在某品牌MD3200存储中,MD3200存储中有一组由4块硬盘组成的raid5阵列,存放虚拟机的数据文件;另外还有一块硬盘存放虚拟机数据文件的备份。

服务器故障&检测:
由于MD3200存储中虚拟机的数据文件丢失,导致整个Hyper-V服务瘫痪,虚拟机无法使用。
1、将M3200存储中所有硬盘编号取出,对MD3200存储中所有硬盘进行物理故障检测,经过检测发现所有硬盘均可以正常读取,不存在明显物理故障。
2、操作系统工作状态正常,未发现有问题的进程,排除操作系统问题。
3、丢失数据硬盘的文件系统可以正常打开,杀毒软件检测后没有发现问题。经过检测发现文件系统的元文件创建时间与数据丢失的时间相同,这意味着文件系统被人为重写了,即分区被格式化了。
4、数据丢失之前和数据丢失当天的系统日志已被清空,审核日志和服务日志却还在。格式化分区的操作只会记录在系统日志中,符合人为破坏的特征。
5、需要恢复的系统日志被新的日志记录覆盖,无法恢复。
6、只有两个分区的文件系统被重写。格式化两个分区需要两个独立的过程,这种针对性的操作只能是人为的。

服务器数据恢复过程:
1、之前检测没有发现硬盘存在物理故障,直接将所有硬盘以只读方式做全盘镜像,镜像完成后将所有磁盘按照编号还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。

2、基于镜像文件分析底层数据,获取RAID5阵列的盘序、条带大小、条带走向等信息。根据这些信息重组raid5阵列。
重组RAID:

打开阵列:

3、基于镜像文件分析底层数据,发现许多以前文件系统的目录项及文件索引的残留数据。经过核对发现这些文件索引指向的数据都是用失的文件内容。北亚企安数据恢复工程师编写了一个提取文件索引项的小程序扫描&提取所有文件索引项。
4、分析提取出来的文件索引项,发现其索引项都是不连续的,并且大多都是以16K或8K对齐的。正常情况下,文件索引项是连续的,大小为固定的1K,每个文件索引项对应一个文件或目录。不连续且不完整的文件索引项无法正常索引到文件的内容,北亚企安数据恢复工程师对扫描出来的不连续的文件索引项进行加工处理。
文件索引项截图:

5、处理好所有的文件索引项后,根据文件索引项编号将文件索引项拼接成完整目录项结构。由于部分文件索引项被破坏,只能找到大部分文件索引项,所幸这些找到的文件索引项足以拼接成完整目录结构。
扫描到的文件索引项碎片:

6、将重建好的目录结构替换现有文件系统中的目录结构,然后由北亚企安数据恢复工程师手动修改部分校验值并解释这个目录结构,即可看到丢失的数据了。
目录结构:

将其中一个最新的VHD文件恢复出来后拷贝到一台支持附加VHD的服务器上,尝试附加此VHD,附加成功。检查VHD中最新的数据的完整性,没有发现问题。将所有数据恢复到一块硬盘中。
恢复出来的所有虚拟机数据文件:

7、在一台测试服务器上搭建Hyper-V的环境,将恢复出来的虚拟机文件连接到这台测试服务器上。通过导入虚拟机的方式将恢复出来的数据迁移到新的Hyper-V环境,让用户方来验证虚拟机&虚拟机数据的完整性,经过验证用户方确认恢复出来的数据完整有效。
虚拟机导入的过程:

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


http://www.ppmy.cn/news/1299179.html

相关文章

阿里云提示服务器ip暴露该怎么办?-速盾网络(sudun)

当阿里云提示服务器IP暴露的时候,这意味着您的服务器可能面临安全风险,因为黑客可以通过知道服务器的IP地址来尝试入侵您的系统。在这种情况下,您应该立即采取措施来保护您的服务器和数据。以下是一些建议: 更改服务器IP地址&…

Vue3 遍历echats图表

1.导入echart import * as echarts from echarts2.主要实现代码 这里使用动态id方法实现遍历 <div v-for"(item,index) in showData" :key"index"><div style"width:100%;height:55%;"><div :id"lineRefindex" style&…

AI真正的Killer App 仍然缺席

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

kettle的基本介绍和使用

1、 kettle概述 1.1 什么是kettle Kettle是一款开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c;绿色无需安装&#xff0c;数据抽取高效稳定。 1.2 Kettle核心知识点 1.2.1 Kettle工程存储方式 以XML形式存储以资源库方式存储…

RabbitMQ(八)消息的序列化

目录 一、为什么需要消息序列化&#xff1f;二、常用的消息序列化方式1&#xff09;Java原生序列化&#xff08;默认&#xff09;2&#xff09;JSON格式3&#xff09;Protobuf 格式4&#xff09;Avro 格式5&#xff09;MessagePack 格式 三、总结 RabbitMQ 是一个强大的消息中间…

隐藏服务器IP的正确使用方式

简介 IP是英文Internet Protocol的缩写&#xff0c;意思是网络之间互连的协议&#xff0c;也就是为计算机网络相互连接进行通信而设计的协议。在因特网中&#xff0c;它是能使连接到网上的所有计算机网络实现相互通信的一套规则&#xff0c;规定了计算机在因特网上进行通信时应…

vue上传文件时显示上传进度

要在Vue中显示文件上传进度&#xff0c;可以使用axios库来处理文件上传&#xff0c;并使用axios的onUploadProgress方法获取上传进度。 首先&#xff0c;确保你已经安装了axios库。可以使用npm或yarn安装&#xff0c;在终端中运行以下命令&#xff1a; npm install axios或者…

springCould中的Bus-从小白开始【11】

目录 &#x1f9c2;1.Bus是什么❤️❤️❤️ &#x1f32d;2.什么是总线❤️❤️❤️ &#x1f953;3.rabbitmq❤️❤️❤️ &#x1f95e;4.新建模块3366❤️❤️❤️ &#x1f373;5.设计思想 ❤️❤️❤️ &#x1f37f;6.添加消息总线的支持❤️❤️❤️ &#x1f9…