Automatic Control of Virtual Machines
for VMWare Workstation & Server
23 August 2007
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:
A note about support for teams:
- Maintain a list of what VMs or teams you wish to automatically
start (and stop) with Windows.
- Start specified machines when Windows starts (or any other time
you decide to start the program)
- Detect Windows shutdown/logoff attempt, and suspend all running VMs before continuing.
- Make a clean backup of all running VMs by suspending &
Resuming them (or snapshotting) before/after copying the files
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:
- 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.
- 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.
2.1 adds an option to use snapshots (rather than suspend/resume)
for backups. The differences you see using this method are:
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.
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.
- 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.
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.
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:
- VMMaster.ini - Program
settings (list of VMs)
- VMMaster.log - Fairly
detailed log of everything it does.
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
VM Master executable (zipped, 227kB)
Delphi 5 source code (zipped, 46kB)
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
Email me at vmmaster1 @ boling.us
Other sites with nifty VMWare
Zamba's VMware page -
Contains these tools, links and more:
- VMRemote - Control VM's
over the network
- Diskmount shell extension
- Mount virtual disks from Windows Explorer
- WFW 3.11 driver package -
Easy way to get sound, networking, etc. in 16-bit Windows
*VMWare is a
trademark of VMWare, Inc., to which I have absolutely no relation,
other than being a big fan of their software!