服务器数据恢复-RAID5上层Hyper-V虚拟机数据恢复案例

news/2024/9/8 12:25:01

服务器数据恢复环境:
一台Windows Server服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在一台DELL存储中。该存储中有一组由4块硬盘组建的RAID5阵列,用来存放虚拟机的数据文件,另外还有一块大容量硬盘用来存放虚拟机数据文件的备份。

服务器故障&检测分析:
存储中虚拟机的数据文件丢失,Hyper-V服务瘫痪,虚拟机无法使用。
1、对存储进行物理故障检测,未发现存储存在物理故障,存储中所有硬盘均可以正常识别。
2、服务器操作系统工作正常,未发现有出错进程。
3、丢失数据硬盘的文件系统打开正常,杀毒软件检测无病毒。经过分析发现丢失数据硬盘的文件系统元文件创建时间与数据丢失的时间吻合,这种情况表明文件系统被人为重写了,即分区被格式化了。
4、检查系统日志发现数据丢失之前和数据丢失当天的系统日志被清空,审核日志和服务日志却还在。此操作一般是人为的。因为格式化分区操作只记录在系统日志中,这与人为破坏的特征相符。
5、仔细分析硬盘底层数据,发现底层中需要恢复的系统日志已被新的日志记录覆盖,无法恢复。
6、分析操作系统中的所有分区,发现只有存储中的两个分区被重新写入文件系统。因为格式化两个分区需要两个独立的过程,进一步表明数据丢失是人为造成的。

服务器数据恢复方案:
根据前面的的故障分析结果,北亚企安数据恢复工程师敲定了数据恢复方案:
备份用户数据→重组RAID5阵列→查找原文件索引项及对应的数据区→将扫描到的文件索引项碎片拼接成完整的目录结构→根据拼接好的目录项去底层恢复对应的数据→核对数据没问题后恢复所有数据。

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

 

2、基于镜像文件分析条带大小、条带走向等RAID相关信息。根据这些RAID相关信息重组RAID5阵列。
重组RAID:

 
硬盘阵列:

 
3、基于镜像文件分析硬盘底层数据,发现了许多原文件系统的目录项及文件索引残留。经过核对发现这些文件索引指向的数据都是用户丢失的文件内容。北亚企安数据恢复工程师编写提取文件索引项的小程序扫描查找所有存在的文件索引项,提取所有找到的文件索引项。

4、分析扫描到的所有文件索引项,发现索引项都是不连续的,大多是以16K或8K对齐的。正常情况下,文件索引项是连续的且大小为固定的1K,每个文件索引项对应一个文件或目录。而扫描出来的这些不连续且不完整的文件索引项是无法正常索引到文件的内容。经过北亚企安数据恢复工程师的处理后已经能查到大多数的文件索引项片段。缺失的文件索引项片段可能被破坏,可以从数据备份盘中查找缺失的文件索引项片段。
文件索引项截图:

 

5、根据文件索引项的编号将找到的所有的文件索引项拼接成一个完整的目录项结构。
扫描到的文件索引项碎片:

 

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

 

 

7、为了验证数据是否正确,将其中一个较新的VHD文件恢复出来,将其拷贝到一台支持附加VHD的服务器上,尝试附加此VHD,结果附加成功。经过检查确认该VHD数据完整,然后将所有数据恢复到一块硬盘中。
恢复出来的所有虚拟机数据文件:

 

8、在一台测试服务器上搭建Hyper-V的环境。通过导入虚拟机的方式将恢复的数据迁移到Hyper-V环境。然后交由用户验证所有虚拟机是否完整。
导入虚拟机:

 

 

9、用户验证完所有虚拟机没有发现问题。将所有数据拷贝至用户准备好的服务器中,将虚拟机导入到用户准备好的Hyper-V环境中,导入后无报错。尝试启动所有虚拟机都没有问题。

 

 

 


http://lihuaxi.xjx100.cn/news/1428566.html

相关文章

css的transform样式计算-第一节

本文作者为 360 奇舞团前端开发工程师 引言 在使用 css 样式进行样式的缩放、旋转等设置时,思考了一下它的较浅层的原理,恩,这个阶段都 是一些初高的数学计算,从新看这里的时候顺便捡了捡初高中的数学,比如三角函数之类…

设置height:100%无效的原因以及两种解决方法

原因&#xff1a;我们知道在把盒子宽度自适应为浏览器窗口宽度&#xff0c;只需设置width:100%就可轻松解决问题&#xff0c;但是让盒子的高度自适应浏览窗口的高度并非那么容易&#xff0c;这是因为css内部计算的原因 <!-- 高度实际为字体大小 --> <div class"…

谷歌关闭跨域限制.(生成一个开发浏览器),Chrome关闭跨域

(一)、首先找到浏览器在电脑磁盘中的位置,并复制 (二)、复制一个浏览器的快捷方式到桌面(不影响正常浏览器) (三)、chrom鼠标右键属性&#xff0c;修改快捷方式的目标 &#xff08;四&#xff09;chrome.exe 后面添加 --disable-web-security --user-data-dir 复制的Chrome浏览…

后端开发5.Redis的搭建

使用docker安装 Redis【redis】(6379) 拉取Redis镜像 docker pull redis:6.2.6 启动Redis容器 docker run -di --name=redis -p 6379:6379 redis:6.2.6 启动Redis容器并设置密码 docker run -di --name=redis -p 6379:6379 redis:6.2.6 --requirepass "密码" 测…

后端开发9.商品类型模块

概述 简介 商品类型我设计的复杂了点,设计了多级类型 效果图 数据库设计

如何使用Pycharm 快速搭建 Django 项目 (分享详细图文教程)

1. 准备工作 在开始创建Django项目之前&#xff0c;需要先确保已经安装了Python和Pycharm。并且python中已经安装好了Django依赖。 1安装python&#xff08;这里我安装使用的是python3.11.4稳定版本&#xff09; 官网下载太慢了这里直接贴网盘下载连接了&#xff0c;一起贴出py…

LeetCode //C - 290. Word Pattern

290. Word Pattern Given a pattern and a string s, find if s follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s. Example 1: Input: pattern “abba”, s “dog c…

【前端 | CSS】flex布局

基本概念 Flexible模型&#xff0c;通常被称为 flexbox&#xff0c;是一种一维的布局模型。它给 flexbox 的子元素之间提供了强大的空间分布和对齐能力 我们说 flexbox 是一种一维的布局&#xff0c;是因为一个 flexbox 一次只能处理一个维度上的元素布局&#xff0c;一行或者…