0

我在 Xen 中运行了几个虚拟机,现在我正在尝试创建/恢复我的虚拟机的快照。

与 Xen 和 一起blktap2,还提供了另一个实用程序,vhd-util根据它的描述,我想我可以使用它来创建/恢复 VM 快照。

创建快照其实很简单,我只需调用:

vhd-util snapshot -n aSnapShot.vhd -p theVMtoBackup.vhd

但是当谈到恢复快照时,事情变得非常烦人。

“revert”命令需要一个强制参数“ journal”,如下所示:

vhd-util revert -n aSnapShot.vhd -j someThingCalledJournalOfWhichIHaveNoIdea

并且vhd-util期望来自日志的一些信息,这意味着它不是您可以写入日志的空文件。

但是我浏览了代码和互联网,仍然不知道这本日记是从哪里来的。

类似的问题被问到 http://xen.1045712.n5.nabble.com/snapshots-with-vhd-util-blktap2-td4639476.html但可怜的家伙从来没有得到回答。

希望这里有人可以帮助我。

4

2 回答 2

2

在 VHD 中创建快照的工作原理是在现有 VHD 映像上放置一个覆盖,以便将任何更改写入覆盖文件而不是覆盖现有数据。对于读取最顶层的数据,返回:如果该扇区/集群已被覆盖,则来自覆盖的数据,如果尚未覆盖,则来自原始 VHD 文件。

vhd-util 命令创建这样一个覆盖 VHD 文件,它使用现有的 VHD 映像作为其所谓的“备份文件”。重要的是要记住,当仍然使用该备份文件的快照存在时,决不能更改该备份文件。否则,所有这些快照中的数据也会发生变化(除非数据已经在那里被覆盖。)

使用备份文件的过程可以重复多次,从而导致 VHD 文件链。只应写入最顶层的文件,所有其他文件应作为不可变文件处理。

恢复到快照就像删除当前最顶层的覆盖文件并再次创建一个新的空覆盖文件一样简单,这再次公开了包含快照的支持文件中的数据。这是通过再次使用与上述相同的命令来完成的。这会保留您当前的快照,并允许您多次重复该过程。(重命名文件更像是“恢复删除最后一个快照”。)

警告:在重新创建快照文件之前,请确保不存在其他快照,它使用此(中间)VHD 文件作为其备份文件。否则,您不仅会丢失此快照,还会丢失依赖于此快照的所有其他快照。

于 2013-11-27T08:51:28.920 回答
1

您不需要使用revert,只需关闭VM,将aSnapShot.vhd 重命名为VMtoBackup.vhd 并重新启动VM。

于 2013-11-26T09:40:51.607 回答