乐趣区

关于shutdown:服务器虚拟化数据恢复ESXI虚拟机误操作还原快照导致数据丢失的数据恢复案例

服务器虚拟化数据恢复环境:
故障虚拟机是由物理机迁徙到 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 并解释外面的数据即可复原还原快照之前的数据。

退出移动版