Existe-t-il un moyen de réduire l'image qcow2 sans la convertir brute?

12

Existe-t-il un moyen de réduire l'image qcow2 sans la convertir brute?

Je ne peux pas le convertir en raw car je n'ai pas assez d'espace disque pour une image brute.

TU
la source

Réponses:

17

La conversion Noop (qcow2-to-qcow2) supprime l'espace clairsemé:

qemu-img convert -O qcow2 source.qcow2 shrunk.qcow2

Vous pouvez également essayer d'ajouter une compression ( -c) à l'image de sortie:

qemu-img convert -c -O qcow2 source.qcow2 shrunk.qcow2

Avant d'exécuter la commande ci-dessus, assurez-vous d'arrêter la machine virtuelle. Une fois que vous êtes satisfait du résultat, vous pouvez renommer shrunk.qcow2 au nom d'origine souhaité par votre configuration de machine virtuelle.

SZ Quadri
la source
3
l'indicateur -c dans qemu-img convert -c -O est pour la compression, pas pour rétrécir ... et il peut diminuer la vitesse du disque ...
Anton Anikin
Cela crée un deuxième fichier, cependant, vous avez donc besoin de deux fois plus d'espace libre que l'image? Existe-t-il un moyen de le réduire en place?
endolith
6

Essayez virt-sparsify- il remplira à zéro les blocs inutilisés dans l'image, puis dédupliquera les zéros.

Dyasny
la source
Merci pour votre réponse, mais virt-sparsify a dit qu'il ne pouvait pas redimensionner les images de disque et j'ai trouvé virt-resize à partir de cela, mais il semble que je doive toujours allouer des espaces pour développer (que je n'ai pas assez d'espace sur mon disque dur). Quoi qu'il en soit, merci beaucoup pour vos informations.
VOUS le
2
@YOU Les versions actuelles de virt-sparsify peuvent fonctionner sur place sans allouer d'espace pour une copie complète de l'image disque.
Michael Hampton
0

J'utilise virt-sparsify:

virt-sparsify /path/to/source.qcow2 --compress /path/to/output.qcow2
Mohamed Elbahja
la source