Contents

KVM ESXI Vmware VMDK Qcow2磁盘回收

虚拟机(特指Linux虚拟机)磁盘如果选用的弹性增长模式的话,有时候虚拟机内部占用的磁盘大小和宿主机显示的会不一致,明明删除了部分文件,但是宿主机内显示的磁盘大小依然没有回收,这时候就要考虑磁盘回收了。

虚拟机操作

磁盘回收主要分两部分,虚拟机内操作,就是用dd将没有使用的磁盘空间置零,命令如下:

1
2
3
4
5
df -h
sudo dd if=/dev/zero of=/0bits bs=20971520
df -h
sudo rm -rf /0bits
df -h

宿主机操作

KVM:
1
qemu-img convert -f qcow2 -O qcow2 src.qcow2 dst.qcow2
ESXI:
1
2
#-K --punchzero
vmkfstools -K dst.vmdk
Vmware :
1
2
3
4
#Mac:
/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k "dst.vmdk"
#Linux or Win:
"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe"  -k "dst.vmkd"