{{tag>[archlinux kvm recover space]}} =====Archlinux - KVM Recover space from VM===== Note: A VM image on NFS storage might not work. I had success with local and iSCSI storage. ====Create VM==== * Create VM with virtio-scsi controler and unmap setting: --disk path=$IMAGEFILE,format=qcow2,bus=scsi,discard=unmap \ --controller scsi,model=virtio-scsi \ * Note, use 'sda' in kickstart script, instead of 'vda'. * Check if trim is supported: $ grep "" /sys/block/sda/queue/discard_* /sys/block/sda/queue/discard_granularity:4096 /sys/block/sda/queue/discard_max_bytes:1073741824 /sys/block/sda/queue/discard_zeroes_data:0 $ cat /sys/block/sda/device/scsi_disk/*/provisioning_mode unmap ====Configure discard==== * Add discard option to /etc/fstab, or schedule fstrim operation. * Configure /etc/lvm/lvm.conf: issue_discards = 1 * reboot ====Test==== * Monitor VM image size. Use the -s ls option to see real usage. * Create large file: cd /var/tmp/ time dd if=/dev/urandom of=tstfile bs=2048k count=512 oflag=direct * Delete tstfile * Trim the filesystem: fstrim -v /var * Check VM image size. You can see in the first column the size grow and shrink after fstrim. $ ls -ls vmcentos.qcow2 1226824 -rw-r--r-- 1 nobody kvm 1256325120 Dec 2 21:59 vmcentos.qcow2 1355912 -rw-r--r-- 1 nobody kvm 1388511232 Dec 2 21:59 vmcentos.qcow2 1552968 -rw-r--r-- 1 nobody kvm 1589837824 Dec 2 21:59 vmcentos.qcow2 1755128 -rw-r--r-- 1 nobody kvm 1796943872 Dec 2 22:00 vmcentos.qcow2 1949832 -rw-r--r-- 1 nobody kvm 1996685312 Dec 2 22:00 vmcentos.qcow2 2156152 -rw-r--r-- 1 nobody kvm 2207477760 Dec 2 22:00 vmcentos.qcow2 2245256 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2 2245256 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2 2245256 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2 2245256 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2 2245256 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2 1130376 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2 1130376 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2 1130376 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2 1130376 -rw-r--r-- 1 nobody kvm 2299199488 Dec 2 22:00 vmcentos.qcow2