Virtualization

Alright, for those of you that don’t appreciate being a nerd, please feel free to stop reading this post.  For the rest of you…

At the last DS meeting, we had a presentation by VMWare.  Now, I use VMWare Workstation to do a lot of my MSI development and testing.  Granted, I could use the University site licensed version of Virtual PC, but VMWare is just better.  So anyways, I was very intrigued by what they were going to talk to us about, especially with the recent release of Virtual Server from Microsoft.

Personally, I had never used either companies server solution, but because of my previously reported problems with Virtual PC, Virtual Server already left a bad taste in my mouth (turns out that virtual server is leaps and bounds better than PC, but still, old habits are hard to break).  The meeting was, as I expected, mostly centered around their server products: GSX and ESX.  Now, you can go read about each one from the links listed, but in general, what it comes down to is that GSX is an application that runs on a host operating system while ESX is the host operating system.  Talk about awesome. 

Lets take a step back for those of you that are new to virtual machines a second and tell you what this means.  What all of these applications do is run a virtual computer on another computer.  So, for instance with my MSI testing, I have my normal Windows XP installation, and then on top of that I have VMWare Workstation that runs a virtual computer inside of it.  It has it’s own hard drive (which is actually just a file), sound card, video card, network card, bios, etc.  For testing, this is a must have.  The server class products add a bit more: ability to easily have multiple workstations running at the same time, a nice management window, web management, etc.  For those that are familiar to Solaris back when NT4 was a big seller, may remember add-on cards you could purchase that would run NT4 in a Solaris window.  This is the same kind of thing, only it’s done completely in software instead of hardware.  Similar to the workstation products, both Virtual Server and GSX Server run on top of an operating system as an application (Linux, Windows).  Now, ESX Server removes the host operating system all together and interfaces right with the hardware.  This is where VMWare really shines because this reduces the overhead of GSX server by around half since there isn’t a middle OS messing with things.  This means that Virtual Machines can share memory, and not be bogged down with whatever is happening with the host OS. 

Well, I know you’re all wondering how this all applies to me.  After seeing that presentation, I was very excited about trying to play with ESX.  Needless to say, that was a bust, you can’t even download a trial version from their website.  However, you can grab GSX server to give it a whirl.  So, rebelpeon.com is now running totally on virtual servers.  I’ve been needing to do some stuff to my server anyways because of all the problems I’ve been having with it, so I figured this would be a great way to do it while learning a bunch. 

It was a snap to setup, I actually did it all on my tablet.  I got GSX server installed on it, and then built the 2 machines from there.  I then migrated all the stuff from what was currently running on the main server to the virtual servers.  Once everything was migrated, I wiped the physical server and installed a fresh OS on it, then put GSX on there.  I then powered down the 2 virtual servers on my tablet, and moved the hard drive files over to the real server, then powered it up.  It was so easy.  Plus, since my real server is a dual P3, it’s actually using both processors now (one for each virtual server).  The only problem I’m having right now is getting access to a physical disk in on of the virtual servers, but that’s because it was a Windows Dynamic Disk, and VMWare doesn’t support those.  All in all, a fairly painless process, plus yet another thing to add under my belt.