Lab Journal: Shared Virtual Machines

Author: Geoff Hutchison
Web Site: hutchison.chem.pitt.edu
In my group, we have some equipment that only has Windows software interfaces. So all of our Macs here have virtual machines via VMware Fusion. (Parallels Desktop would also have worked.)
One problem is that we want to share the virtual machine. Otherwise we would need to install 13GB VM images for each user in the group.
We copied some tips for sharing iPhoto and iTunes libraries for multiple users on a machine via Access Control Lists:
Install Windows?
The key steps are to create an image you want everyone to share. Include all Windows patches, installs, spyware and virus protection, etc.
Next, you want to change the shared folder available through VMware. By default, we chose the "Shared" folder on our network drive. You can set this via the "Virtual Machine" settings dialog:

The default is for an individual user's home directory, but this will not work in a shared user environment.
Now that you've set up the virtual machine to your liking, you move it into a shared directory like /Users/Shared (or /nfs/Users/Shared in our case).
Access Control Lists
In Mac OS X 10.4 Tiger, Apple introduced Access Control Lists for fine-grained control of file and user permissions. We're going to use ACLs to allow all users to read, write, and otherwise modify the virtual machine image.
In our case, all users in our research group are part of the "hutchisongroup" group on our Leopard server. So we can let all group members gain control over the image like so:
sudo chmod -R +a "hutchisongroup allow read,write,append, delete,list,search,add_subdirectory,delete_child, file_inherit,directory_inherit" /Users/Shared/Virtual\ Machines/
Finally, each user will need to open up the new Virtual Machine inside VMware, and it will be remembered for future use.
Drawbacks
There's one obvious drawback -- you've installed Windows onto a nice Mac. But many times, you need equipment that only has Windows software. I've complained to suppliers to make my voice heard, but I also need to get research done.
Another drawback is that you can run into problems when multiple users are running VMware at the same time. The only true solution for that will come when VMware or Parallels offer Mac server solutions for deploying virtual machines to multiple Macs and users at once. In the meantime, for small research groups like mine, this is a viable workaround.
Suggestions? Concerns? Any ideas to improve this approach?



Comments
Parallels Server
Parallels has a server version in beta which will run also on a mac natively and will allow you to virtualize Leopard Server (eventually).
Server Version
There's a slight difference between the server versions announced by Parallels and VMware and what I want. In my case, I don't care about a virtual Leopard Server. I want something to serve out the virtual machines -- rather than having to share the files as I outlined above.
VM network boot?
If I understand you correctly, you'd want your local windows VMs to do a network boot from a server VM. I think that PXE is supported in Fusion, so it might be possible.