¿Hay alguna forma de reducir la imagen qcow2 sin convertirla en bruto?


12

¿Hay alguna forma de reducir la imagen qcow2 sin convertirla en bruto?

No puedo convertirlo a raw porque no tengo suficiente espacio en disco para la imagen raw.

Respuestas:


17

La conversión de noop (qcow2-to-qcow2) elimina el espacio escaso:

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

También puede intentar agregar compresión ( -c) a la imagen de salida:

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

Antes de ejecutar el comando anterior, asegúrese de apagar la VM. Una vez que esté satisfecho con el resultado, puede cambiar el nombre de shrunk.qcow2 al nombre original que desee para la configuración de su VM.


3
El indicador -c en qemu-img convert -c -O es para compresión, no para reducir ... y puede disminuir la velocidad del disco ...
Anton Anikin

Sin embargo, esto crea un segundo archivo, por lo que necesita el doble de espacio libre que la imagen. ¿Hay alguna manera de reducirlo en el lugar?
endolito

6

Intente virt-sparsify: rellenará con ceros los bloques no utilizados en la imagen y luego deduplicará los ceros.


Gracias por su respuesta, pero virt-sparsify dijo que no puede cambiar el tamaño de las imágenes de disco y encontré virt-resize de eso, pero parece que todavía necesito asignar espacios para expandir (que no tengo suficientes espacios en mi disco duro). De todos modos, muchas gracias por tu información.

2
@YOU Las versiones actuales de virt-sparsify pueden funcionar in situ sin asignar espacio para una copia completa de la imagen del disco.
Michael Hampton

0

Yo uso virt-sparsify:

virt-sparsify /path/to/source.qcow2 --compress /path/to/output.qcow2
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.