【虚拟机数据恢复】异常断电导致虚拟机无法启动的数据恢复案例

虚拟机数据恢复环境:
某品牌R710服务器+MD3200存储,上层是ESXI虚拟机和虚拟机文件,虚拟机中存放有SQL Server数据库。

虚拟机故障:
机房非正常断电导致虚拟机无法启动。服务器管理员检查后发现虚拟机配置文件丢失,所幸xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。服务器管理员在尝试恢复虚拟机的过程中,将原虚拟机内的xxx-flat.vmdk删除后新建了一个虚拟机,并分配了精简模式的虚拟机磁盘和快照数据盘,但原虚拟机内的数据并没有恢复。

虚拟机数据恢复过程:
1、将挂载在VMware vSphere Client上的卷卸载后备份,后续的数据分析和数据恢复操作都基于备份数据进行,避免对原始数据造成二次破坏。
2、基于备份数据进行检测和分析。经过检测和分析发现虚拟机目录项由于异常断电被破坏,服务器管理员删除的xxx-flat.vmdk文件导致文件的数据区索引被清除,而重建虚拟机导致分配给新建虚拟机的磁盘底层数据被清零。前两种情况可以通过人工修复恢复数据,但新建虚拟机的操作直接导致磁盘底层数据清零。如果新建虚拟机的磁盘空间占用了原虚拟机的释放空间则会导致这部分数据无法恢复,具体情况需要进一步检测。
虚拟机目录项:

3、再次基于备份分析底层数据,在自由空间中排查被删除的虚拟机磁盘区域,在扫描这部分区域过程中发现大量碎片。尝试拼接和重组这些碎片,发现仍然缺失部分碎片文件,只能暂时将丢失的文件碎片位置留空。
4、利用虚拟磁盘快照程序将重组好的父盘和快照盘合并,生成一个新的虚拟磁盘。尝试解释虚拟磁盘中的文件系统,数据缺失导致在文件系统的解释过程中出现报错,提示某些文件损坏。
解释文件系统:

5、文件系统解析完后,没有找到原始的数据库文件,但是备份的两个目录的目录结构正常。尝试将备份导入到数据库中时提示报错。
备份目录结构:

导入.BAK文件报错:

6、根据SQL Server数据库的结构去自由空间中查找数据库的开始位置。根据SQL Server数据库库名通常出现的位置在底层扫描数据库页的碎片,然后重组mdf文件。
在本案例中除了cl_system3.dbf和erp42_jck.dbf中有部分碎片没有找到,其余数据库文件均校验成功。
校验完的MDF文件:

cl_system3.dbf文件中某个碎片丢失的区域:

7、详细检查备份文件发现上述丢失的两个文件也不存在,只有部分增量备份文件。erp42_jck.dbf文件中只缺失少量的页,可以根据缺失的页号在增量备份中查找,再将找到的页补到erp42_jck.dbf文件中,通过这种方式恢复一部分丢失的数据库页。补完后发现还是有部分页缺失,无法正常使用。
8、使用北亚企安自主开发的数据库解析程序将erp42_jck.dbf文件中比较重要的几十张表成功导出,并成功导入到新建的数据库中,恢复出缺失的文件。
9、将恢复出来的数据导入到重新搭载好的环境中,由用户方验证数据库的完整性。经过仔细验证,用户方确认所有恢复出来的数据完整、数据库成功挂载、上层应用运行正常,用户方认可本次数据恢复结果。本次虚拟机数据恢复工作完成。


http://www.niftyadmin.cn/n/5348239.html

相关文章

【自然语言处理的发展】

自然语言处理的发展 自然语言处理(NLP)作为人工智能领域的一个分支,旨在让计算机理解和生成人类语言。随着深度学习和大数据技术的不断进步,NLP在近年来取得了显著的突破。本文将探讨NLP技术的发展历程、最新技术进展以及未来展望…

mongodb - 无法按照官方教程在AWS EC2上安装mongoDB

我尝试在我的 AWS EC2 实例上安装 mongoDB。 Linux版本是: NAME"Amazon Linux" VERSION"2023" ID"amzn" ID_LIKE"fedora" VERSION_ID"2023" PLATFORM_ID"platform:al2023" PRETTY_NAME"Amazon Linux 2023&qu…

python使用PaddleOCR实现《命名实体识别项目》OCR(已实现)(ai领域必看,简单易用)

1.简介: PaddleOCR是飞桨(PaddlePaddle)推出的一个端到端的光学字符识别开源工具集,支持中文、英文、数字以及特殊符号等各种类型的文字检测、识别和词语整体识别。该工具集使用PaddlePaddle深度学习框架技术,提供了多…

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models导读

通过生成一系列中间推理步骤(即“思维链”)显著提高大型语言模型进行复杂推理的能力 这篇论文探讨了如何通过生成一系列中间推理步骤(即“思维链”)显著提高大型语言模型进行复杂推理的能力。研究人员使用一种简单的方法——思维…

光学系统的核心--分辨率

前言 在机器视觉领域,可以把各个部件划分为光源,镜头,相机,采集卡,算法,运动平台等。各个部件都是系统的有机组合,均有各自的重要性。在实际应用中,成像镜头涉及的光学理论较多&…

【CANoe使用大全】——报文发送(IG)

🙋‍♂️【CANoe使用大全】系列💁‍♂️点击跳转 文章目录 1.仿真报文概述2.IG模块的使用2.1.IG模块打开方式 3.添加报文4.添加报文后的配置4.1.发送方式配置4.1.1.鼠标触发4.1.2.键盘触发4.2.3.周期发送 4.3 信号值修改编辑 1.仿真报文概述 报文发送一…

排序算法——希尔排序算法详解

希尔排序算法详解 一. 引言1. 背景介绍1.1 数据排序的重要性1.2 希尔排序的由来 2. 排序算法的分类2.1 比较排序和非比较排序2.2 希尔排序的类型 二. 希尔排序基本概念1. 希尔排序的定义1.1 缩小增量排序1.2 插入排序的变种 2. 希尔排序的工作原理2.1 分组2.2 插入排序2.3 逐步…

基于 java+springboot+mybatis电影售票网站管理系统前台+后台设计和实现

基于 javaspringbootmybatis电影售票网站管理系统前台后台设计和实现 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承…