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

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

3天内不再提示

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

Frombyte 来源:Frombyte 作者:Frombyte 2024-06-28 16:34 次阅读

服务器数据恢复环境:
品牌X3850系列服务器(用于VMware虚拟主机)+某品牌RD220i系列存储(用于存放虚拟机文件)+VMware ESXi虚拟化操作系统
虚拟机操作系统:Windows Server,虚拟机上运行SQL Server数据库(宏桥和索菲两套应用的数据库)。
虚拟磁盘:数据盘(精简模式)+ 快照数据盘。

服务器故障:
意外断电导致某台虚拟机无法正常启动。管理员检查后发现此虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机,但发现ESXi存储空间不足,于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除了。VMware工程师重建了一个虚拟机,并且分配了固定大小的虚拟磁盘。

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

pYYBAGRvGYiADFTzAAU7mrFVkPI702.png

北亚企安数据恢复——虚拟化数据恢复



3、经过北亚企安数据恢复工程师团队会诊后,确定以下三套数据恢复方案。
a、方案一:恢复删除的VMDK文件。
根据删除虚拟磁盘文件中的文件系统以及文件类型在VMFS卷的自由空间中匹配和合并碎片,恢复删除的虚拟磁盘文件。使用快照合并程序将快照文件和恢复的虚拟磁盘文件合并成一个完整的虚拟磁盘文件,然后通过文件系统解释工具解释虚拟磁盘文件中的所有文件。
b、方案二:恢复MSSQL数据库文件。
如果方案一效果不理想,可根据SQL Server数据库文件结构,对VMFS卷自由空间中符合SQL Server页结构的数据区域进行统计、分析和聚合,生成一个可以正常使用的.MDF格式的文件。
c、方案三:恢复MSSQL数据库备份文件。
如果上述两种方案执行后还有一些数据库文件无法恢复的话,可以通过备份文件(故障虚拟机中的数据库每天做一次增量备份,15天做一次全部备份。)恢复数据库。根据备份文件.bak的结构,对VMFS卷自由空间中符合SQL Server备份文件结构的数据区域进行统计、分析和聚合,生成一个可以正常导入到SQL Server数据库中.BAK格式的文件。
4、执行方案一。基于镜像文件分析底层,根据VMFS卷的结构以及删除虚拟磁盘的文件系统信息,在底层的自由空间中扫描符合删除虚拟机磁盘的区域,统计其数量和大小是否符合删除虚拟磁盘的大小。根据虚拟磁盘中的文件系统信息将这些扫描到的碎片进行排列组合,结果发现中间有好多碎片缺失,重新扫描还是没有找到这些缺失的碎片。将扫描到的碎片按照虚拟磁盘原本顺序重组,暂且留空没有找到的碎片。使用虚拟磁盘快照程序合并重组好的父盘和快照盘,生成一个新的虚拟磁盘。解释虚拟磁盘中的文件系统,因为很多数据缺失,文件系统解释过程中出现很多报错,提示某些文件损坏。

poYBAGRvGZuAXXQdAAMzlZTDwR0299.png

北亚企安数据恢复——虚拟化数据恢复



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

poYBAGRvGaSASHrkAARkGVosG1U875.png

北亚企安数据恢复——虚拟化数据恢复

poYBAGRvGaSAQOMLAAPi37rBL8M593.png

北亚企安数据恢复——虚拟化数据恢复



导入.BAK文件报错信息:

pYYBAGRvGa-ATQB6AATuiOew6nI559.png

北亚企安数据恢复——虚拟化数据恢复



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

poYBAGRvGbmAXZVNAAPVrJ62ZXk522.png

北亚企安数据恢复——虚拟化数据恢复



cl_system3.dbf和erp42_jck.dbf因底层有很多碎片缺失找不到(初步怀疑被覆盖),因此校验不通过。
cl_system3.dbf文件中某个碎片丢失的区域:

poYBAGRvGeyAEhDCAAU_6gfOoDo471.png

北亚企安数据恢复——虚拟化数据恢复



3、执行方案三。
由于前两个方案执行后并没有将所有的数据库文件全部恢复出来。cl_system3.dbf和erp42_jck.dbf这2个文件因缺失部分页导致其无法正常使用,因此需要采用备份来恢复这两个数据库文件,但是检查完这两个文件的备份后发现cl_system3.dbf因备份机制故障没有备份出来,erp42_jck.dbf没有全部备份,只有增量备份。

pYYBAGRvGfSAAvmBAAT-cUIuEL0728.png

北亚企安数据恢复——虚拟化数据恢复



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

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

pYYBAGRvGfuAO5GzAAMeuhuIgkY331.png

北亚企安数据恢复——虚拟化数据恢复


审核编辑 黄宇

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

    关注

    12

    文章

    9157

    浏览量

    85411
  • 数据恢复
    +关注

    关注

    10

    文章

    572

    浏览量

    17450
  • 数据库
    +关注

    关注

    7

    文章

    3799

    浏览量

    64381
收藏 人收藏

    评论

    相关推荐

    服务器数据恢复异常断电导致linux系统无法启动的数据恢复案例

    服务器数据恢复环境: 某品牌服务器+同品牌存储,Linux centos7+EXT4文件系统。
    的头像 发表于 10-25 17:42 320次阅读

    虚拟数据恢复——Hyper-V虚拟机数据恢复案例

    虚拟数据恢复环境: Windows Server操作系统服务器上部署Hyper-V虚拟机环境。虚拟机
    的头像 发表于 10-25 09:26 195次阅读
    <b class='flag-5'>虚拟</b>化<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>——Hyper-V<b class='flag-5'>虚拟机</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    虚拟机数据恢复异常断电导致XenServer虚拟机不可用的数据恢复案例

    虚拟机有两个虚拟机磁盘(系统盘 + 数据盘),虚拟机作为Web服务器使用。 虚拟机故障&分
    的头像 发表于 10-21 14:17 200次阅读
    <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>XenServer<b class='flag-5'>虚拟机</b>不可用的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    虚拟数据恢复异常断电导致VMware虚拟机文件丢失数据恢复案例

    某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。
    的头像 发表于 09-14 17:35 474次阅读
    <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>VMware<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>案例

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

    使用。 服务器故障: 因机房异常断电导致服务器中一台VPS(Xen Server虚拟机)不可用,虚拟
    的头像 发表于 09-10 17:25 352次阅读
    <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>案例

    服务器数据恢复异常断电导致RAID信息丢失数据恢复案例

    属于可修改信息,一次或多次的意外断电可能会导致这部分信息被篡改或丢失断电次数过多甚至会导致raid卡上的元
    的头像 发表于 07-01 11:21 321次阅读

    服务器数据恢复异常断电导致存储瘫痪的数据恢复案例

    服务器存储数据恢复环境: 一台存储中有一组由12块SAS硬盘组建的RAID6磁盘阵列,划分为一个卷,分配给几台Vmware ESXI主机做共享存储。该卷中存放了大量Windows虚拟机
    的头像 发表于 06-25 13:41 312次阅读
    <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>案例

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

    服务器存储数据恢复环境: EMC Isilon S200集群存储,共三个节点,每节点配置12块SATA硬盘。 服务器存储故障: 工
    的头像 发表于 06-13 13:38 397次阅读
    <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>案例

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

    服务器数据恢复环境: 某大厂PS4000服务器服务器上部署VMware ESXi虚拟化平台。
    的头像 发表于 05-29 11:29 1111次阅读
    <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>VMware<b class='flag-5'>虚拟机</b>无法启动的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—EVA存储异常断电后出现故障的数据恢复方案

    数据库。 服务器存储故障&检测: 存储异常断电重启后,存储中一台虚拟机无法启动。工作人员推测故障原因是
    的头像 发表于 05-28 10:29 358次阅读

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

    服务器数据恢复环境: 一台服务器安装Linux操作系统+EXT4文件系统。服务器上运行数台KV
    的头像 发表于 05-17 13:33 445次阅读
    <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>案例

    服务器数据恢复—VMware虚拟机无法启动的数据恢复案例

    服务器数据恢复环境: 某品牌EVA某型号存储中部署VMware ESXi虚拟化平台,数据盘(精简模式)+快照
    的头像 发表于 05-06 13:26 513次阅读

    服务器数据恢复异常断电导致RAID管理信息丢失数据恢复案例

    使用。 服务器故障: 机房供电几次意外中断,服务器出现故障前最后一次异常断电重启后RAID报错,提示无法找到存储设备,进入RAID管理模块做任何操作都死机,重启
    的头像 发表于 04-30 15:34 361次阅读

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

    服务器数据恢复环境: dell某型号服务器中有一组通过raid卡组建的raid10,该raid阵列中一共有4块磁盘。上层部署XenServer虚拟
    的头像 发表于 02-28 15:15 848次阅读
    <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>案例

    服务器数据恢复断电导致服务器RAID信息丢失数据恢复案例

    故障之前出现过几次意外断电的情况,服务器断电重启后没有发现异常,直到最后一次断电重启后RAID报错:“无法找到存储设备”,进入RAID管理模
    的头像 发表于 02-18 13:53 667次阅读