我正在运行 KVM 服务器 (Ubuntu 14.04),并且想要为我的客人拍摄快照。我正在阅读如何做到这一点本文。似乎我应该能够通过运行以下命令来拍摄来宾的快照:
sudo virsh snapshot-create $GUEST_ID /path/to/snapshot/file.xml
当我尝试这样做(并且也尝试在不指定文件路径的情况下)时,我收到以下错误消息:
error: unsupported configuration: internal snapshot for disk vda unsupported for storage type raw
当我创建来宾时,我使用以下命令来预先创建磁盘映像:
qemu-img create -f qcow2 -o preallocation=metadata,lazy_refcounts=on $filepath 20G
当我使用命令sudo virsh edit $GUEST_ID
查看来宾的定义时,它清楚地显示“原始”,如下所示:
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/home/$USER/kvm/domain.name.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</disk>
是否有可能我实际上没有运行 qcow2 磁盘映像,或者我错误地输入了快照命令?有没有一种方法可以仅使用 CLI 进行测试以确保我的磁盘映像是原始格式还是 qcow2 格式?
答案1
您的 libvirt 配置文件中有错误:
<driver name='qemu' type='raw'/>
该行必须是:
<driver name='qemu' type='qcow2'/>
我刚刚测试了这个冲突。如果您创建一个 qcow2 映像文件(可以使用 进行测试qemu-img info /home/$USER/kvm/domain.name.img
)并配置 libvirt 域,raw
那么我预计会收到一条错误消息。相反,qcow2 图像文件被原始图像文件覆盖。
因此,您必须关闭虚拟机,更改配置,转换映像文件 ( qemu-img convert -f raw -O qcow2 [input filename] [output filename]
),然后重新启动虚拟机。