QCOW2 Images unter Proxmox verkleinern
In seltenen Fällen kann es vorkommen das man ein Image wieder verkleinern möchte. Da dies mit QCOW2 direkt nicht möglich ist, muss das Image in das RAW Format konvertiert werden. Der Speicher selbst wurde in der VM noch nicht zugeordnet. Folgende Schritte sind notwendig um das Image auf 55GB virtuelle Größe zu bekommen.
Bevor man mit dem eigentlichen Verkleinern am PVEhost beginnt muss man in der WindowsVM das Dateisystem Defragmentieren und dann das Volume verkleinern. Bei LinuxVM's genügt es Dateisystem zu verkleinern.
VM Images liegen (wenn diese lokal liegen) auf „var/lib/vz/images/<VMID>„.
1.) VM herunter fahren und Backup des Images erstellen
cp -a vm-209-disk-1.qcow2 vm-209-disk-1_backup.qcow2
2.) Konvertieren des Images in das RAW Format
qemu-img convert -O raw vm-209-disk-1.qcow2 vm-209-disk-1.raw
3.) Verkleinern des Images um 75GB
qemu-img resize vm-209-disk-1.raw -- -75G
4.) Zurück konvertieren in das QCOW2 Format
qemu-img convert -O qcow2 vm-209-disk-1.raw vm-209-disk-1.qcow2
5.) VM-Größe auslesen und in der VM-Config richtig setzen
qemu-img info vm-209-disk-1.qcow2 image: vm-209-disk-1.qcow2 file format: qcow2 virtual size: 55G (59055800320 bytes) disk size: 21G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false corrupt: false
Hier sieht die virtuelle Festplatte 21GB echten HDD Space verbraucht. Anwachsen kann sie bis 55GB (virtual size). Nun trägt man diesen Wert in die Config der VM ein.
nano /etc/pve/qemu-server/209.conf ... virtio0: local:209/vm-209-disk-1.qcow2,format=qcow2,size=55G ...
6.) VM Starten, Checkdisk und Defrag ausführen.
7.) Backup des Images und RAWimage löschen.