今天我想在 ESXi 4 上对文件服务器虚拟机进行一些更改。该机器是 Debian Lenny 客户机,有两个虚拟磁盘 - 一个是 8GB,另一个是 500Gb(数据)。为了保护机器免受不必要的更改,我制作了机器的快照。我继续进行更改,但效果不佳。因此,我关闭了虚拟机并进入快照管理器并恢复到快照。但是我恢复到较旧的快照,而不是我刚刚错误创建的快照。然后我(愚蠢地)删除了刚刚在快照管理器中创建的快照。这导致我丢失了大约一年的数据。
有什么方法可以恢复这个已删除的快照文件?我正在使用 vmware esxi 4。当我浏览 VMWare 存储库时,我可以看到各种 vmdk 文件 - 我需要的数据是否可能还在那里?我应该寻找什么?
谢谢,马克。
答案1
这可能听起来有些刺耳......
您有备份吗?完全可以备份虚拟机内部的数据、vmdk 映像本身以及 VM 主机平台的配置。
恢复这些配置,您可能会将系统状态恢复到删除之前的状态。
如果您可以看到 vmdk 映像本身,并且知道它是您删除的映像,那么您是否可以通过将其添加为另一个磁盘来直接让 VM 挂载它?
答案2
您几乎肯定不会走运,但为了以防万一,检查一下 VMDK 和剩余的链接快照还是值得的。
VMDK 结构由根描述符(名为 diskname.vmdk 的小文件)和根数据(名为 diskname-flat.vmdk 的大文件)以及可能包含一系列链接描述符 vmdk(名为 diskname-0000n.vmdk)和增量(重做日志)文件(名为 diskname-0000n-delta.vmdk)的磁盘组成,其中包含每个快照的链接描述符和重做日志。您可以在任何文本编辑器中打开描述符 VMDK,并查看父 vmdk 是什么(如果存在)- 您在快照 VMDK 中查找的字段是 CID 和父 CID。这些将允许您识别快照的链接列表。请注意,根 VMDK 具有所有“F”的父 CID,并且它们可能是独立的列表,因此您必须仔细地将它们全部映射出来。
如果您已执行了您描述的步骤,则您不太可能恢复任何内容,因为删除快照会导致重做日志数据合并到父级中。我过去曾见过损坏的快照列表,在这种情况下可以恢复,但导致这种情况发生的多种情况组合不太可能发生。不过,如果您能找到创建有效链接列表的快照,这些链接列表会向您提供有效数据,那么您可能很幸运,而且由于您显然还有一些快照仍处于活动状态,因此可能还有机会。
此外,考虑到你的情况,我也不想宣扬备份但你必须做一个干净的备份在摆弄这些文件之前,请先复制所有这些文件。
答案3
鉴于它是一台家庭服务器,也许你可以找到一种方法来关闭所有写入磁盘的操作,然后尝试直接从磁盘恢复原始数据。这是一个不太可能的尝试,但组成数据的 1 和 0 可能仍在磁盘上。我不知道有什么软件可以提供帮助。 OnTrack 数据恢复声明能够恢复 VMWare 虚拟磁盘,所以也许他们可以提供帮助。我想这取决于他们收费多少,以及你想恢复多少数据。但要想有任何机会,你需要停止使用数据所在的物理硬盘立即地!