如何使用 virsh snapshot-create-as... 创建外部快照?

How to create an external snapshot with virsh snapshot-create-as...?

当我尝试使用

创建快照时
virsh snapshot-create-as one-217 snap_base "desc" --diskspec vda,file=/var/lib/one/datastores/1/2aae91bd6c04fa2db0849bc0db1342ba --disk-only --atomic

发生错误。

错误:不支持的配置:磁盘 vda 的外部快照文件已经存在并且不是块设备:/var/lib/one/datastores/1/2aae91bd6c04fa2db0849bc0db1342ba

那我运行

virsh snapshot-list one-217

one-217 没有显示快照。

我运行

virsh domblklist one-217

结果是这样的 vda /var/lib/one//datastores/0/217/disk.0 hda /var/lib/one//datastores/0/217/disk.1

我很困惑。如何使用 virsh snapshot-create-as 命令创建外部快照,或者我应该尝试其他方法?以及如何创建多磁盘快照?

virsh 版本是 针对库编译:libvirt 0.10.2 使用库:libvirt 0.10.2 使用 API:QEMU 0.10.2 运行 管理程序:QEMU 0.12.1

有人可以帮帮我吗?提前致谢!

似乎文件 2aae91bd6c04fa2db0849bc0db1342ba 已经存在,所以您看到的错误消息是有效的 -- libvirt 正确地拒绝使用现有文件,因为这会导致数据丢失。这是相关的 bug, which is fixed in upstream libvirt.

要解决这个问题,请尝试提供 存在的文件的路径:/var/lib/libvirt/images/snap1-one-217.qcow2(或类似的东西)。

而且,从报错来看,你的libvirt版本好像旧了。请使用相对较新的版本(或至少高于 libvirt-0.9.10 的版本)。