If you transfer qcow2 images very frequently across OpenStack Clouds or between KVM and Openstack environments, they can quickly grow larger. Luckily qcow2 image size can be decreased to reasonable values using qemu-img tool. Below we present how to shrink Openstack/KVM qcow2 image.
Examples:
Shrink qcow2 image without compression (larger file, short compression time):
[root@tuxfixer ~]# qemu-img convert -O qcow2 centos7.qcow2 centos7_small.qcow2
Shrink qcow2 image with compression (smaller file, long compression time):
[root@tuxfixer ~]# qemu-img convert -O qcow2 -c centos7.qcow2 centos7_small.qcow2
Commencer par créer les devices:
sudo modprobe nbd max_part=8
utiliser qemu-nbd pour monter l'image sur le device:
sudo qemu-nbd -c /dev/nbd0 guest.img
puis monter le device dans un répertoire:
sudo mount /dev/nbd0p1 /mnt/guest
démonter le montage une fois fini de travailler sur l'image.
sudo umount /mnt/guest
et voila.