Archive for April, 2010
Virtualization

I haven’t really done much in the past with virtualization.  I’ve never really needed it.  This changed recently when I realized that I no longer felt like dealing with the snail’s pace of Windows XP on my netbook.  The netbook is supposed to be small and nimble.  Mine felt bloated and slow.

However, it was my only Windows machine with even marginal security.  For example, if I needed to do anything securely with a credit card number from within Windows, then I pretty much had to use the netbook.  My gaming rig is almost a console in its simplicity.  It works and works well for games, but the autologin with administrator rights is just a little unsafe.

Anyway, I got a copy of VMWare Fusion, installed Windows XP on it, slapped on some antivirus software and a few other things I consider necessary when using Windows.  I like using VMWare Fusion on the Mac, because the virtual machine can be run entirely cut off from the internet and the entire data store can be thrown in an encrypted sparseimage for security.

The entire process was shockingly quick and painless.  I even have the ability to drag and drop files from the Mac’s Finder to Windows Explorer and it just works.

VMWare’s networking is dead simple to use, but quite powerful.  Two clicks is all it takes to switch between any of these configurations:

  • no network at all for the client
  • host-only, where the virtual machine is on a private LAN and can only talk to the host machine
  • NAT networking with the host machine as a gateway
  • bridged networking where the host machine bridges the virtual machine directly onto your existing LAN

I’ve been impressed overall with the speed and power of VMWare.  Especially nice is the cross-host compatibility of the virtual machines.  I’ve not personally tested this yet, but the virtual machines are supposed to be compatible with all versions of VMWare.

Which brings me to my current project.  I’ve got a rented copy of an X-Box 360 game that my roommate enjoys playing.  I like playing Space Empires V on my gaming rig.  Both use the same physical display.  Enter virtualization.

I created a new copy of my “baseline” virtual machine and stored it on my Samba server.  Then, while VMWare Workstation was installing on my gaming rig, I fired up Fusion on my Mac, loaded the virtual machine, and installed Steam.  Once Workstation finished installing (with the obligatory required reboot, although at least VMWare is polite about that), I just suspended the VM on my Mac and fired it up on the gaming rig.

One hiccup was a warning message from VMWare that the virtual machine was suspended on a processor from a different vendor than the one on which I resumed.  This is because Intel made my Mac’s CPU and the gaming rig’s is by AMD.  It didn’t complain on subsequent reboots, so apparently only a suspended state is problematic.

After a few more hiccups involving a full virtual disk, I now have a Steam-enabled copy of Windows that I can “power off” and “power on” on almost any machine on my network.  Gigabit speeds ensure that this is less painful than it might be otherwise.

Now to virtualize my iPhone development environment.  Think of it: Using VNC to view a copy of Windows, which is virtualizing a copy of Mac OS X, which is using the iPhone Simulator to emulate an iPhone which is emulating an HP 48 GX.

Ok, so maybe that is just a little bit of lunacy, but it’s possible.