服务器数据恢复环境:
服务器采用的Linux操作系统+EXT4文件系统;
服务器中有3台KVM虚拟机:一台运行Mysql数据库,一台存放数据库备份,一台存放程序代码文件;
每台虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件。
服务器故障:
工作人员的误操作将服务器上的3台KVM虚拟机都删除了,需要恢复raw格式的磁盘文件。
服务器数据恢复过程:
1、分析故障服务器中的EXT4文件系统,定位被删除虚拟机磁盘文件的节点位置。
2、获取磁盘文件残留的索引信息,校验残留索引信息的正确性并修复破坏不严重的索引。
获取的索引等信息:
3、北亚企安数据恢复工程师编写程序解析故障服务器中残留的各级索引,从虚拟机所在的卷中提取虚拟磁盘文件。
4、根据虚拟磁盘文件的提取情况获取卷中未被索引到的自由空间。
5、校验提取出的磁盘文件的正确性与完整性。
6、从自由空间中获取有效信息,北亚企安数据恢复工程师尝试修补虚拟磁盘文件(如节点,目录项,数据库页等信息)。
提取出的自由空间:
服务器数据恢复结果:
1、由于部分索引丢失,提取出的虚拟磁盘文件并不完整。针对数据库文件丢失的情况,可以通过从自由空间中获取到的数据库页去修补数据库文件。但由于部分页所在区域被覆盖占用,只能尽量多的去补页。
2、针对存放程序代码的虚拟机中的节点和目录项丢失的情况,若节点或目录项有残留,可以尝试去补齐节点和目录项。但实际情况是部分文件的节点和目录项同时丢失,根据节点和目录项之间相关联的特性,这种情况下无法补齐节点和目录项。由于程序代码文件不具备规律性,若其数据丢失也无法补齐。
恢复出的部分目录结构:
服务器数据验证:
在尽最大努力对虚拟磁盘文件及其中的数据库文件进行修补后,由用户方工程师验证数据。经过反复验证,发现服务器中丢失的数据恢复了90%以上,重要数据全部恢复出来。本次数据恢复工作完成。