如何创建未精简配置的 qcow2 文件?

Jas*_*nes 5 linux bash qcow2 kvm-virtualization

当我执行以下操作时,qcow2 文件小于 200KB。

# qemu-img create -f qcow2 /var/lib/libvirt/images/urb-dat0.qcow2 10G
# du -hsc /var/lib/libvirt/images/urb-dat0.qcow2
196K    /var/lib/libvirt/images/urb-dat0.qcow2
Run Code Online (Sandbox Code Playgroud)

如果我将它附加到 KVM 来宾并且 fdisk -l

Disk /dev/vdb: 0 MB, 197120 bytes, 385 sectors
Run Code Online (Sandbox Code Playgroud)

如何制作未精简配置的 10GB qcow2 文件?

Cra*_*son 5

您可以使用该preallocation选项。

qemu-img create -o preallocation=full -f qcow2 /var/lib/libvirt/images/urb-dat0.qcow2 10G
Run Code Online (Sandbox Code Playgroud)

参考:https : //linux.die.net/man/1/qemu-img

预分配模式(允许值:off、metadata、full)。带有预分配元数据的图像最初较大,但可以在图像需要增长时提高性能。完全预分配另外将零写入整个图像,以便也预分配较低层(例如包含图像文件的文件系统)。请注意,完全预分配写入虚拟磁盘的每个字节,因此大型映像可能需要很长时间。

  • 我可能已将 qcow2 图像附加为原始图像,这可以解释为什么它不起作用...... (2认同)

jlh*_*jlh 5

现有的精简配置 qcow2 文件可以转换为完全分配的文件,如下所示:

qemu-img convert -p -f qcow2 -O qcow2 -S 0 original-file.qcow2 new-file.qcow2
Run Code Online (Sandbox Code Playgroud)

(这不是问题的答案,但可能仍然令人感兴趣。)