服务器虚拟化数据恢复环境:
故障虚拟机是由物理机迁徙到ESXI,迁徙实现后做了一个快照。
故障虚拟机上运行的是一个sql server数据库,记录了近5年的数据。
ESXI上有二十多台虚拟机,EXSI连贯一台HP EVA存储,所有的虚拟机(包含故障虚拟机)都放在这台EVA存储上。

服务器虚拟化故障&剖析:
因为误操作不小心将3年前的快照还原了,即把虚拟机还原到3年前的状态,最近3年的数据都被删除了。
虚拟机还原快照意味着删除数据,开释底层的存储空间。为了不让这部分空间被从新利用,须要将连贯这台存储的所有虚拟机都关机。如果有重要的虚拟机不能长时间关机,能够迁徙到别的EXSI上。本案例刚好有一台虚拟机运行要害业务不能关机,只能做热迁徙。因为vmware热迁徙须要建设多个快照来实现,而这会给前期的复原快照工作带来额定的艰难。迁徙完所有虚拟机后依照北亚数据恢复流程须要对底层的EVA存储做残缺镜像,然而因为用户比拟焦急,而镜像整个存储工夫太长,只能将EVA存储以只读的形式挂载到一台北亚备份服务器上以只读的形式复原数据。

服务器虚拟化数据恢复过程:
Vmware的文件系统叫做Vmfs,所有的虚拟机都寄存在这个文件系统中。Vmfs文件系统会默认将整个磁盘划分成1M的Block,调配给文件的最小单位就是一个Block。Vmfs文件系统中会有一片区域描述这些1M Block的应用状况,每1024个Block(也就是1GB)会用一个MAP来记录。这个MAP外面记录的1M Block在物理磁盘上不肯定是间断的,但这个MAP所记录的所有1M Block肯定是同一个文件的。换句话说:一个文件是由N多个MAP中的1024个Block组成的,即FileSize = N MAP 1024(Block)。
 
Vmware快照就是一个文件,还原快照就是删掉一个文件。在Vmfs文件系统中删除一个文件只会删掉文件的索引项,而不会删掉文件的理论数据以及指向数据的MAP。

1、提取整个vmfs文件系统中闲暇的MAP。
2、闲暇的MAP中找到一个合乎快照文件头构造的MAP。
3、依据快照文件的构造提取快照文件剩下的碎片。
4、提取完快照文件后将快照文件和原vmdk合并生成新的vmdk,新的vmdk中蕴含了所有的数据。
5、挂载新的vmdk并解释外面的数据即可复原还原快照之前的数据。