如何在 KVM 中恢复到最新的外部快照?

如何在 KVM 中恢复到最新的外部快照?

我已经使用 KVM 创建了外部快照

virsh snapshot-create-as domain --name snap1 --disk-only

然后,我用“ ”启动了域virsh start domain。我知道恢复到外部快照尚未实现(至少在 RHEL7 中尚未实现),并且可以通过编辑 XML 和使用 手动执行此操作qemu-ing。但我发现的所有 HOWTOS 都含糊不清或令人怀疑,或者两者兼而有之。

那么,如何丢弃当前覆盖并返回到最新快照,并在其上开始新的覆盖?

我目前发现的情况:

  • 半官方解决办法:RedHat 的文档中有此链接。我发现这非常复杂,而且没有具体的说明。
  • Stackexchange 上的答案:这很模糊。我应该在 XML 文件中更改什么?如何彻底删除覆盖?
  • Linux Mint 论坛帖子:这至少对我有点帮助。但是我为什么要将文件类型更改为“原始”?此外,这似乎不会在最新快照之上开始新的覆盖,而是将更改附加到当前覆盖之前的覆盖,不是吗?

答案1

--atomic使用xml拍摄实时外部快照之后libvirt将如下所示:

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/srv/qemu/images/proxmox4-node2.pre_upgrade'/>
  <backingStore type='file'>
    <format type='qcow2'/>
    <source file='/srv/qemu/images/proxmox4-node2.qcow2'/>
  </backingStore>
  <target dev='vda' bus='virtio'/>
  <boot order='1'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</disk>

vm简单地恢复virsh edit my_domain到:

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/srv/qemu/images/proxmox4-node2.qcow2'/>
  <target dev='vda' bus='virtio'/>
  <boot order='1'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</disk>

相关内容