您所在的位置:首页 > 成功案例 > 虚拟化数据恢复

SeSparse数据恢复方案分步演示

最新动态来源:本站原创点击数:510更新时间:2020/9/25

 
关于虚拟机快照文件被删除的恢复方式跳跃性较强,且没有名词解释,导致产生歧义。为了验证方案可行性,北亚数据恢复中心的数据恢复工程师特别对此类案例进行了案例还原,来分步演示虚拟化平台SeSparse数据恢复方法,具体数据恢复演示过程如下。
1、搭建环境 在虚拟化平台创建虚拟机(父盘VMDK大于2T),为了后期导出进行观察,创建模式为精简。
2、在新建的虚拟机内写入文件,便于观察快照索引与父盘数据之间的联系。
3、创建快照文件,再写入部分数据,以备验证修改后快照内数据存储方式与索引之间的联系。
4、虚拟机部分操作完毕,关机准备对原VMDK文件和快照文件进行分析。(因为数据存储内有虚拟机,无法卸载数据存储,进行了强制断电)
5、使用恢复软件打开硬盘,准备导出VMDK文件和快照文件。结果发现原VMDK导出后变为0KB,快照文件则顺利导出,实验步骤中断。
6、根据现象进行猜想,可能是数据量太小,没有及时写入VMDK。使用快照文件进行了恢复,原意是要对VMDK文件进行写入,扩大数据量。结果发现恢复后新增一个VMDK文件,且新写入的数据都存储于此文件中。(结论:根据快照进行恢复后,新增数据并未写入原VMDK文件,而是以快照断点为起始,做了一个新的快照文件,之前的快照文件被删除)
7、进行了删除快照操作(通过虚拟化平台正常删除而不是直接删除快照文件),发现快照和原VMDK进行了合并,数据区内容被写入VMDK盘内。
8、重复1~4发现,在关机状态下创建快照,只是简单生成了1M大小文件。在开机后,快照文件变为23M,说明创建快照文件索引应该是在虚拟机开启状态下才会进行。
9、使用恢复软件提取VMDK文件发现仍然无法提取成功(提示Unable to open file),改用北亚虚拟化软件by_vmfs提取程序提出VMDK文件。
10、开始分析: 
(1)根据头部信息,分别提取 high_idx 和 low_idx 、全局位图区、全局索引区、数据区
(2)快照文件预分配除数据区之外的所有区域
(3)低地址区域索引最大只能索引相当于原VMDK文件大小的数据区。
11、根据文档中给出的索引规则和实际情况,证明了快照文件恢复无法依赖父盘数据,最多能遍历父盘数据块和索引得知哪些块发生了变化。原因如下:
高位区跳转低位区必须依赖父盘块号;
低位区指针跳回高位区亦不可行(单向指针);
根据高位区域指针跳转父盘块号不可行,父盘块号标明了高位区域的指针位置(单向指针)
虚拟化数据恢复方法;北亚数据恢复中心数据恢复案例
 
12、如图,根据文档中的数据推导算法,第一步必须知道父盘块号,才能找到它在快照文件中的块对应位置。快照文件被删除后,唯一能直接找到的只有快照头。
    根据父盘块号和高位区域的索引,可以得到低位区域的所有编号(也就是低位索引的相对位置)。根据特征,可以通过扫描的方式找到全局位图区、低位索引区、全局索引区。由于1G块数较少,可以遍历拼接(多种内部相对位置关系)。但是数据区无法找到,无法确定父盘中的某一块在更新后写入了什么文件,无法根据文件特征进行数据块排序。根据实验结果来看,写入的数据在文件内是连续的(单进程写入),不过对拼接基本无作用。
 
虚拟化数据恢复结论:快照文件删除后,依据现有算法无法恢复快照文件内的数据区部分(文档内也只有恢复索引的方案,不过索引恢复可以直接根据其特征进行搜索排序,与地址转换无关)。小于2T快照恢复方案在处理数据区这部分也是一笔带过的,是块号、文件内偏移还是其他方式不得而知。下步方案只能参考VMFSSparse快照恢复程序中关于二级索引跳转数据区时,如何判断哪些数据块是属于本文件/数据区1G块排序方式了。

北京北亚数据恢复中心:4006505646

http://www.frombyte.com