0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【服务器数据恢复】ESXi虚拟磁盘文件被误删除的数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2023-05-25 16:19 次阅读

服务器数据恢复环境:

IBM X系列服务器+柏科某型号存储。服务器上部署VMware ESXi虚拟主机,存储上存放虚拟机文件。

虚拟主机采用的Windows Server操作系统,部署宏桥和索菲2套应用,数据库是SQL Server。

虚拟磁盘:数据盘(精简模式)+ 快照数据盘。

服务器故障:

机房异常断电导致服务器上某台虚拟机无法正常启动。管理员查看虚拟机配置文件,发现此虚拟机的配置文件除了磁盘文件外其他的配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。联系VMware原厂工程师,VMware工程师需要新建一个虚拟机来解决故障问题,但发现ESXi存储空间不足。于是管理员将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后VMware工程师重建了一个虚拟机并且分配了固定大小的虚拟磁盘。

服务器数据恢复过程:

1、在VMware vSphere Client上将挂载的存储设备中的VMFS卷卸载。然后将存储上的VMFS卷通过网线连接到北亚企安备份服务器上,使用工具将整个VMFS卷以扇区的方式镜像到备份空间上。后续的数据分析和数据恢复操作均基于镜像文件进行,避免对原始数据造成二次破坏。

2、基于镜像文件分析VMFS卷的底层,发现异常断电导致故障虚拟机目录下的目录项被破坏,但是不影响虚拟机的重要数据,可以通过人工进行修复。

如果人为删除某个文件,目录项对应的数据区索引也会被同时清掉,但是不会影响删除文件的实际数据。可以根据被删除的虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷自由空间中进行碎片的匹配和合并这种方式来恢复删除的虚拟磁盘文件。

但是本案例是在上述的两个问题同时发生的情况下又新建一台虚拟机并且分配了虚拟磁盘。

经过分析发现新分配的虚拟磁盘已经全部清零了(在创建虚拟磁盘的时候会选择创建磁盘的类型),这个新建的虚拟机所占用的磁盘空间全部被清零。如果新分配的虚拟磁盘占用了删除虚拟机磁盘所释放的空间,那么此部分空间的数据是无法恢复的。

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

pYYBAGRvGYiADFTzAAU7mrFVkPI702.png

北亚企安数据恢复——ESXi虚拟机数据恢复

3、经过北亚企安数据恢复工程师团队的会诊,最终确认服务器数据恢复方案:

方案a、恢复删除的VMDK文件。根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷的自由空间中进行碎片匹配和合并,恢复删除的虚拟磁盘文件。将快照文件和恢复的虚拟磁盘文件合并成一个完整的虚拟磁盘文件,然后利用文件系统解释工具解释虚拟磁盘文件中的所有文件。

方案b、恢复MSSQL数据库文件。如果方案a实施效果不理想,可以根据SQL Server数据库文件结构对VMFS卷自由空间中符合SQL Server页结构的数据区域进行统计、分析和聚合,生成一个可以正常使用的.MDF格式的文件。

方案c、恢复MSSQL数据库备份文件。由于数据库每天都在做备份。如果上述2种方案实施过后还有一些数据库没有恢复出来,就只能使用备份文件来恢复数据库了。根据掌握的备份文件.bak的结构,对VMFS卷自由空间中符合SQL Server备份文件结构的数据区域进行统计、分析和聚合,生成一个可以正常导入到SQL Server数据库中.BAK格式的文件。

4、服务器数据恢复实施过程:

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

poYBAGRvGZuAXXQdAAMzlZTDwR0299.png

北亚企安数据恢复——ESXi虚拟机数据恢复

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

poYBAGRvGaSASHrkAARkGVosG1U875.png

北亚企安数据恢复——ESXi虚拟机数据恢复

poYBAGRvGaSAQOMLAAPi37rBL8M593.png

北亚企安数据恢复——ESXi虚拟机数据恢复

导入.BAK文件报错信息:

pYYBAGRvGa-ATQB6AATuiOew6nI559.png

北亚企安数据恢复——ESXi虚拟机数据恢复

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

根据SQL Server数据库的结构去自由空间中找到数据库的开始位置。根据SQL Server数据库的结构特征,数据库的第9个页会记录本数据库的数据库名。根据这个特征核对该数据库的头部页是否是正在查找的。SQL Server数据库的每个页都会记录数据库页编号和文件号,根据这些特征北亚企安数据恢复工程师编写数据

库扫描程序在底层扫描所有符合数据库页的数据碎片。将扫描出来的碎片按顺序重组成一个完整MDF文件,通过MDF校验程序检测整个MDF文件的完整性。校检完成后发现只有cl_system3.dbf和erp42_jck.dbf这2个文件没有找到外,其余数据库均校验成功。

poYBAGRvGbmAXZVNAAPVrJ62ZXk522.png

北亚企安数据恢复——ESXi虚拟机数据恢复

cl_system3.dbf和erp42_jck.dbf因为底层有很多碎片没有找到(可能被覆盖),因此校验不通过。

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

poYBAGRvGeyAEhDCAAU_6gfOoDo471.png

北亚企安数据恢复——ESXi虚拟机数据恢复

方案c实施过程:

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

pYYBAGRvGfSAAvmBAAT-cUIuEL0728.png

北亚企安数据恢复——ESXi虚拟机数据恢复

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

验证数据:

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

数据库成功挂载:

pYYBAGRvGfuAO5GzAAMeuhuIgkY331.png

北亚企安数据恢复——ESXi虚拟机数据恢复

服务器数据恢复总结:

本案例先是断电导致服务器中部分文件丢失;然后人为删掉部分数据,又重新写入部分数据,导致部分数据被覆盖;又因为数据库备份机制导致部分数据库的备份不可用;所以本案例恢复难度系数很高。因为北亚企安数据恢复工程师团队对SQL Server数据库底层结构有深入的研究,并且有处理类似故障类型的经验,

所以才能顺利恢复出用户需要的数据。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据恢复
    +关注

    关注

    10

    文章

    533

    浏览量

    17332
  • 磁盘
    +关注

    关注

    1

    文章

    358

    浏览量

    25151
  • 虚拟机
    +关注

    关注

    1

    文章

    902

    浏览量

    27991
收藏 人收藏

    评论

    相关推荐

    服务器数据恢复—EXT3文件系统下误删除数据恢复案例

    服务器数据恢复环境: 邮件服务器中有一组由8块盘组成的RAID5阵列, 上层是Linux操作系统+EXT3文件系统。
    的头像 发表于 10-23 15:11 99次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—EXT3<b class='flag-5'>文件</b>系统下<b class='flag-5'>误删除数据</b>的<b class='flag-5'>恢复</b>案例

    服务器数据恢复—意外断电导致虚拟虚拟磁盘损坏的数据恢复案例

    服务器数据恢复环境: 一台服务器中有一组由4块STAT硬盘通过RAID卡组建的RAID10阵列,上层是XenServer虚拟化平台,
    的头像 发表于 09-10 17:25 232次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—意外断电导致<b class='flag-5'>虚拟</b>机<b class='flag-5'>虚拟</b><b class='flag-5'>磁盘</b>损坏的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    NetApp数据恢复—NetApp存储误删除数据恢复案例

    某公司一台NetApp存储,该存储中有24块磁盘。 工作人员误删除了NetApp存储中一个文件夹,文件夹中有非常重要的数据
    的头像 发表于 08-12 13:35 199次阅读
    NetApp<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—NetApp存储<b class='flag-5'>误删除</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    虚拟数据恢复—KVM虚拟误删除数据恢复案例

    虚拟数据恢复环境: Linux操作系统服务器,EXT4文件系统。服务器中有数台KVM
    的头像 发表于 08-07 13:33 324次阅读
    <b class='flag-5'>虚拟</b>机<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—KVM<b class='flag-5'>虚拟</b>机<b class='flag-5'>被</b><b class='flag-5'>误删除</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复—Oracle删除数据不用怕!这些数据恢复方法了解一下

    相信有很多oracle数据库用户都遇到过在操作Oracle数据库时误删除某些重要数据的情况,这个时候如果数据库没有备份且
    的头像 发表于 07-19 16:40 421次阅读

    服务器数据恢复—异常断电导致虚拟机配置文件丢失的数据恢复案例

    服务器数据恢复环境: 某品牌X3850系列服务器(用于VMware虚拟主机)+某品牌RD220i系列存储(用于存放
    的头像 发表于 06-28 16:34 272次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—异常断电导致<b class='flag-5'>虚拟</b>机配置<b class='flag-5'>文件</b>丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复误删除KVM虚拟机的数据恢复案例

    1台服务器,Linux操作系统+EXT4文件系统,部署了数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘
    的头像 发表于 06-17 15:10 292次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>误删除</b>KVM<b class='flag-5'>虚拟</b>机的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—EMC Isilon存储中虚拟数据恢复案例

    、AS、TS类型的视频文件等。需要恢复数据虚拟机通过NFS协议共享到ESX主机,视频文件通过CIFS协议共享给虚拟机(WEB
    的头像 发表于 06-13 13:38 319次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—EMC Isilon存储中<b class='flag-5'>虚拟</b>机<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—KVM虚拟机raw格式磁盘文件数据恢复案例

    : 工作人员操作失误删除服务器上的3台KVM虚拟机,虚拟机中运行数据库,需恢复
    的头像 发表于 05-17 13:33 382次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—KVM<b class='flag-5'>虚拟</b>机raw格式<b class='flag-5'>磁盘</b><b class='flag-5'>文件数据</b><b class='flag-5'>恢复</b>案例

    虚拟数据恢复—EXT4文件系统下KVM虚拟数据恢复案例

    文件和一个raw格式的磁盘文件,用户需要恢复数据是raw格式的磁盘
    的头像 发表于 04-17 14:22 321次阅读
    <b class='flag-5'>虚拟</b>机<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—EXT4<b class='flag-5'>文件</b>系统下KVM<b class='flag-5'>虚拟</b>机<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—分享几个服务器数据恢复的案例

    服务器数据恢复案例之服务器raid6中3个磁盘离线导致阵列崩溃的数据
    的头像 发表于 03-04 13:21 1018次阅读

    服务器数据恢复-异常断电导致服务器故障的数据恢复案例

    服务器数据恢复环境: dell某型号服务器中有一组通过raid卡组建的raid10,该raid阵列中一共有4块磁盘。上层部署XenServ
    的头像 发表于 02-28 15:15 765次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>-异常断电导致<b class='flag-5'>服务器</b>故障的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复】UFS2文件系统数据恢复案例

    服务器数据恢复环境: 一台服务器虚拟化系统为esxi,上层使用iSCSI的方式实现FC SA
    的头像 发表于 01-09 14:53 762次阅读

    分布式数据恢复-hbase+hive分布式存储误删除文件数据恢复方案

    仓库。 hbase+hive分布式存储故障&初检: 数据库文件误删除数据库无法使用。 通过现场对该分布式环境的初步检测,发现虚拟
    的头像 发表于 11-24 15:55 386次阅读

    服务器数据恢复—VMware虚拟化下重装系统导致服务器崩溃的数据恢复案例

    VMware虚拟化,vmfs文件系统,共3块磁盘。工作人员误操作将VMware虚拟化重装系统,服务器崩溃。 正常情况下,重装系统会导致
    的头像 发表于 11-15 15:08 420次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—VMware<b class='flag-5'>虚拟</b>化下重装系统导致<b class='flag-5'>服务器</b>崩溃的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例