我试图用以下命令创建一个原始映像:
qemu-img create -f raw -o size=200G,preallocation=metadata file.img但似乎它的原始图像不支持预分配。如果是这样的话,为什么这张图表中有raw +预分配?
# qemu-img create -f raw -o size=200G,preallocation=full file.img
Unknown option 'preallocation'
Invalid options for file format 'raw'.发布于 2012-09-16 20:54:09
根据本手册的说法,我没有看到任何原始图像的预分配选项。
另外,不妨看看这些基准,似乎任何类型的原始图像都比qcow2具有更好的性能。
此外,由于性能问题,我也看到了许多避免写入缓存的建议,但我没有亲自进行测试。
发布于 2012-09-16 12:31:45
原始图像不支持预分配,qcow2和qed-映像做:
preallocation=full而不是preallocation=metadata不仅为原始图像分配元数据,而且还向其写入零,从而创建一个非稀疏的图像文件。
如果您的文件系统支持稀疏文件(例如ext、xfs、btrfs),则只填充零的块不会在物理上存储,这将在开始使用此映像时节省空间。
如果要分配原始映像上的所有空间,可以使用dd命令:dd if=/dev/zero of=file.img bs=1M count=204800
如果您正朝着速度的方向努力,也可以使用cache=writethrough与libvirt一起使用,这样可以在物理机器崩溃的情况下提高速度而不会丢失数据。
发布于 2021-04-06 10:16:06
qemu-img create -f qcow2 -o size=199G,preallocation=full file.img
mv file.img file.raw
qemi-img resize -f raw file.raw 200G(需要最后一个命令对齐文件,使其大小为512 b)
https://serverfault.com/questions/428868
复制相似问题