[libvirt-users] Is there still no easier way to shrink a VM image?
Michal Privoznik
mprivozn at redhat.com
Tue Jul 11 09:23:00 UTC 2017
On 07/11/2017 07:34 AM, Leroy Tennison wrote:
> I have numerous qcow2 images which need to be reduced in size and have
> their maximum size (virtual size) reduced. Physical disk space became
> so low that VMs "auto-paused" themselves, I moved enough images to solve
> the immediate problem but need to rectify the underlying issue. It
> seems that qcow[2] files are grown in size such that the data inside of
> them takes about 50-60% of the space (does anyone know the actual
> algorithm or how to control it?). Given the total physical disk space
> on the hypervisors, I need something more restrictive.
>
> Our hypervisors are a mix of Ubuntu 14 or 16 LTS (qemu-img 2.2 or 2.5).
> After doing all the preparation (defragment, reduce OS partition size)
> "qemu-img resize" reports that shrinking isn't supported yet. My web
> research indicates that, to accomplish this, I have to:
>
> convert to raw
>
> shrink the image
>
> convert back to qcow[2]
>
> increase the image size to provide for some growth
>
> I'm hoping I've missed something in my research and that someone knows
> an easier way. I don't feel constrained to qemu-img but this is a
> production environment precluding consideration of experimental
> software. Virt-resize, guestfish or any other reasonable option is fine
> with me. Solutions or ideas? Thanks.
In addition to what Martin replied (I don't quite understand your goal
either), I often use 'virsh domfstrim $domain' to free up some unused
blocks in a qcow2 image. However, this doesn't change the virtual size
of the disk. Just the physical footprint.
Michal
More information about the libvirt-users
mailing list