![如何在 KVM 中恢复到最新的外部快照?](https://linux22.com/image/1530534/%E5%A6%82%E4%BD%95%E5%9C%A8%20KVM%20%E4%B8%AD%E6%81%A2%E5%A4%8D%E5%88%B0%E6%9C%80%E6%96%B0%E7%9A%84%E5%A4%96%E9%83%A8%E5%BF%AB%E7%85%A7%EF%BC%9F.png)
我已经使用 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>