VCCW 2.19.0 Linked Cloneに対応してディスク容量の大幅な節約ができるようになりました。

VCCW 2.19.0をリリースしました。

http://vccw.cc/

このアップデートでは、Vagrant 1.8の新機能Linked Cloneに対応しました。

あと、VCCW用のBoxもアップデートしました。

VCCWの最新版を使う前に vagrant box update でBoxを最新版にしておくことをおすすめします。

VagrantVirtualBoxも最新版にしてください。

Linked Cloneとは

従来のVCCWは、複数の仮想マシンを起動するたびにOSを丸ごと複製していたため1GB近いディスクをマシンごとに占有していました。

Linked Cloneという機能を有効化すると従来のようにOS丸ごとコピーせずに、差分だけが増えていくようになります。

したがってVCCWマシン1台あたりで占有するディスク容量が従来よりも劇的に小さくなります。

参考

VCCWのBoxをアップデートした上でvagrant upをすると起動もかなり早くなった感じがします。

$ time vagrant up
...
...
...
real	4m21.518s
user	0m13.271s
sys	0m7.257s

Linked Cloneの有効化

Linked Cloneはデフォルトでは無効になっています。

Linked Cloneは1台目のマシンを起動する際に、マスター用のマシンをもう1台生成します。

これがOS部分の本体になるわけですが、vagrant destroyしてもこのマスター用のマシンは残ってしまうため、複数台を起動する予定がない人にとってはあまり意味がないからです。

この機能を有効化するには以下のようにsite.ymlに記述してください。

linked_clone: true

その後、vagrant upしていただくとLinked Cloneなマシンが起動します。

すでにプロビジョニング済みのマシンでLinked Cloneを有効にするにはvagrant destroyしてからvagrant upしてください。
(Vagrantfileも最新版をコピペしてください。)

site.ymlにいちいち書くのが面倒という方は、~/.vccw/config.ymlに書けばその後にプロビジョニングするすべてのマシンで有効化されます。

スナップショットについて

これもVagrant側の新機能ですが、スナップショットを取れるようになりました。

例えばWordPressのプラグインをちょっと試したい場合にあらかじめスナップショットを取れば、やっぱりやーめたって時に簡単に戻すことができます。

WordPress本体のアップデートの確認とかにもいいですね。

詳細はVagrantのヘルプでどうぞ。

vagrant help snapshot
Usage: vagrant snapshot <subcommand> [<args>]

Available subcommands:
     delete
     list
     pop
     push
     restore
     save

For help on any individual subcommand run `vagrant snapshot <subcommand> -h`