虚拟机数据恢复环境&故障:
由一台物理服务器迁徙到ESXI上的虚拟机,虚拟机迁徙实现后做了一个快照,该ESXI下面一共运行了数十台虚拟机。某天工作人员不小心将快照进行了还原,虚拟机内的数据还原到了数年前刚迁徙过去时的状态,迁徙过去后的这几年更新的数据全副被删除。
虚拟机还原快照与删除数据在实质上是一样的,虚拟机删除快照后会将底层存储空间相应的空间开释,而后重用这部分释放出来的空间存储新的数据。所以,如果一台虚拟机不小心还原了快照,应该尽快将还原快照的虚拟机所在存储上的所有虚构机关机或迁徙到其余ESXI上。
要复原虚拟机数据,咱们须要先理解vmfs的底层构造,vmfs是wmware自有文件系统,在这个文件系统下所有的硬盘被默认划分为若干个区域,这些区域最小单位被称为“block”,每个block的大小为1MB,每1024个block组成一个MAP,这些信息都记录在文件系统的某一个特定区域内。每个map中的block在物理硬盘上的存储程序是不间断的,但每个map中的所有block肯定是属于一个文件的,即FileSize=N×MAP×1024(Block)。

虚拟机数据恢复过程:
vmfs中如果某文件被删除,在底层数据中只是删除了该文件的索引项,理论数据内容和指向数据map并没有被删除。
1、应用北亚企安自研的数据提取工具将整个文件系统外面的所有闲暇map提取进去。
2、在提取进去的map中找到合乎快照文件头构造的map。
3、依据文件构造提取剩下的文件碎片。
4、将所有数据提取实现后,联合原有的vmdk合成一个新的vmdk。
5、挂载新合成的vmdk文件,解释该vmdk文件外面的数据即可。