虚拟机数据恢复—KVM虚拟机(运行MySQL数据库)被删除的数据恢复案例

虚拟机数据恢复环境:
Linux操作系统服务器,EXT4文件系统。服务器中有数台KVM虚拟机。

虚拟机1:主数据库服务器
虚拟磁盘:系统盘(qcow2)+数据盘(raw)
文件系统:EXT4
主要数据:MySQL数据库

虚拟机2:备份数据库服务器
虚拟磁盘:系统盘(qcow2)+数据盘(raw)
文件系统:EXT4
主要数据:MySQL数据库

虚拟机3:代码服务器
虚拟机盘:系统盘(qcow2)+数据盘(raw)
文件系统:EXT4
主要数据:程序代码

虚拟机故障:
KVM虚拟机被删除,需要恢复raw格式的磁盘文件。

虚拟机数据恢复过程:
1、将故障服务器中所有磁盘标记后取出,硬件工程师检测后没有发现有硬盘存在硬件故障。以只读方式将所有磁盘进行扇区级全盘镜像,镜像完成后按照原样将所有硬盘还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析EXT4文件系统,定位被删除虚拟机磁盘文件的节点位置,获取磁盘文件残留的索引信息。
3、对残留索引信息的正确性进行检测,修复破坏不严重的索引。
获取的索引等信息:

4、索引修复完成后,解析残留的各级索引。从虚拟机所在的卷中提取虚拟磁盘文件。
5、根据虚拟磁盘文件的提取情况,获取卷中未被索引到的自由空间。
6、从自由空间中获取有效信息,尝试对虚拟磁盘文件进行修补。
7、修补完成后校验磁盘文件的正确性与完整性。
提取出的自由空间:

虚拟机数据恢复结果:
1、由于索引丢失,提取出的虚拟磁盘文件并不完整,针对数据库服务器,数据库文件有丢失的情况,可以从自由空间中获取数据库页去对数据库文件进行修补,但由于部分页所在区域被覆盖占用,只能尽量多的去补页。
2、对于存放程序代码的服务器中的节点和目录项丢失的情况,若节点或目录项有残留,可以尝试去补齐节点和目录项。但发现部分文件的节点和目录项同时丢失,根据节点和目录项之间相关联的特性,这种情况下无法补齐。由于程序代码文件不具备一定的规律性,若其数据区丢失,则无法补齐。
恢复出的部分目录结构:

虚拟机恢复数据验证:
在尽可能的尝试对虚拟磁盘文件及其中的数据库文件进行修补后,由用户方对数据进行验证。虽然数据有部分丢失,无法恢复,但用户需要的数据都恢复出来了,认可数据恢复结果。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值