はじめに
Vagrant を使うとカジュアルにVMを作ったり壊したりできて便利なのだが、VMの作成元である box image はディスク容量が少ないケースが多く、すぐに容量不足に陥るのがネックだと感じていた。
その解決策を探している中で、[vagrant-disksize] (https://github.com/sprotheroe/vagrant-disksize) というプラグインを発見した。これを使えば Vagrantfile に設定を一行書くだけでVMのディスク容量が増やせる。
[vagrant-disksize] (https://github.com/sprotheroe/vagrant-disksize) プラグインを使って VM のディスク容量を増やす方法
まずは [vagrant-disksize] (https://github.com/sprotheroe/vagrant-disksize) プラグインをインストールする。
$ vagrant plugin install vagrant-disksize
あとは Vagrantfile に config.disksize.size
の設定を一行追記して、
Vagrant.configure('2') do |config|
config.vm.box = 'ubuntu/xenial64'
config.disksize.size = '100GB' # <- この設定を書く
end
vagrant up
を実行するだけ。
$ vagrant up
...(snip)...
==> default: Resized disk: old 10240 MB, req 102400 MB, new 102400 MB
==> default: You may need to resize the filesystem from within the guest.
...(snip)...
すると、通常は 10GB である ubuntu/xenial64 (20170207.0.0) のディスク容量が・・・
VM作成後でもディスク容量を増やせる
一度VMを作成してからでも、Vagrantfile のディスクサイズ設定値を増やして vagrant halt
-> vagrant up
を実行することで、いつでも好きなタイミングでディスク容量を増やせる。
Vagrant.configure('2') do |config|
config.vm.box = 'ubuntu/xenial64'
config.disksize.size = '120GB' # 100GB から 120GB に変更
end
$ vagrant halt
...(snip)...
$ vagrant up
...(snip)...
==> default: Resized disk: old 102400 MB, req 122880 MB, new 122880 MB
==> default: You may need to resize the filesystem from within the guest.
...(snip)...
動作確認環境
ホストOS x ゲストOSの組み合わせは下記4パターンを試し、いずれも動作することを確認した。
- Vagrant: 1.9.1
- プロバイダ: VirtualBox (5.1.14)
- ホストOS:
- MacOS Sierra (10.12.3)
- Windows 10 Pro (64bit)
- ゲストOS (box image):
- ubuntu/xenial64 (20170207.0.0)
- ubuntu/trusty64 (20170202.1.0)
留意点
README.md#Limitations に記載されていること:
- VirtualBox 以外のプロバイダでは動作しない
- box イメージによっては上手く動作しなかったり、別途ゲストOS内でパーティション設定が必要になるかも知れない
- ディスク容量は増やす方向にしか変更できない
その他気付いたこと:
- ディスクイメージファイルは .vmdk とかであっても .dvi に変換される
- このとき、VirtualBoxのアプリを起動すると下記のような警告が出る
- これは、プラグインが変換前のディスクイメージファイルを VirtualBox の管理対象から外していないため
- しかし、ゲストOSの動作上は特に問題とならないため、自分は気にしないでいる(もし気になれば「確認」ボタンを押して該当のディスクイメージファイルを「除去」すれば良い)
おわりに
[vagrant-disksize] (https://github.com/sprotheroe/vagrant-disksize) プラグインを使って Vagrantfile に一行書くだけでVMのディスク容量を増やす方法を紹介した。
留意点に記載の通り環境によっては上手く動作しない場合もあるかも知れないが、そうでなければお手軽にVMのディスク容量を増やせるので便利。