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.

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.


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.