2023年6月13日火曜日

Vagrant で vmdk を圧縮する方法

Vagrant で vmdk を圧縮する方法

概要

VM 上では容量を使用していないのに知らぬ間に肥大化していることがあります
そんな場合に vmdk ファイルを圧縮する方法を紹介します

ファイル名や UUID の部分は適宜変更してください

環境

  • macOS 11.7.6
  • vagrant 2.3.4
  • VirtualBox 7.0.6

ゼロ埋め

  • sudo dd if=/dev/zero of=zero bs=4k; \rm zero

圧縮

  • cd "/Users/username/VirtualBox VMs/vm_default_xxxx/"
  • VBoxManage clonehd ubuntu-bionic-18.04-cloudimg.vmdk ubuntu-bionic-18.04-cloudimg.vdi --format vdi
  • VBoxManage modifyhd ubuntu-bionic-18.04-cloudimg.vdi compact
  • VBoxManage clonehd ubuntu-bionic-18.04-cloudimg.vdi ubuntu-bionic-18.04-cloudimg_2.vmdk --format vmdk

vdi ファイル削除

  • VBoxManage list hdds
  • VBoxManage closemedium disk cb44d740-7c42-41d2-b0cf-e3938e8e0ee8
  • rm buntu-bionic-18.04-cloudimg.vdi

ディスクデタッチ/アタッチ

  • VBoxManage list vms
  • VBoxManage storageattach 3fffffaa-db44-46b5-b669-77d21b173089 --storagectl "SCSI" --port 0 --device 0 --type hdd --medium "/Users/username/VirtualBox VMs/vm_default_xxxx/ubuntu-bionic-18.04-cloudimg_2.vmdk"

古い vmdk 削除

  • VBoxManage closemedium disk f8f59ec9-2d06-47c2-87c9-29604a72b38f
  • rm ubuntu-bionic-18.04-cloudimg.vmdk

動作確認

  • vagrant up
  • vagrant ssh
  • rm /home/vagrant/zero
  • sudo reboot -h now

で問題なく動作することを確認しましょう

最後に

自分の場合は 17GB -> 4GB ほどになりました

0 件のコメント:

コメントを投稿