二, 虚拟机数据恢复过程
1, 分析 EXT4 文件系统, 定位被删除虚拟机磁盘文件的节点位置;
2, 获取磁盘文件残留的索引信息;
3, 校验残留索引信息的正确性, 修复破坏不严重的索引;
图为获取的索引等信息:
虚拟机数据恢复案例截图 1
4, 修复完成后, 解析残留的各级索引, 从虚拟机所在的卷中提取虚拟磁盘文件;
5, 根据虚拟磁盘文件的提取情况, 获取卷中未被索引到的自由空间;
6, 校验提取出的磁盘文件的正确性与完整性;
7, 从自由空间中获取有效信息, 尝试对虚拟磁盘文件进行修补 (如节点, 目录项, 数据库页等信息).
图为提取出的自由空间:
虚拟机数据恢复案例截图 2
三, 数据恢复结果
1, 由于索引丢失, 提取出的虚拟磁盘文件并不完整, 针对数据库服务器, 数据库文件有丢失的情况, 可以从自由空间中获取数据库页去对数据库文件进行修补, 但由于部分页所在区域被覆盖占用, 只能尽量多的去补页;
2, 对于存放程序代码的服务器中的节点和目录项丢失的情况, 若节点或目录项有残留, 可以尝试去补齐节点和目录项. 但发现部分文件的节点和目录项同时丢失, 根据节点和目录项之间相关联的特性, 这种情况下无法补齐. 另根据程序代码文件的特性, 不具备一定的规律性, 若其数据区丢失, 无法补齐.
图为恢复出的部分目录结构:
虚拟机数据恢复案例截图 3
虚拟机数据恢复案例截图 4
四, 数据验证
在尽可能的尝试对虚拟磁盘文件及其中的数据库文件修补之后, 由客户对数据进行验证. 数据有部分丢失, 无法恢复, 但整体还可以接受, 数据恢复有效.
来源: http://blog.51cto.com/sun510/2104365