虚拟化数据恢复环境:
一台虚拟机从物理机迁移到ESXI虚拟化平台,迁移完成后做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了数年的数据。
ESXI虚拟化平台上有数十台虚拟机,EXSI虚拟化平台连接了一台EVA存储,所有的虚拟机都存放在EVA存储上。
虚拟化故障:
工组人员误操作将数年前迁移完成后做的快照还原了,也就意味着虚拟机状态还原到数年前,近几年数据都被删除了。
还原快照相当于删除数据,意味着部分存储空间会被释放。为了不让这部分释放的空间被重用,需要将连接到这台存储的所有虚拟机都关掉,需要将不能长时间宕机的虚拟机迁移到别的EXSI虚拟化平台上。
虚拟化数据恢复过程:
Vmware所有的虚拟机都存放在Vmfs文件系统中。Vmfs文件系统默认会将整个存储空间划分为1M大小的Block,分配给文件的{BANNED}最佳小单位为一个Block。Vmfs文件系统中有一片区域描述这些1M Block的使用情况。每1024个Block(也就是1GB)会用一个MAP来记录。
MAP记录的1M大小的Block在物理磁盘上不一定是连续的,但MAP所记录的所有1M大小的Block一定是同一个文件的。一个文件是由N多个MAP中的1024个Block组成的。
1、Vmware还原快照实际上就是删掉一个文件。在Vmfs文件系统中,删除一个文件只会删掉文件的索引项,而不会删掉文件的实际数据以及指向数据的MAP。只需要提取出整个vmfs文件系统中空闲的MAP,然后在空闲的MAP中找到一个符合快照文件头结构的MAP。
2、根据快照文件的结构,提取快照文件剩下的碎片。
3、将快照文件和原vmdk合并生成新的vmdk。
4、新的vmdk中包含了所有的数据,挂载新的vmdk并使用北亚企安自主开发的程序解释vmdk中的数据。
5、解释完成后已经能看见所有数据,经过用户验证,确认数据完整有效,用户认可恢复数据结果。