有什么方法可以缩小qcow2图像而无需将其原始转换?


12

有什么方法可以缩小qcow2图像而无需将其原始转换?

我无法将其转换为原始图像,因为我没有足够的磁盘空间来存储原始图像。

Answers:


17

Noop转换(qcow2-to-qcow2)消除了稀疏空间:

qemu-img convert -O qcow2 source.qcow2 shrunk.qcow2

您也可以尝试-c向输出图像添加压缩():

qemu-img convert -c -O qcow2 source.qcow2 shrunk.qcow2

在运行上述命令之前,请确保关闭虚拟机。对结果满意后,可以将shrunk.qcow2重命名为VM配置所需的原始名称。


3
qemu-img中的-c标志转换-c -O用于压缩,而不是收缩...并且它可以降低磁盘速度...
Anton Anikin 2014年

但是,这将创建第二个文件,因此您需要的可用空间是映像的两倍吗?有没有办法缩小它的位置?
endolith '19

6

尝试virt-sparsify-它将对图像中未使用的块进行零填充,然后对零进行重复数据删除。


谢谢您的回答,但是virt-sparsify表示它无法调整磁盘映像的大小,因此我发现virt-resize可以,但是看起来我仍然需要分配空间来扩展(硬盘上没有足够的空间)。无论如何,非常感谢您的信息。
您2012年

2
@YOU当前版本的virt-sparsify可以就地工作,而无需为磁盘映像的完整副本分配空间。
迈克尔·汉普顿

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.