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

虚拟机数据恢复环境:
某品牌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.mzph.cn/news/655686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

###C语言程序设计-----C语言学习(7)#(调试篇)

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 一. 程序调试 1.程序调试介绍: 程序调试是软件开发过程中非常重…

npm 和 yarn 的使用

安装 yarn npm i yarn -g查看版本 npm -v yarn --version切换 npm/yarn 的下包镜像源 // 查看当前的镜像源 npm config get registry// 切换淘宝镜像源 // 新的淘宝源,旧的淘宝源已于2022年05月31日零时起停止服务 npm config set registry https://registry.…

iOS 17.4 苹果公司正在加倍投入人工智能

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

重学Ajax

摘要:AJAX是一个在前端的应用非常广泛技术,为什么还要谈它呢?么得办法之前学的不全面,再收拾收拾。水平有限,欢迎指正! AJAX(全称:Asynchronous JavaScript and XML)是一…

UPS负载过大有什么危害性

UPS(不间断电源)是一种用于保护电子设备免受电力波动和突然停电影响的设备。然而,如果UPS负载过大,可能会对其性能和寿命产生严重影响。以下是UPS负载过大的一些危害性: 1. 降低UPS效率:当UPS负载过大时&am…

【RT-DETR改进涨点】ResNet18、34、50、101等多个版本移植到ultralytics仓库(RT-DETR官方一比一移植)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文是本专栏的第一篇改进,我将RT-DETR官方版本中的ResNet18、ResNet34、ResNet50、ResNet101移植到ultralytics仓库,网上很多改进机制是将基础版本的也就是2015年发布的ResNet移植到ultralytics仓库中,但是其实…

百度云网盘下载速度如何提升到正常速度

引入问题 我们在下载代码学习资料的时候大多数都是百度云网盘,但是限速!下载的十分的慢,有什么办法能让我们不开通会员就能享受正常速度呢? 当然有! 解决百度云网盘下载速度过慢,提高到正常速度 点击右…

Element ui 的组件弹窗 el-dialog点击的时候全屏变灰问题解决

最近在使用Element UI 的弹窗组件的时候发现这个组件各种的应用都没有问题,数据和元素的应用都是正确的但是在点击显示这个弹窗的时候全屏幕都会变灰。 这也不是因为增加了modal 遮挡幕的问题,在经过不断的排查代码的时候基本排除了代码的问题&#xf…

算法笔记:地理探测器

1 空间分层异质性(spatial stratified heterogeneity) 空间分层异质性(空间分异性/区异性):层内方差小于层间方差的地理现象例如气 候带、土地利用图、地貌图、生物区系、区际经济差异、城乡差异以及主体功能区等 等[…

mybatis 实现查询默认添加分页

前言 分页查询在日常开发中无法避免,但每次sql编写时,mybatis 中使用limit,oracle中使用rownum分页,业务场景少的情况下,可以接受.但是随着业务增加每次相同的功能做重复开发又不是那么方便,那么我们有什么方案去解决开发中出现的分页问题呢? 一、PageHelper 框架分页 首先我…

温酒读Qt:QObject中篇2 ——欲遮还羞的 QObjectPrivate

《妙法莲华经》曰:“佛道长远,久受勤苦,乃可得成。” 世事修炼,莫不如是,日拱一卒无有尽,功不唐捐终入海。 传送门: 《温酒读Qt:QObject 序篇》 《温酒读Qt:QObject中篇1—— Q_OBJ…

前端框架---Vue2学习教程(上)

从HTML到现在一路跟过来的小伙伴们,坚持固然不容易,但我相信大家已经学到了不少,那么我们开始马不停蹄的进入前端的框架吧,下面讲的是Vue2,大家继续加油鸭!!!! Vue2 Vu…

装机打不开BIOS怎么办?如何进入Windows10的BIOS页面,如何关闭快速启动

电脑有快速启动,想进去BIOS页面非常困难,在临开机的页面,按触发按键不管用。 然后我看到了一种新的进入BIOS的方式: (1)win8以上的系统,按住shift,然后鼠标点击重启,再…

蓝桥杯2024/1/26笔记-----基于PCF8591的电压采集装置

功能实现要求: 每次建好工程文件夹,里边包含User(放工程文件,mian.c,可以在这里写如同我这个文章的文本文档)、Driver(存放底层文件如Led.c,Led.h等) 新建的工程先搭建框…

推荐一款Linux、数据库、Redis、MongoDB统一管理平台!

官方演示 状态查看 ssh 终端 文件操作 数据库操作 sql 编辑器 在线增删改查数据 Redis 操作 Mongo 操作 系统管理 账号管理 角色管理 资源管理 一.安装 1.下载安装包 cd /opt wget https://gitee.com/dromara/mayfly-go/releases/download/v1.7.1/mayfly-go-linux-amd64.zi…

CES 2024:AI赋能机器人,国产机器人更亮眼

原创 | 文 BFT机器人 一年一度的国际消费电子展(CES)又与我们见面了。作为全球消费电子和科技创新的盛会,CES每年都吸引着无数目光。今年,AI赋能机器人成为展会的一大亮点,而国产机器人更是凭借其创新技术和实用功能,成为全场焦点…

使用QT实现播放gstreamer的命令(二)

一、前言 上一篇文章写到了,如何快速使用C来执行gstreamer的命令,如何在QT中显示gstreamer的画面,原文如下: https://blog.csdn.net/Alon1787/article/details/135107958 二、近期的其他发现: 1.gstreamer的画面显示在…

蓝桥杯AT24C02问题记录

问题1:从这个图片上可以看出这两个在IIC的.c文件里延时时间不一样,第一张图使用了15个_nop_(); 12M晶振机器周期是 1/12M*121uS;nop()要延时1个指令周期。延时时间不对会对时序产生影响,时序不对,则AT24C02有没被使用…

关于Spring Boot和MyBatis常见的十道面试题

拦截器和过滤器有什么区别? 拦截器(Interceptor)和过滤器(Filter)都是用于在请求道道目标资源的之前或之后进行处理的组件。主要区别有以下几点: 依赖对象不同:过滤器是来时Servlet&#xff0…

IDEA安装MyBatisX插件

IDEA工具在开发人员中经常使用,从dao层到xml文件对应的查看很费劲,这时候就有相应的插件工具出现了MyBatisX。他的好处如下: mapper and xml can jump back and forth mybatis.xml,mapper.xml prompt mapper and xml support auto prompt lik…