virtualboxのマシンを圧縮する
圧縮手順
ゲストOS上
空き容量一杯に空のファイルを作成して、削除。 (なぜ、/dev/zeroを読み込んでzeroファイルを作ることで空き容量いっぱいにゼロフィルできるのかわからん)
# dd if=/dev/zero of=zero bs=4k # rm zero $ vagrant halt
ホストOS上
VBoxManage コマンドで .vmdk を .vdi に変換 (vdiでないと圧縮できないので。)
$ cd ~/VirtualBox\ VMs/server_default_1395298198/ $ VBoxManage clonehd box-disk3.vmdk box-disk3.vdi --format vdi
.vdi を圧縮する。
$ VBoxManage modifyhd box-disk3.vdi compact
圧縮した .vdi を .vmdk に戻す。
$ mv box-disk3.vmdk box-disk3.vmdk.bak $ VBoxManage clonehd box-disk3.vdi box-disk3.vmdk --format vmdk
以上により、ゲストOSのストレージ圧縮が完了する。