KVM Images ändern, konvertieren, usw.
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. Annahme ist hier der „vsrv-topc“ von Leopold. Diese VM musst aus verkleinert werden da Topcontrol ihre eignen Vorstellungen von Partition hat und auf eine „D-Partition“ bestand. Der Server wurde vorher schon auf 130GB erweitert. Der Speicher selbst wurde in der VM noch nicht zugeordnet. Erstellt man nun in dieser einen virtuellen Festplatte in Windows einen zweite Partition, kann man das Laufwerk „C“ nur mehr sehr umständlich in Windows erweitern (Thirdparttools). 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-103-disk-1.qcow2 vm-103-disk-1_backup.qcow2
2.) Konvertieren des Images in das RAW Format
qemu-img convert -O raw vm-103-disk-1.qcow2 vm-103-disk-1.raw
3.) Verkleinern des Images um 75GB
qemu-img resize vm-103-disk-1.raw -- -75G
4.) Zurück konvertieren in das QCOW2 Format
qemu-img convert -O qcow2 vm-103-disk-1.raw vm-103-disk-1.qcow2
5.) VM-Größe auslesen und in der VM-Config richtig setzen
qemu-img info vm-103-disk-1.qcow2 image: vm-103-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 man diese virtuelle Festplatte 21GB echten HDDspace 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/103.conf ... virtio0: local:103/vm-103-disk-1.qcow2,format=qcow2,size=55G ...
6.) VM Starten, Checkdisk und Defrag ausführen.
7.) Backup des Images und RAWimage löschen.