Vagrantで使用されているvmdkファイルを圧縮する方法
virtualboxで起動されるVMのdiskは.vmdkファイル形式で作成されます。
vagrantを使っていると、このvmdkファイルのサイズが大きくなってしまうので、それを圧縮する方法をお伝えします。
前提条件
以下の組み合わせで使用している場合になります。
- virtualbox
- vagrant
手順
GuestOS(VM)とHostOS(MacやWindows)で作業します。
Guest OSでの作業
ストレージの空き容量を0埋めします。
dd if=/dev/zero of=zero bs=4k
rm -fr zero
Host OSでの作業
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