我正在尝试按照此过程使用KVM进行实时快照。
因为我处于一个我不明白的状态,所以我一定会搞砸的。
我的VM被称为prod
。 它是在/srv/vm/prod.qcow2
文件中/srv/vm/prod.qcow2
。
显然,没有正在运行的快照:我正在处理基本文件。 我可以猜测,因为/ /srv/vm/prod.qcow2
文件的修改date每隔一分钟左右改变一次。 另外,这个命令也证实了这一点:
# virsh domblklist prod Target Source ------------------------------------------------ vda /srv/vm/prod.qcow2
而且没有什么可阻止提交的:
# virsh blockcommit prod vda --active --pivot error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file
然而,libvirt保留了一个旧的快照的痕迹:
# virsh snapshot-list prod Name Creation Time State ------------------------------------------------------------ snap 2015-06-09 12:11:33 +0200 disk-snapshot
其描述符文件是/var/lib/libvirt/qemu/snapshot/prod/snap.xml
:
<domainsnapshot> <name>snap</name> <state>disk-snapshot</state> <creationTime>1433844693</creationTime> <memory snapshot='no'/> <disks> <disk name='vda' snapshot='external' type='file'> <driver type='qcow2'/> <source file='/srv/vm/snap.qcow2'/> </disk> </disks> [...]
源文件/srv/vm/snap.qcow2
已被删除。
考虑到我试图实现的方法,这个快照很可能是使用以下命令创build的:
virsh snapshot-create-as --domain prod snap --diskspec vda,file=/srv/vm/snap.qcow2 --disk-only --atomic
我无法删除它:
# virsh snapshot-delete prod snap error: Failed to delete snapshot snap error: unsupported configuration: deletion of 1 external disk snapshots not supported yet
所以我处于创build快照的状态,显然不再使用,不能删除。
有什么我可以做的吗?
我应该照顾还是我可以忽略它?
编辑
我只是删除了快照文件描述符。
# systemctl stop libvirt # mv /var/lib/libvirt/qemu/snapshot/prod/snap.xml /home/jerome # systemctl start libvirt
我的虚拟机重新启动了,我看不到有关快照的任何参考。
# virsh snapshot-list prod Name Creation Time State ------------------------------------------------------------
在virt-manager中也一样。
我还好吗还是还有一些家务要做?
编辑2
显然,传递-–no-metadata
到virsh snapshot-create-as
将通过不创build.xml文件来避免这个问题,因此不保留快照的痕迹。
正确的方法是
virsh snapshot-delete prod --metadata snap
(这个命令可以在维基上find,我之前尝试过,但由于错误的原因,这个错误已经被修正了)。
我不知道libvirtdclosures时删除.xml文件的function。 也许唯一的区别是不需要停止libvirtd。 即便如此,也许这可能会在未来发展。 无论如何,build议使用libvirt的API,而不是直接使用文件播放。
如果使用--no-metadata
参数创build快照,则确实不需要此调用。
我在libvirt-users邮件列表的 这个线程中得到了这个解释。
任何愿意通过实时快照进行备份的人都应该阅读前面提到的wiki页面,并且可能对讨论我的noob问题的论坛主题感兴趣,并指向Eric Blake的幻灯片以及本博客文章和以下评论。