VM Master

Automatic Control of Virtual Machines
for VMWare Workstation & Server

version 2.1
23 August 2007

Introduction:
I first wrote VM Master in 2005 to help you use some of the new power offered by the vmrun command-line utility in VMWare* Workstation 5.0 -- power that GSX Server users had enjoyed for some time, namely the ability to automatically start and stop VMs, and script safe backups.

VM Master runs on Windows hosts.  There is no Linux version; if you're running VMWare on Linux, you probably already wrote scripts to do most of what this program does. :-)

There are basically 4 things it lets you do, 3 of which are controlled by passing command-line parameters to it:

  1. Maintain a list of what VMs or teams you wish to automatically start (and stop) with Windows.
  2. Start specified machines when Windows starts (or any other time you decide to start the program)
  3. Detect Windows shutdown/logoff attempt, and suspend all running VMs before continuing.
  4. Make a clean backup of all running VMs by suspending & Resuming them (or snapshotting) before/after copying the files
A note about support for teams: 
VMWare allows you to suspend a team; however you cannot start a team, only VM's.  The problem is that it will not allow you to open individual machines from the command line if they are part of a team.  For this reason, while I try to support teams as well as possible, there are a couple of severe limitations to be aware of:
  1. When a team is "started", it will be opened, but the machines will not be started.  You must start the team manually from the VMWare interface.
  2. If you issue the /BKP command, all running machines that are part of a team will be suspended and backed up, but will not be started again.
About snapshots...
Version  2.1 adds an option to use snapshots (rather than suspend/resume) for backups.  The differences you see using this method are:
  1. Less downtime.  For example, instead of being down once for 30 minutes while files are copied, you might be down twice, once for 30 seconds, and once for 5 seconds.  Very nice for 24/7 uptime.
  2. Different buttons to restore.  After restoring from a backup, instead of hitting the resume button, you should use the revert button to get rid of the [corrupt] undo files and resume at the snapshot.  You can then optionally remove the snapshot.
VMWare Server still has the limitation that old versions of Workstation had, i.e. you cannot remove a snapshot from a running machine, but must power it off.  I don't know why this is so; it makes no sense to me.  You can update a snapshot, which deletes the old one and creates a new one, so I see no reason for the limitation on a plain removal.  Nevertheless, what this means for you is that the snapshot created at the beginning of the backup is not removed, but stays until it is replaced by the next backup.  This, of course, has the effect of creating ever-growing undo files throughout the day, which will degrade performance.  In many cases, the degradation is not significant and is worth the shorter downtime, but each person's situation will be different.

User Interface:
Screenshot of the VMMaster UI
I won't go into too many details about how to use it; each control has a tooltip that you can read to get a little more information about it.  I chose to use a list with checkboxes to allow you the convenience of unchecking a machine to get it off your control list, but still have it remain in the list as a reminder that it still exists.

Command line use:
Type vmmaster /? to get a list of the allowed parameters and their usage.

Installation:
VM Master consists of a single executable file, VMMaster.exe, and requires no installation.  I recommend that you put it in its own directory, though, since it creates the following files when used:
Warranty:
There is none.  I created it for me, and decided to share it.  If you're scared of it, download the source code and modify it to your heart's content.

Platform tested on:
Windows XP Pro

Downloads:
VM Master executable (zipped, 227kB)
Delphi 5 source code (zipped, 46kB)

Change Log:
2.1 - 08/23/2007 - Added user prompt action, option to use snapshot instead of suspend for backups
2.0 - 08/29/2006 - Added VMWare Server support, delay action, Launch buttons, BkpAll option, minimize to tooltray
1.0 - 08/31/2005 - Initial Release

Feedback:
Email me at vmmaster1 @ boling.us


Other sites with nifty VMWare tools:

Zamba's VMware page - Contains these tools, links and more:


*VMWare is a trademark of VMWare, Inc., to which I have absolutely no relation, other than being a big fan of their software!