Linux下误删除KVM虚拟机的数据恢复案例

电子说

1.2w人已加入

描述

服务器数据恢复环境:

Linux操作系统服务器,EXT4文件系统。服务器上部署3台KVM虚拟机:

虚拟机1:主数据库服务器

虚拟磁盘:系统盘(qcow2)+数据盘(raw)

文件系统:EXT4

数据:MySQL数据库

虚拟机2:备份数据库服务器

虚拟磁盘:系统盘(qcow2)+数据盘(raw)

文件系统:EXT4

数据:MySQL数据库

虚拟机3:代码服务器

虚拟机盘:系统盘(qcow2)+数据盘(raw)

文件系统:EXT4

数据:程序代码

服务器故障:

3台KVM虚拟机被误操作删除,需要恢复raw格式的磁盘文件。

服务器数据恢复过程:

1、将故障服务器中的所有磁盘编号后取出,以只读方式进行全盘镜像,镜像完成后将所有磁盘按照编号恢复到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。

2、基于镜像文件分析故障服务器的EXT4文件系统,定位被删除KVM虚拟机磁盘文件的节点位置。

3、获取磁盘文件残留的索引信息。校验残留索引信息的正确性并修复破坏不严重的索引。

获取的索引信息:

虚拟机

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

4、修复完索引后,解析残留的各级索引并从KVM虚拟机所在的卷中提取虚拟磁盘文件。

5、根据虚拟磁盘文件的提取情况获取卷中未被索引到的自由空间。

6、校验提取出的磁盘文件的正确性与完整性。

7、从自由空间中获取有效信息,北亚企安数据恢复工程师尝试修补虚拟磁盘文件(如节点,目录项,数据库页等信息)。

提取出的自由空间:

虚拟机

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

服务器数据恢复结果:

由于部分索引丢失,提取出的虚拟磁盘文件不完整。

1、针对数据库文件有丢失的情况,可以通过从自由空间中获取到的数据库页修补数据库文件,但部分页所在区域被覆盖,只能尽可能去补页。

2、针对代码服务器中的节点和目录项丢失的情况,若节点或目录项有残留,可以尝试去补齐节点和目录项。但是部分文件的节点和目录项同时丢失,根据节点和目录项之间相关联的特性,这种情况下无法补齐。由于程序代码文件不具备一定的规律性,若其数据区丢失则无法补齐。

恢复出的部分目录结构:

虚拟机

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

虚拟机

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

数据验证:

对虚拟磁盘文件及其中的数据库文件尽力修补之后,由用户方工程师对恢复出来的数据进行验证。经过反复验证,虽然有部分数据无法恢复,但重要数据都恢复出来了,数据有效。本次数据恢复工作完成。

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分