One problem with using Windows guests on Vagrant is how big they are. You can be looking at 20GB for a stripped down disk with just the OS. This can easily become prohibitive if you want to use more than a few VMs in Vagrant (not to mention the time copying all this redundant data).
Having read about differencing disks, they seem like the perfect solution to this problem, by allowing VMs to share the same parent disk, without needing to copy it (as each VM only needs to keep track of differences to the base disk). From what I've read of differencing disks, this seems like a no-brainer for Vagrant (but unfortunately my experience extends no further than what I've read).
Is there a reason Vagrant doesn't use this approach? Any plans to put this on the roadmap? It seems like this feature is supported by both VirtualBox and Hyper-v.
Differencing disks depend on some things in the core changing. These changes are under way already in branches of Vagrant and Vagrant 1.6 has a very good chance of properly using linked clones wherever possible.
Thanks for the super quick reply! I'm glad to hear I'm not completely crazy with this idea. Multiple 20GB images make my diddy little SSD cry, so this feature would be fantastic.
In the vagrant-libvirt provider (https://github.com/pradels/vagrant-libvirt) we already do this. When you import a box, we load the full QCOW2 disk image into a storage pool. When you create a VM based on that box, we create a new image that is linked to the original image and only stores changes from it. This makes creating new VMs noticeably faster and more space-efficient in libvirt compared to virtualbox. It would be great if other providers used this technique.
Having read about differencing disks, they seem like the perfect solution to this problem, by allowing VMs to share the same parent disk, without needing to copy it (as each VM only needs to keep track of differences to the base disk). From what I've read of differencing disks, this seems like a no-brainer for Vagrant (but unfortunately my experience extends no further than what I've read).
Is there a reason Vagrant doesn't use this approach? Any plans to put this on the roadmap? It seems like this feature is supported by both VirtualBox and Hyper-v.
(This page describes differencing disks, and the first diagram under "Using multiple differencing disks with one parent disk" accurately depicts the sort of thing I have in mind here http://technet.microsoft.com/en-us/library/cc720381(v=WS.10)... )