Distributing updates to VirtualBox images with bandwidth efficiency

administrationnetworkingperformancevirtualbox

I'm currently responsible for a lab of machines that all need to run the same virtual machines. I want to automate my current setup of distributing VirtualBox virtual machines via rsync (erasing any local changes and replacing the disks/snapshots that make up the virtual machine).

I'm thinking of doing something along the lines of making a snapshot for each change, copying the snapshot to the user's machine, and deleting the snapshot on the target ("flattening" it back to the starting disk). This allows me to patch each Virtual Machine with a minimum amount of bandwidth requirements.

The current environment consists of Fedora hosts, where rsync is used to copy the new disk images. The new solution needs to work on Linux/Windows/Mac as we are moving to a "bring your own device" environment.

Are there any already existing scripts/projects that address this issue? What should I be aware of before I start developing my own system to handle update management?

Best Answer

You may want to check Vagrant. It is a tool that allows you to manage virtual machine setups across several computers.

From their website:

Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.

Vagrant supports VirtualBox out of the (virtual) box.

Related Question