VirtualBox Vagrantの容量の割当増加(拡張)と圧縮手順のまとめ[Windows]

Windows VirtualBox Vagrantの仮想環境で容量が足りなくなってきましたので増やしたいと思います。また、古いファイルは削除しても減らなく圧縮する必要があるようなので、合わせてやりたいと思います。

  • Vagrantの容量の割当増加
  • Vagrantの古いファイルの圧縮(消すだけでは減らない)
スポンサーリンク

空き容量をzero詰めする

vagrant内で以下コマンド

vagranを停止する

VirtualBoxの構成ファイル(.vmdk)をクローンして.vdi形式にする

コマンドプロンプトで以下フォルダに移動(windowsで以下フォルダを開き、shift右クリックで「コマンドウィンドウをここで開く」(Win8.1)でも可能)

コマンドプロンプトで以下を実行

上記のUUIDを控えておきます。.vdiのUUIDです。

.vdiファイルを圧縮する

先ほど控えた.vdiのUUIDを以下コマンドで指定して圧縮をかけます。

.vdiファイルの割当容量を増やす

以下コマンドで実行します。(ex. 100GBに増やす場合、1024MB*100=102400)

.vdiを.vmdkに逆変換する

元のファイル名とは変えて(ex. ファイル名最後尾に100gbと付加)以下コマンドでクローンし直します。

一時的に使用したcloneのUUIDを管理対象外にする

以下コマンドでclone.vdiのUUIDを確認します。

物理ファイルは最後に削除します。

以下コマンドでclone.vdiのUUIDを管理対象外にします。

切り替え作業

VirtualBoxの[設定]>[ストレージ]で変更前の.vmdkファイルから変更後の.vmdkに指定しなおします。-ボタンと+ボタン

パーテーション設定・ファイルシステム拡張

$ vagrant upしてrootユーザになって作業します。

[PE Size]*[Free PE]=4MB*15359=61436MiB を拡張する。

※ここで以下のエラーになる場合もありましたのでリンク貼っておきます。

[Vagrant]Logical volume lv_root not found in volume group VolGroup
Vagrantの容量拡張時に出たエラー Logical volume lv_root not found in volume group V...

確認

以下コマンドで約100GBになった事を確認

色々動かしてみて移行が問題ないようでしたら物理ファイルの削除をします。

これで、拡張は出来たのですが、

圧縮については効果が見えませんでした。何故でしょう。また追記するかもです。

追記です。拡張は出来たけど圧縮されなかったのはMySQLのログファイルが原因でした。

以下記事に記録しました。

Vagrantの容量が減らなかったのはMySQLのバイナリログが原因だった[Windows VirtualBox]
この記事でVagrantの容量肥大化の為の拡張と圧縮を行いました。 ですが、容量上限は増えたものの、現在の容量の圧縮がうまくいきません...

参考サイト様の通りにやったら出来ました。

http://gyagya1111.blogspot.jp/2015/06/vagrantbox.html

http://vboxmania.net/content/%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%AE%E5%9C%A7%E7%B8%AE

http://www.skyarch.net/blog/?p=1096