虚拟机数据恢复-虚拟机还原快照原理和误还原快照的数据恢复方案

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 由一台物理服务器迁移到ESXI上的虚拟机,虚拟机迁移完成后做了一个快照,该ESXI上面一共运行了数十台虚拟机。某天工作人员不小心将快照进行了还原,虚拟机内的数据还原到了数年前刚迁移过来时的状态,迁移过来后的这几年更新的数据全部被删除。

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


虚拟机数据恢复过程:

vmfs中如果某文件被删除,在底层数据中只是删除了该文件的索引项,实际数据内容和指向数据map并没有被删除。
1、使用北亚企安自研的数据提取工具将整个文件系统里面的所有空闲map提取出来。
2、在提取出来的map中找到符合快照文件头结构的map。
3、根据文件结构提取剩下的文件碎片。
4、将所有数据提取完成后,结合原有的vmdk合成一个新的vmdk。
5、挂载新合成的vmdk文件,解释该vmdk文件里面的数据即可。

相关文章
|
1月前
|
存储 算法 数据挖掘
NetApp数据恢复—NetApp存储中虚拟机的数据恢复案例
NetApp存储数据恢复环境: 北京某公司的一台NetApp某型号存储,通过96块磁盘组建了两组存储池,这2组存储池互为镜像。存储池内划分卷并映射到ESXI作为数据存储使用,卷内有几百台虚拟机。 NetApp存储故障: 操作过程中由于未知原因导致卷丢失,卷内虚拟机无法访问。管理员对该NetApp存储进行检查并试图恢复数据但是没有成功,于是联系我们数据恢复中心恢复数据。
NetApp数据恢复—NetApp存储中虚拟机的数据恢复案例
|
1月前
|
存储 缓存 固态存储
VSAN存储故障导致虚拟机无法访问的VSAN数据恢复案例
VSAN数据恢复环境: 由四台某品牌服务器组建的VSAN集群,每台节点服务器上有两个磁盘组。每个磁盘组中有1块SSD硬盘+5块SAS硬盘,SSD作为闪存,SAS硬盘作为容量盘。 VSAN故障: VSAN集群中一个节点服务器上其中一个磁盘组中的容量盘出现故障离线,VSAN开始数据的重构迁移,数据迁移还没有完成的时候机房停电导致数据迁移中断。来电后启动所有设备后,管理员发现另一个磁盘组中的两块容量盘出现故障离线,VSAN数据存储出现问题。VSAN管理控制台可以登录,但是所有虚拟机都无法访问。
|
3月前
|
SQL 存储 数据挖掘
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
虚拟机数据恢复环境: 某品牌R710服务器+MD3200存储,上层是ESXI虚拟机和虚拟机文件,虚拟机中存放有SQL Server数据库。 虚拟机故障: 机房非正常断电导致虚拟机无法启动。服务器管理员检查后发现虚拟机配置文件丢失,所幸xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。服务器管理员在尝试恢复虚拟机的过程中,将原虚拟机内的xxx-flat.vmdk删除后新建了一个虚拟机,并分配了精简模式的虚拟机磁盘和快照数据盘,但原虚拟机内的数据并没有恢复。
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
|
28天前
|
缓存 Java C#
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
79 0
|
4天前
|
运维 Linux KVM
KVM详解(六)——KVM虚拟机快照
KVM详解(六)——KVM虚拟机快照
6 0
|
10天前
|
Linux KVM 数据库
虚拟机数据恢复—误删除KVM虚拟机的数据恢复案例
虚拟化数据恢复环境&故障: KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20版本之后集成在Linux的各个主要发行版本中。KVM使用Linux自身的调度器进行管理。 本案例中的服务器操作系统为Linux,文件系统为EXT4。操作系统上的部署的几台KVM虚拟机被删除,每台KVM虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件,用户需要恢复的数据是raw格式的磁盘文件。这几台被误删除的虚拟机存放的是数据库,程序代码等数据。
|
1月前
|
算法 Python
深入理解Python虚拟机:super超级魔法的背后原理
深入理解Python虚拟机:super超级魔法的背后原理
|
3月前
|
虚拟化
VMware使用 - 虚拟机快照
VMware使用 - 虚拟机快照
32 0
|
3月前
|
存储 运维 虚拟化
【服务器数据恢复】Hyper-V虚拟机文件丢失的数据恢复案例
Windows Server操作系统服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在某品牌MD3200存储中,MD3200存储中有一组由4块硬盘组成的raid5阵列,存放虚拟机的数据文件;另外还有一块硬盘存放虚拟机数据文件的备份。
【服务器数据恢复】Hyper-V虚拟机文件丢失的数据恢复案例
|
3月前
|
存储 运维 小程序
【服务器数据恢复】异常断电导致ESXi虚拟机数据丢失的数据恢复案例
服务器数据恢复环境: 一台服务器,虚拟化系统为esxi,上层使用iSCSI的方式实现FC SAN功能,iSCSI通过FreeNAS构建。 FreeNAS采用了UFS2文件系统,esxi虚拟化系统里有3台虚拟机:其中一台虚拟机安装FreeBSD系统,存放数据库文件;一台虚拟机存放网站数据;一台虚拟机安装Windows server系统,存放数据库数据和程序代码。 服务器故障: 机房供电不稳,服务器非正常关机,重启服务器后发现ESXI虚拟化系统无法连接存储。工作人员对服务器进行故障排查,发现UFS2文件系统出现故障,于是fsck修复UFS2文件系统并将ESXI虚拟化系统连接到存储上。 检查文件系