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.