首页 > 其他分享 >虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例

时间:2024-09-13 12:24:39浏览次数:13  
标签:数据恢复 文件 虚拟机 虚拟 vmdk 备份 磁盘 数据库

虚拟化数据恢复环境:

某品牌服务器(部署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卷自由空间中进行碎片匹配和合并来恢复删除的虚拟磁盘文件。但是在上述两种情况之下又新建了一台虚拟机,并且分配了虚拟磁盘。经过分析发现分配的虚拟磁盘已经全部清零(在创建虚拟磁盘的时候会选择创建磁盘的类型),也就是这个新建的虚拟机所占用的磁盘空间全部被清零。 如果新建虚拟磁盘占用了被删除虚拟机磁盘文件所释放的空间,那么此部分空间中的数据将无法恢复。

故障虚拟机的目录项区域:

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_数据恢复

3、方案a:

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

解释完的文件系统:

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_虚拟化数据恢复_02

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

宏桥备份和索菲备份的部分目录结构:

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_虚拟化数据恢复_03

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_虚拟化数据恢复_04

导入.BAK文件报错:

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_虚拟化数据恢复_05

4、方案b:

由于方案a并没有将原始的数据库文件恢复出来,并且好多备份文件都无法正常使用。因此采用方案b来恢复尚未恢复出来的数据库文件。

根据SQL Server数据库的结构去自由空间中找到数据库的开始位置。根据SQLServer数据库结构,数据库的第9个页会记录数据库的数据库名。根据这个特征可以核对此数据库的头部页是否是正在查找的。SQL Server数据库的每个页中都会记录数据库页编号以及文件号。根据SQL Server数据库的上述那些特征,

北亚企安数据恢复工程师编写数据库扫描程序。利用该程序去底层扫描所有符合数据库页的数据碎片,然后将扫描出来的碎片按照顺序重组成一个完整MDF文件。通过MDF校验程序检测MDF文件的完整性。在校验过程中,只有cl_system3.dbf和erp42_jck.dbf因有部分碎片没有找到外,其余数据库文件均校验成功。

校验完的MDF文件:

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_虚拟机数据恢复_06

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

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_服务器数据恢复_07

5、方案c:

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

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_数据恢复_08

由于erp42_jck.dbf文件中只缺失少量的页,因此可以根据缺失的页号在增量备份中查找缺失的页,然后补到erp42_jck.dbf文件中。这样可以恢复一部分丢失的数据库页。虽然补完后还是缺失部分页,但是通过北亚企安自主开发的数据库解析程序将erp42_jck.dbf文件中比较重要的几十张表成功导出,并成功导入到新建的数据库中。

6、验证数据

在本地服务器中搭建和原始环境一样的数据库环境。由用户方通过远程工具连接到验证服务器,并安装上层宏桥应用软件验证数据库是否完整。经过仔细验证,用户确认数据库基本没问题,上层应用可以正常运行,数据记录也基本没有缺失,数据库成功挂载。

虚拟化数据恢复—异常断电导致虚拟机目录项破坏且vmdk文件又被删除的数据恢复案例_虚拟化数据恢复_09

标签:数据恢复,文件,虚拟机,虚拟,vmdk,备份,磁盘,数据库
From: https://blog.51cto.com/sun510/12000162

相关文章

  • JVM-详解Java虚拟机
    jvm概述Java上层技术与jvm的层次关系图Java生态圈Java不是最厉害的语音,但jvm是最强大的虚拟机jvm的位置Java代码执行流程对上图举例jvm的生命周期Sun(被Oracle收购)的HotSpot:第一商用虚拟机JRockit:第二商用IBM的J9:第三特定硬件环境中的虚拟机(即应用场......
  • 【Linux】Linux介绍及CentOS虚拟机环境搭建
    内容大纲介绍文章目录内容大纲介绍1.计算机简介2.Linux系统介绍3.虚拟化软件介绍4.Linux环境搭建5.扩展_虚拟机的快照6.Linux的目录介绍1.计算机简介概述全称叫电子计算机,英文名叫Computer,俗称叫:电脑,简称叫:PC,就是有硬件和软件组成的电子设备.组......
  • VCSA基于ansible批量创建虚拟机
    基于ansible批量创建虚拟机安装模块pipinstall--upgradeansiblepipinstallPyVmomiansible-galaxycollectioninstallcommunity.vmwareansiblevmware_guest如果需要配置IP和计算机名需要安装VMwaretools----hosts:localhost##在本机执行gather_facts:......
  • 监控录像视频数据恢复
    监控录像视频数据的恢复是一个复杂但至关重要的过程,特别是在数据丢失或误删除的情况下。以下是一些恢复监控录像视频数据的方法和步骤:一、检查备份查看备份文件:监控设备通常具备备份功能,这是恢复删除视频的首选方法。如果在删除视频之前有进行备份操作,那么可以直接从备份中恢复数据......
  • 硬盘数据恢复工具,测评八款软件 帮你恢复删除的文件
    在日常使用电脑的时候,很多用户都有过误删除重要文件、硬盘无法访问或是格式化后丢失重要数据的经历。幸运的是,这些重要的数据并非在删除或硬盘格式化后就完全消失不见了,我们借助硬盘数据恢复工具仍然有很大几率恢复丢失的数据。今天会和大家讨论一下硬盘数据恢复工具的工作原理和局......
  • 硬盘数据恢复工具,测评八款软件 帮你恢复删除的文件
    在日常使用电脑的时候,很多用户都有过误删除重要文件、硬盘无法访问或是格式化后丢失重要数据的经历。幸运的是,这些重要的数据并非在删除或硬盘格式化后就完全消失不见了,我们借助硬盘数据恢复工具仍然有很大几率恢复丢失的数据。今天会和大家讨论一下硬盘数据恢复工具的工作原理和局......
  • mysql 5.7 删除ibdata1 、ib_logfile 文件的数据恢复
    简介:本文记录删除ibdata1、ib_logfile文件被意外删除且无法还原或损坏的解决方案,当删除后没有重启mysql可以查询进程号,找到删除的文件可以还原回来。参考其他文章。本文介绍ibdata1、ib_logfile文件无法找到或异常没有备份的情况处理。 新安装一台mysql用作从库......
  • 虚拟机热迁移技术介绍
    本文分享自天翼云开发者社区《虚拟机热迁移技术介绍》,作者:潘****东什么是虚拟机热迁移虚拟机热迁移(VirtualMachineLiveMigration)是一种技术,它允许在不中断虚拟机运行的情况下将虚拟机从一台物理主机迁移到另一台物理主机。传统上,当需要迁移虚拟机时,必须先将虚拟机关机,然后将......
  • windwos上通过qemu直接开启img、qcow2等格式磁盘镜像(无需转vmdk)
    qemuQEMU(QuickEMUlator)是一款开源的虚拟化软件,能够模拟多种硬件平台,并支持多种虚拟化技术,如KVM(Kernel-basedVirtualMachine)加速。QEMU能够在多个操作系统上运行,包括Windows、Linux和macOS。下载QEMU:访问QEMU官方网站或通过包管理器下载适用于Windows的QEMU......
  • 02-虚拟机克隆或复制后eth0不存在,不能上网的解决办法
    1.复制完虚拟机后,要正常上网,首先要重新生成新虚拟机的物理网卡地址,如下图所示,一次点击编辑虚拟机设置(1)-->选择网络适配器(2)-->点击高级选项(3)-->点击生成按钮(4),即可生成新的物理网卡地址,然后复制当前生成的网卡地址,以备后续使用。2.清空/etc/udev/rules.d/70-presistent-net.rule......