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

电子说

1.3w人已加入

描述

虚拟化数据恢复环境&故障:
KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20版本之后集成在Linux的各个主要发行版本中。KVM使用Linux自身的调度器进行管理。
本案例中的服务器操作系统为Linux,文件系统为EXT4。操作系统上的部署的几台KVM虚拟机被删除,每台KVM虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件,用户需要恢复的数据是raw格式的磁盘文件。这几台被误删除的虚拟机存放的是数据库,程序代码等数据。

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

虚拟机

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



4、索引修复完成后,解析残留的各级索引,从虚拟机所在的卷中提取虚拟磁盘文件。提取完成后对磁盘文件的正确性与完整性进行校验。
5、根据虚拟磁盘文件的提取情况,提取卷中未被索引到的自由空间。
6、从自由空间中获取有效信息,北亚企安数据恢复工程师尝试修补虚拟磁盘文件(如节点,目录项,数据库页等信息)。
提取出的自由空间:

虚拟机

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



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

虚拟机

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

虚拟机

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



数据验证:
在尽最大努力对虚拟磁盘文件及其中的数据库文件进行修补后,由用户方对数据进行验证。经过用户方仔细验证,发现有小部分数据丢失,重要数据都在,认可数据恢复结果。本次数据恢复工作完成。

审核编辑 黄宇

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

全部0条评论

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

×
20
完善资料,
赚取积分