服务器数据恢复—异常断电导致ESXi虚拟机无法启动的数据恢复案例

服务器数据恢复环境:
某大厂PS4000服务器,服务器上部署VMware ESXi虚拟化平台。

服务器故障:
机房断电,重启后服务器中的某台虚拟机不能正常启动。管理员查看虚拟机配置文件,发现无法启动的虚拟机的配置文件除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还存在。联系VMware原厂工程师进行诊断,VMware原厂工程师尝试新建一个虚拟机,但发现存储空间不足,于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除了。VMware工程师重新建了一个虚拟机,分配了固定大小的虚拟磁盘,为虚拟机安装了Windows Server操作系统,部署SQL Server数据库(作为宏桥和索菲两套应用的数据库),虚拟机磁盘包括:数据盘(精简模式)+快照数据盘。

服务器数据恢复过程:
1、在VMware vSphere Client上将挂载的存储设备中的VMFS卷以正常方式卸载掉。然后将存储上的VMFS卷通过网线的方式连接到北亚企安备份服务器上,将整个VMFS卷以扇区的方式镜像到备份空间上。之后的数据分析和数据恢复操作均在备份的数据上进行,避免对原始数据造成二次破坏。
2、基于备份文件分析VMFS卷的底层数据,服务器非正常断电导致故障虚拟机目录下的目录项破坏,这种破坏只是破坏了文件的目录项,不会影响虚拟机的重要数据,可以通过人工修复解决。
如果人为删除某个文件的话,则目录项对应的数据区索引会被清掉,也不会影响删除文件的实际数据,这种情况可根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷自由空间中进行碎片匹配和合并,最终恢复删除的虚拟磁盘文件。
但是在上述的两种情况之下又新建了一台虚拟机,并且分配了虚拟磁盘。经过分析发现分配的虚拟磁盘所使用的空间已经全部清零了,也是说这个新建的虚拟机所占用的磁盘空间全部被清零。 如果新分配的虚拟磁盘占用了删除虚拟机磁盘文件所释放的空间,那么这部分空间的数据是无法恢复的。
故障虚拟机的目录项区域:

3、方案A:根据VMFS卷的结构以及删除虚拟磁盘的文件系统信息,在底层的自由空间中扫描符合删除虚拟机磁盘的区域,:统计其数量和大小是否符合删除虚拟磁盘的大小。根据虚拟磁盘中文件系统的信息将这些扫描到的碎片进行排列组合,结果发现很多碎片缺失。重新扫描也没有找到这些碎片。将扫描到的碎片按照虚拟磁盘原本的顺序重组,暂且留空没有找到的碎片。利用虚拟磁盘快照程序将重组好的父盘和快照盘进行合并生成一个新的虚拟磁盘。再用北亚企安自主开发的程序解释虚拟磁盘中的文件系统,因为存在数据缺失的情况,文件系统解释过程中有很多报错,提示某些文件损坏。
解释完的文件系统:

文件系统解析完成后,没有找到原始的数据库文件。虽然宏桥备份和索菲备份这两个目录的目录结构正常,但是在尝试将备份导入数据库中时,数据库导入程序报错。
宏桥备份和索菲备份的部分目录结构:


导入.BAK文件报错信息:

4、方案B:由于实施方案一并没有将原始的数据库文件成功恢复,而且很多备份文件都无法正常使用。北亚企安数据恢复工程师只能采用方案B来恢复方案A中尚未恢复的数据库文件。
根据SQLServer数据库的结构去自由空间中找到数据库的开始位置。SQLServer数据库的第9个页会记录本数据库的数据库名,根据这个特征核对此数据库的头部页是否是正在查找的。SQLServer数据库的每个页中都会记录数据库页编号以及文件号,北亚企安数据恢复工程师根据这个特征编写数据库扫描程序,去底层扫描所有符合数据库页的数据碎片。按顺序将扫描出来的碎片重组成一个完整MDF文件,通过MDF校验程序检测整个MDF文件的完整性。在整个校验过程中,只有cl_system3.dbf和erp42_jck.dbf这2个文件由于有部分碎片没有找到所以校验不通过之外,其余数据库文件均校验成功。
校验完的MDF文件:

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

5、方案B:方案A和方案B的实施并没有将所有的数据库文件全部恢复出来。cl_system3.dbf和erp42_jck.dbf这2个文件因缺失部分页导致其无法正常使用,可以尝试通过备份来恢复这两个数据库文件,但是在检查后发现cl_system3.dbf没有备份,而erp42_jck.dbf只有最近一个月的全部增量备份。

由于erp42_jck.dbf文件中只缺失少量的页,因此可以根据缺失的页号在增量备份中查找页,然后补到erp42_jck.dbf文件中,通过这个方法可以恢复一部分丢失的数据库页。虽然补完后erp42_jck.dbf文件还是缺失部分页,无法正常使用,但是通过北亚企安自主开发的数据库解析程序,数据恢复工程师将erp42_jck.dbf文件中比较重要的几十张表成功导出,并成功导入到新建的数据库中。
6、在本地服务器中搭建和原始环境一样的数据库环境,用户通过远程工具连接到验证服务器,安装宏桥应用软件,由用户方工程验证数据库的完整性。经过用户方工程师的仔细验证,数据库可以成功挂载,上层应用可以正常运行,数据记录基本没有缺失。用户方认可数据恢复结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/663564.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vivado原语使用

首先介绍一下原语:其英文名字为Primitive。原语是Xilinx针对其器件特征开发的一系列常用模块的名字,用户可以将其看成Xilinx公司为用户提供的ip,是芯片中的基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT&#xff0…

freertos初体验 - 在stm32上移植

1. 说明 freertos内核 非常精简,代码量也很少,官方也针对主流的编译器和内核准备好了移植文件,所以 freertos 的移植是非常简单的,很多工具(例如CubeMX)点点鼠标就可以生成一个 freertos 的工程&#xff0…

【Qt知识】Qt中的对象树是什么?

在深入Qt编程的世界时,你会频繁遇到一个核心概念——对象树(Object Tree)。这个概念是Qt框架管理内存、处理事件和组织用户界面元素的基础。 什么是Qt对象树? 如果你的Qt应用程序就像一片茂盛的森林,而这片森林中的每…

【linux深入剖析】进程间通信

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1.进程间通信目的2. 什么…

大语言模型应用与传统程序的不同

大语言模型(LLM) 被描述的神乎其神,无所不能,其实,大语言模型只是一个模型,它能够理解和生成自然语言,唯有依靠应用程序才能够发挥作用。例如,基于大模型可以构建一个最简单的会话机…

搜狐视频专访神工坊创始人任虎:以先进计算技术为引擎,引领新一代CAE革新之路

搜狐视频采访 神工坊(无锡)数字技术有限公司,源自国家超级计算无锡中心(始于2016年),于2022年8月在无锡成立,是一家以高性能计算等先进计算技术推动新一代CAE技术革新的公司。 在全国科技工作者…

[Algorithm][动态规划][子序列问题][最长递增子序列][摆动序列]详细讲解

目录 0.子序列 vs 子数组1.最长递增子序列1.题目链接2.算法原理详解3.代码实现 2.摆动序列1.题目链接2.题目链接3.代码实现 0.子序列 vs 子数组 子序列: 相对顺序是跟源字符串/数组是一致的但是元素和元素之间,在源字符串/数组中可以是不连续的一般时间…

python绘制piper三线图

piper三线图 Piper三线图是一种常用于水化学分析的图表,它能够帮助我们理解和比较水样的化学成分。该图表由三个部分组成:两个三角形和一个菱形。两个三角形分别用于显示阳离子和阴离子的相对比例,而菱形部分则综合显示了这些离子比例在水样…

蓝屏,联想持续很久停留在正在准备windows请勿关闭计算机怎么办?解决方案如下。

联想小新,连续出现两次间隔一年半遇上上述问题,按电源键后也会出现下述情况,遇到问题不要着急,偶尔电脑也会生个小病什么的。 附上最后的解决办法:两次都成功┗|`O′|┛ 嗷~~ 按上述步骤执行后重启计算机等…

Buffer Pool运行机制理解

Buffer Pool机制理解 一、为什么使用Buffer Pool? 众所周知,磁盘数据是以数据页的形式来去读取的,一个数据页默认大小 16K,也就是说你本意只想读取一行数据,但是它会给你加载一页的数据到buffer pool里面。这样的话就…

高等教育的AI革新:OpenAI面向大学推出ChatGPT Edu

OpenAI推出了ChatGPT Edu,这是一个为大学设计的专用版本,旨在让学生、教职员工、研究人员和校园运营能够负责任地使用AI。 ChatGPT Edu 将AI技术引入了教育领域,其建立在GPT-4o的基础上,它不仅能够处理文本和图像,还…

xss漏洞学习(题解)

1.简单知识点回顾 XSS允许恶意web用户将代码植入到提供给其它用户使用的页面中。 特点:能注入恶意的HTML/JavaScript代码到用户浏览器网址上,从而劫持会话 类型: DOM型:属于反射型的一种,利用非法输入来闭合对应的h…

【源码+文档+调试讲解】火车票订票系统设计与实现

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装火车票订票系统软件来发挥其高效地信息处理的作用&#xff…

车灯罩外壳破裂破损掉角等修复,修复后合面合壳密封用泰达克车灯无痕修复UV胶车灯合面密封UV胶。

一:专用车灯无痕修复UV胶 车灯无痕修复专用胶主要成份是改性丙烯酸UV树脂,主要应用在车灯的专业无痕修复领域。 具有如下特点: 固化时间快,通过紫外光照射5-15秒固化。 高度透明,固化后透光率高,折射率接…

佳能R6M2断电覆盖的恢复方法

佳能R6是佳能R系列中的一款高端机,最近两年佳能和索尼不断斗法,都号称自己的新机型能达到影视级,不过目前看貌似索尼更胜一筹。下边这个案例是文件拍摄时断电,结果变成0字节,然后覆盖了部分数据。 故障存储:128G存储卡…

新加坡裸机云站群服务器稳定性怎么样

新加坡裸机云站群服务器的稳定性在云计算领域备受关注,这得益于其卓越的硬件配置、先进的数据中心设计、优质的网络连接以及严格的管理措施。以下是对新加坡裸机云站群服务器稳定性的详细科普: 一、硬件与配置 新加坡裸机云站群服务器通常采用高性能的物…

12V升20V3.5A升压恒压WT3207

12V升20V3.5A升压恒压WT3207 WT3207是一款高效PWM升压控制器,采用SO-8封装设计,专为低输入电压应用优化。该控制器支持5V至36V的宽输入电压范围,使其能够有效提升12V、15V和19V系统的电压水平,特别适合于两节或三节锂离子电池供电…

SpringBoot:基于SpringBoot实现多数据源动态切换

一、前言 Spring Boot 多数据源,也称为动态数据源,是指在Spring Boot项目中配置多个数据源,以支持不同的数据库访问需求。这种配置方式在项目开发逐渐扩大、单个数据源无法满足项目支撑需求时变得尤为重要。 二、目的 配置多数据源的主要目…

FinRobot:一个由大型语言模型(LLM)支持的新型开源AI Agent平台,支持多个金融专业AI Agent

财务分析一直是解读市场趋势、预测经济结果和提供投资策略的关键。这一领域传统上依赖数据,但随着时间的推移,越来越多地使用人工智能(AI)和算法方法来处理日益增长的复杂数据。AI在金融领域的作用显著增强,它自动化了…

vm:为虚拟机配置多个虚拟网卡(ubuntu20.04)

前言: 环境:虚拟机 ubuntu 20.04 要求:如标题,但是这里针对的是 ubuntu 20.04,对于其他操作系统,可以找一下其他操作系统对应的配置文件是什么 vm 添加虚拟网卡 首先进入 vm: 点击设置&#xf…