virtualboxで起動されるVMのdiskは.vmdk
ファイル形式で作成されます。
vagrantを使っていると、このvmdkファイルのサイズが大きくなってしまうので、それを圧縮する方法をお伝えします。
以下の組み合わせで使用している場合になります。
GuestOS(VM)とHostOS(MacやWindows)で作業します。
ストレージの空き容量を0埋めします。
dd if=/dev/zero of=zero bs=4k
rm -fr zero
GuestOSを停止します。
vagrant halt
GuestOSがあるディレクトリに移動し、.vmdk
を.vdi
に変換します。さらに.vdi
を圧縮します。
cd ~/VirtualBox\ VMs/${box}
VBoxManage clonehd box-disk1.vmdk box-disk1.vdi --format vdi
VBoxManage modifyhd box-disk3.vdi compact
.vdi
で圧縮したら、.vmdk
に戻します。
VBoxManage clonehd box-disk3.vdi box-disk3.vmdk --format vmdk