VMware快照能否修复VMDK文件?

在思考是否能够使用快照来恢复受损的VMDK文件之前,我们首先需要了解VMDK文件和快照在vSphere环境当中的工作原理。

快照工作原理

当创建VMware快照时,实际上我们并没有复制原始磁盘当中的任何数据。而是将原始磁盘设置为只读状态,并且创建一个回滚日志——有时也称之为增量磁盘,这种增量磁盘其实就是在快照创建之后,针对任何虚拟机写入操作所产生的占位符。

 图1.增量文件当中包含的仅仅是快照创建之后的虚拟机变化部分

图一展示了快照的工作流程。假设磁盘当中包含了一个单词“SNAPSHOT”,并且每个字母都位于自己的磁盘块当中。当我们创建磁盘快照的时候,原始磁盘变为只读状态,一个新的增量VMDK文件被创建。这时第二个块变为“L”,并且“S”被加入到第九个块当中,这样就产生了新的单词“SLAPSHOTS”。

为了保证所有文件都是安全的,我们需要进行一系列操作。我们可以删除快照,这样将会简单地将新的块合并到原始的VMDK文件当中,并且将“SLAPSHOTS”提交给虚拟机——或者我们可以回滚到另外一个时间点,比如磁盘刚刚读入“SNAPSHOT”的时候。每次创建快照的时候,都会创建一个新的增量磁盘,保证我们能够回滚到快照链当中的任何时间点。

能否修复VMDK文件?

如果原始VMDK文件遭到破坏或者被删除,那么管理员就会面临很多棘手问题。正如图二所示,包含“SNAPSHOT”的原始磁盘已经消失。现在我们手中只剩下了包含字母“L”和“S”的增量磁盘,而指向磁盘的元数据(metadta)已经消失。

 图2.如果只使用损坏或者丢失VMDK文件的快照,那么无法重建原始文件。

也许你已经得出了结论:如果包含“SNAPSHOT”的原始磁盘或者原始块丢失,那么使用增量磁盘当中的部分数据无法重建任何东西。

缺失文件种类决定能否进行恢复

仅仅使用快照文件来恢复丢失的VMDK文件是不可能的,但是根据丢失VMDK文件的不同,我们可能拥有几种解决方案。一个虚拟机磁盘由两个不同的文件组成:VMDK文件——虚拟磁盘的最重要组成部分——保存了所有数据,以及描述符文件——VMX文件——为虚拟机配置文件提供相关磁盘信息。

如果VMDK文件丢失,那么只能寄希望于保存了备份文件,而如果描述符文件丢失,那么可以使用ESXi命令行进行恢复。可以参考VMware knowledge base当中的文章1002511进行恢复。

作者:何妍 

来源:51CTO

时间: 2024-09-15 08:28:11

VMware快照能否修复VMDK文件?的相关文章

aws上传从vmware中导出的VMDK文件到中国地区

问题描述 以前在用国际版的awsec2时,用ec2-import-volume命令可以将从vmware中导出的vmdk文件正常上传到EC2中的磁盘页面.但是现在使用中国版的aws,用这个命令上传不了?不知道什么原因,看下面的错误提示.不知道有没有大神知道这个问题?DD:exportWOC9.1CN_AWS>ec2-import-volumelinux-disk1.vmdk-fvmdk-zcn-north-1-bxume-oAKIAOF26XMTFKXFOCDA-wMWHAEFwF95uHKxko

vmware 部分vmdk文件丢失

问题描述 在macosx中用vmwarefusion.当时虚拟机选择的是将虚拟磁盘拆分为多个,重装系统的时候发现timemachine备份的虚拟机文件中居然少了一份文件!!虚拟磁盘-s006.vmdk文件丢失了!通过数据恢复软件恢复的文件估计已经被覆盖了,文件头都不对了..现在就想知道..在缺失部分虚拟磁盘文件的情况下..如何取出其中的大部分数据.ps:windows下无法挂载.diskgenius也无法打开

使用VMware ThinApp制作软件单文件教程

VMware ThinApp 是一款应用程序虚拟化工具 ,但对于我来说用的更多的是制作单文件软件和便携软件. VMware ThinApp将程序相关资源如exe.dll.ocx.注册表项等封装到单一的EXE文件中,程序运行时需要的资源也都从这个单EXE的虚拟环境中,从而实现与操作系统的隔离. 借助VMware ThinApp的封装可以制作比较纯正的单文件软件 ,而简单设置参数后,VMware ThinApp也能充当制作便携软件的角色,大部分情况下,VMware ThinApp也确实能出色的工作.

VMware 虚拟化编程(1) — VMDK/VDDK/VixDiskLib/VADP 概念简析

目录 目录 VMDK VDDK VixDiskLib VADP VMDK VMDK(VMware's Virtual Machine Disk Format,VMware 虚拟磁盘格式):简单来说就是存储虚拟机虚拟磁盘数据的文件格式.不过一般来说,VMDK 指代的是 VMware GuestOS File System Data Storage File,也就是 VMware 虚拟磁盘文件,简称「虚拟磁盘」. VDDK VDDK(VMware's Virtual Disk Development

误删vSphere虚拟机.vmdk文件的恢复

1. 错误描述 在vSphere上,一次重启虚拟服务器时出现启动不了,提示找不到vmdk虚拟磁盘文件: 2. 原因分析 查看这台虚拟服务器的摘要信息,对比datastore上其他可用的虚拟机,发现损坏的服务器上确实缺少一个vmdk磁盘文件,但是可以看见一个50G的xxx-flat.vmdk文件:而正常的服务器只有xxx.vmdk,没有xxx-flat.vmdk,关机之后两个文件都存在,而且真实的磁盘容量从vmdk转移到了xxx-flat.vmdk. 虚拟主机在运行的时候,实际在使用的是xxx-f

virtualBox打开vmdk文件

virtualBox和vmware感觉有不少不同.例如,如果有vmware的虚拟硬盘文件,virtualBox没有办法直接导入.如果想要导入vmdk文件,步骤如下: 1)打开Oracle VM VirtualBox 管理器,点击"新建",在"新建虚拟电脑"下,输入相应名称(建议与vmdk文件同名,并除去后缀),"下一步"后,内存大小选择适合大小的内存,"下一步"后,虚拟硬盘选择"使用已有的虚拟硬盘文件",点

win7系统U盘扫描修复后文件丢失了该怎么处理

  相信很多win7 64位旗舰版的用户都会遇到这样的一个问题,当自己把U盘插入电脑之后,系统就会弹出提示说:U盘需要扫描病修复.一般情况下,用户都会按照系统的提示选择"扫描并修复"的选项,但是在这个操作之后,自己再进入U盘之后却发现文件丢失不见了,那怎么办呢?今天我们就来了解下win7旗舰版U盘扫描修复后文件丢失了该怎么处理. 步骤一:当我们进入了win7 64位旗舰版的桌面之后,首先使用鼠标双击桌面上的"计算机"图标,打开了计算机界面之后我们在菜单栏上找到&qu

Win7中注册表修复exe文件教程

  1.首先,需要打开win7系统的注册表编辑器窗口,同时按下win7电脑键盘上的win+R快捷键打开电脑的运行窗口,在打开的运行窗口中,输入regedit并单击回车,就可以打开注册表编辑器窗口了. 2.在打开的注册表编辑器窗口中,依次点击展开左侧菜单中的HKEY_CLASSES_ROOTexefileshellopencommand,之后在窗口的右边看到默认的数值,双击点击打开,然后把数值改为["%1" %*],数值确认以后就直接保存,然后关闭窗口,最后重新启动电脑就可以了. 以上就

百度卫士怎么修复dll文件

  百度卫士怎么修复dll文件?dll文件是某个程序或者某个游戏运行的重要部件,如果丢失了dll也会导致系统极度不稳定,不过现在只需要通过百度卫士便可修复这个问题噢,接下来小编就来和大家说说百度卫士修改dll文件的方法,希望可以帮助到大家. 1.打开百度卫士进入里面的百宝箱,在里面找到[百度电脑专家],其实不用百度卫士也能打开,你可以直接下载[百度电脑专家]. 2.打开百度电脑专家后你就会看到[软件故障]里面会有个dll缺失选项. 3.点进入就可以看到各种常用的dll缺失问题,找到相应的dll进