![缩小原始图像中未使用的空间](https://linux22.com/image/134849/%E7%BC%A9%E5%B0%8F%E5%8E%9F%E5%A7%8B%E5%9B%BE%E5%83%8F%E4%B8%AD%E6%9C%AA%E4%BD%BF%E7%94%A8%E7%9A%84%E7%A9%BA%E9%97%B4.png)
我有一个原始映像,其中包括我的 Windows 磁盘,其中包括 87Gb 的 C: ; 80 GB 未分配空间; 3 Mo 的 D: ; 147Gb 未分配空间。
如何从虚拟机管理程序磁盘中删除未分配的空间,同时尽可能减少性能损失?
我的虚拟机管理程序是 kvm,我的系统是 CentOS 7.5。
答案1
我认为您需要使用 qemu-img 将原始图像转换为 qcow2。 qcow2 映像将仅在需要时分配磁盘(稀疏)。
例如:
$ qemu-img convert -O qcow2 myimage.raw myimage.qcow2
然后将 VM 定义中的磁盘映像替换为 qcow2 映像。
答案2
处理这种情况的标准实用程序是virt-sparsify
. RAW 文件不支持稀疏,因此您当然需要切换到 qcow2。
@tonioc 有一个更手动的方法,但它肯定也会起作用。