服务器数据恢复Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例

Posted 宋国建

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器数据恢复Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例相关的知识,希望对你有一定的参考价值。

虚拟机数据恢复环境:

故障服务器操作系统为Linux系统;

文件系统为EXT4文件系统。


虚拟机故障:

故障服务器上的KVM虚拟机被删除,每台虚拟机包含一个qcow2格式的磁盘文件,和一个raw格式的磁盘文件。管理员联系我们数据恢复中心进行数据恢复。


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

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

文件系统:EXT4

主要数据:mysql数据库


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

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

文件系统:EXT4

主要数据:MySQL数据库


虚拟机3:代码服务器

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

文件系统:EXT4

主要数据:程序代码


虚拟机数据恢复过程:

1、分析EXT4文件系统,定位被删除虚拟机磁盘文件的节点位置;

2、获取磁盘文件残留的索引信息;

3、校验残留索引信息的正确性,修复破坏不严重的索引;

图为获取的索引等信息:


【服务器数据恢复】Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例_虚拟机数据恢复

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

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

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

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

图为提取出的自由空间:


【服务器数据恢复】Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例_虚拟机数据恢复_02


虚拟机数据恢复结果:

1、由于索引丢失,提取出的虚拟磁盘文件并不完整,针对数据库服务器,数据库文件有丢失的情况,可以从自由空间中获取数据库页去对数据库文件进行修补,但由于部分页所在区域被覆盖占用,北亚数据恢复工程师只能尽量多的去补页;

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

图为恢复出的部分目录结构:


【服务器数据恢复】Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例_数据恢复_03

【服务器数据恢复】Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例_虚拟机数据恢复_04

数据验证:

在尽可能的尝试对虚拟磁盘文件及其中的数据库文件修补之后,由客户用户对数据进行验证。数据有部分丢失,无法恢复,但重要数据都恢复出来了,数据恢复有效。

以上是关于服务器数据恢复Linux系统,EXT4文件系统下虚拟机误删除的数据恢复案例的主要内容,如果未能解决你的问题,请参考以下文章

linux系统ext4文件系统rm删除的文件怎么恢复

linux操作系统故障处理-ext4文件系统超级块损坏修复

Ext4文件系统fsck后损坏修复方法-linux数据恢复案例

Linux下如何选择文件系统:EXT4Btrfs 和 XFS

Linux ext4文件系统下 extundelete 恢复 误删除的文件

Linux-文件系统