虚拟化数据恢复—断电导致虚拟机目录项被破坏的数据恢复案例

news2025/1/11 4:19:19

虚拟化数据恢复环境:
某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。

虚拟化故障:
意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。新建虚拟机安装Windows Server操作系统,部署SQL Server数据库环境(管理宏桥和索菲两套应用数据库)。

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

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

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

导入.BAK文件报错:

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

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

5、方案c:
上述两个方案实施完后并没有将所有的数据库文件恢复出来。cl_system3.dbf和erp42_jck.dbf这2个文件因缺失部分页导致无法正常使用,因此需要采用备份来恢复这两个数据库文件。在检查完这两个文件的备份后发现cl_system3.dbf的全部备份因备份机制故障没有备出来,而erp42_jck.dbf只有增量备份。

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

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

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

相关文章

视频监控平台是如何运作的?EasyCVR视频汇聚平台的高效策略与实践

随着科技的飞速发展,视频监控平台在社会安全、企业管理、智慧城市构建等领域发挥着越来越重要的作用。一个高效的视频监控平台,不仅依赖于先进的硬件设备,更离不开强大的视频处理技术作为支撑。这些平台集成了多种先进的视频技术,…

长短期记忆网络和UKF的结合|Python代码例程

结合长短期记忆网络(LSTM)和无迹卡尔曼滤波器(UKF)的技术在机器人导航和状态估计中具有广泛的应用前景。 文章目录 结合LSTM和UKF的背景结合LSTM和UKF的优势应用实例研究现状Python代码示例结合LSTM和UKF的背景 长短期记忆网络(LSTM)是一种特殊的递归神经网络(RNN),…

51单片机-IIC实验1-AT24C02数据存储(实战1)

本实验主要是针对IIC的具体案例进行实战,主要利用支持IIC通信的芯片AT24C02进行与51单片机构成通信。51(AT89C52)本身不带有IIC通信,所以,我们需要给51写一个IIC时序,以便与支持IIC协议的AT24C02数据存储芯…

逆向学习系列(三)Charles配合Drony的使用(真机)

在抓包中,有时可能出现无法抓包的情况,这时,可以尝试使用Drony转发抓包。 一、安装Drony 将电脑上的Drony_1.3.154_APKPure.apk复制粘贴进真机的Download文件夹中。在真机上找到这个apk,点击安装。 二、在VMOS中安装Drony 在真…

【Petri网导论学习笔记】Petri网导论入门学习(四)

Petri网导论入门学习(四) Petri 网导论学习笔记(4)1.2 标识网与网系统定义 1.8定义 1.9例 1.4存在空标识网的几种情况1.2 小结1.2学习完应达到的要求 Petri 网导论学习笔记(4) 如需学习转载请注明原作者并附…

55页可编辑PPT | 集团制造企业数字化转型顶层设计方案

这份PPT文档是一份关于集团制造企业数字化转型的顶层业务设计方案。文档详细介绍了企业在后ERP时代面临的挑战,以及如何通过Oracle解决方案来实现数字化转型。 数字化转型的三大要点集中在满足利益相关者的期望,以企业价值为核心引领业务模式的创新&…

DHCP协议原理大全与全局地址、接口地址池、中继代理三种方式配置

DHCP协议原理与配置 1.DHCP动态主机配置协议 原理:通过配置DHCP服务器给主机自动分配IP地址; 优点;1)可以动态学习或者获取IP地址及网络参数; 2)减少人工配置数量 3)减少ip抵制冲突; 4)采用客户端/服务器通信模式,报文基于UDP,服务器端端口号67。客户端端口号68…

AS608指纹识别模块(上位机操作)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.工作原理:模块指令格式 4.工作原理:模块应答格式 5.工作原理步骤 三、程序设计 四、实验效果 五、资料获取 项目分享 一、介绍 AS608模块采用了国内著名指纹识别芯片公司杭州晟元芯片技…

灵活连接,无限可能—探索EtherCAT的拓扑艺术

EtherCAT技术具备快速响应和高效率的特点,在工业自动化领域显得至关重要,其灵活的拓扑结构是其核心优势,支持多样化的网络布局,无需交换机或集线器,简化布线,降低成本,提高系统可靠性和灵活性。…

【AI大模型】ChatGPT模型原理介绍(上)

目录 🍔 什么是ChatGPT? 🍔 GPT-1介绍 2.1 GPT-1模型架构 2.2 GPT-1训练过程 2.2.1 无监督的预训练语言模型 2.2.2 有监督的下游任务fine-tunning 2.2.3 整体训练过程架构图 2.3 GPT-1数据集 2.4 GPT-1模型的特点 2.5 GPT-1模型总结…

2024年PMP我可以自学通过考试吗?

作为PMP考试的老考生,我想提醒一下,PMP考试费用很高,初次考试费用为3900元(重考费用为2500元)。如果你想自学PMP,一定要三思而后行。首先要问问自己是否符合以下几种情况: 1. 有相关的工作经验…

软考中级哪个科目比较简单,只为拿证?

软考不仅仅是为了拿证,选考科目也很重要。我建议你考虑软考中级的系统集成项目管理工程师。这个职称是由国家人力资源和社会保障部、工业和信息化部领导进行的国家级考试,通过考试后可以获得相应的证书。 1、通过率高 系统集成项目管理工程师属于中级职…

JDBC笔记

文章目录 准备MySQL数据的建立和建表 idea 建工程和模块设置属性配置文件编写JDBC代码URL的设置JDBC 代码配置文件 准备MySQL 数据的建立和建表 idea 建工程和模块 设置属性配置文件 编写JDBC代码 URL的设置 JDBC 代码 package com.yanyu;import java.sql.*; import java.util…

喜报 | 博睿数据荣获“绿色领导力董秘标杆之星”、“信息技术服务创新标杆之星”

9月12日,2024年中国国际服务贸易交易会在北京国家会议中心和首钢园区拉开序幕。作为服贸会的重要组成部分,9月12日下午,经济观察报经观传媒联合北京国际经济管理技术促进会、中国国际经济合作学会对外交流合作委员会在国家会议中心举办了“20…

YOLOv8改进 | 模块缝合 | C2f 融合RFAConv和CBAM注意力机制 【二次融合 小白必备】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效…

【数据结构-一维差分】力扣1854. 人口最多的年份

给你一个二维整数数组 logs ,其中每个 logs[i] [birthi, deathi] 表示第 i 个人的出生和死亡年份。 年份 x 的 人口 定义为这一年期间活着的人的数目。第 i 个人被计入年份 x 的人口需要满足:x 在闭区间 [birthi, deathi - 1] 内。注意,人不…

谷歌谈流量波动不必担心的情况

谷歌最近是否提高了“品牌”的可见度? 每一个咨询方案的演示文稿中都有一个“打造强势品牌”的章节。我们都知道,“品牌”对SEO来说很重要。 我们都听过埃里克施密特的一句话:“品牌是解决方案,而不是问题。品牌是帮助你整理这个…

ubuntu 22.04 编译安装新内核

1、普通用户登录系统 查看当前内核版本 $ uname -r 5.15.0-118-generic 2、下载内核源码 www.kernel.org 用户home目录新建子目录linux,下载并解压 linux-5.15.165.tar.xz 3、创建起始的配置文件.config Configuration targets (见linux kernel i…

多模态大模型LLM与AIGC前沿技术实战,基于训练数据和生成算法模型

多模态大模型LLM与AIGC前沿技术实战,基于训练数据和生成算法模型 AI领域,多模态大模型LLM(如M6、DALL-E)与AIGC(Artificial Intelligence for Generative Content)的融合,正在重新定义内容创造的…

机器学习:对数据进行降维(PCA和SVD)

目录 前言 一、PCA 1.PCA是什么? 2.PCA的实现使用步骤 3.PCA参数解释 4.代码实现 5.PCA的优缺点 二、SVD 1.SVD是什么? 2.SVD的实现步骤 3.代码实现 总结 前言 数据降维是将高维数据转换为较低维度的过程,同时尽量保留数据中的关…