Shrink Qcow2 images by removing snapshots

  • Make sure that the domain using the qcow2 image is stopped.
  • List available snapshots in the qcow2 image:

 

qemu-img snapshot -l /var/lib/libvirt/images/vm1.qcow2

 

  • Delete snapshots from the image:

 

qemu-img snapshot -d "snapshot name a" /var/lib/libvirt/images/vm1.qcow2
.....
qemu-img snapshot -d "snapshot name n" /var/lib/libvirt/images/vm1.qcow2

 

  • Shrink the qcow2 image:

 

qemu-img convert -O qcow2 /var/lib/libvirt/images/vm1.qcow2 /var/lib/libvirt/images/vm1_small.qcow2