乐趣区

关于数据恢复:服务器数据恢复vmware-ESXI虚拟化数据恢复案例

服务器数据恢复环境:
从物理机迁徙一台虚拟机到 ESXI,迁徙后做了一个快照。该虚拟机上部署了一个 SQLServer 数据库,寄存了 5 年左右的数据。ESXI 上有数十台虚拟机,EXSI 连贯了一台 EVA 存储,所有的虚拟机都在 EVA 存储上。

服务器故障:
因为工作人员的误操作,不小心将几年前迁徙数据后做的快照还原了。因为快照是几年前做的,还原快照意味着这几年的数据被删除了。
还原快照相当于删除数据,底层的空间会被开释。为了防止这部分开释的空间写入新数据,须要将连贯这台存储的所有虚拟机都关掉。如果有重要的虚拟机不能长时间宕机,则须要将该虚拟机迁徙到别的 EXSI 上。刚好用户有一台虚拟机很重要,不能长时间关机,只能做热迁徙。vmware 的热迁徙须要建设 N 多个快照来实现,这给前期的复原工作带来很多麻烦。

服务器数据恢复过程:
Vmware 的文件系统叫做 Vmfs,所有的虚拟机都寄存在这个 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、将故障服务器中所有磁盘编号后取出,以只读形式将所有磁盘做全盘镜像备份,备份实现后依照编号将磁盘还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,防止对原始磁盘数据造成二次毁坏。
2、基于镜像文件剖析 Vmfs,北亚企安数据恢复工程师编写小程序提取整个 vmfs 中闲暇的 MAP。
3、在提取出的闲暇 MAP 中找到一个合乎快照文件头构造的 MAP。依据快照文件的构造,北亚企安数据恢复工程师调整程序提取快照文件剩下的碎片。
4、快照文件提取实现后,将快照文件和原 vmdk 合并生成新的 vmdk,新的 vmdk 中蕴含了所有的数据。
5、挂载新的 vmdk 并解释其中的数据。
6、用户对复原进去的数据进行验证,通过重复验证确认复原进去的数据残缺可用。本次数据恢复工作实现。

退出移动版