More Content - Including Podcasts

Monday, April 28, 2008

Greening Your IT - Virtualization on a Dime

For my first article on greening your IT, I want to talk about server virtualization. Moving some or many of the servers in your IT shop off of their own physical hardware and into a shared, virtual environment is a well established step toward reducing your carbon footprint.

There are a few different approaches to take on this, and all have their own valid reasoning as to why they are best for a given situation; but I'm going to talk about virtualizing on the cheap. We've been running a successful implementation of this in our labs at Tsunami.ca, and I've personally been really happy with it.

At the core of this solution is a CentOS server hosting the Linux port of VMware Server.

This implementation was targeted for a testing environment, but should it prove to be successful we'll be leveraging the same or a similar model for more production systems.

So for the first bit here, I'll describe how I got it up & running. Using a retired (read: second hand) IBM x-series server, I installed Cent-OS 5.1 following a standard minimalist installation.

Once the OS was installed, I added the development libraries, ensuring that I had all of the following installed as well:
  • xinetd
  • gcc
  • kernel-devel
You'll need to download the Linux port of VMware server, which while free, is NOT open-source, just in case you're a purist. You'll also need to obtain license keys by registering. Note that you can get more than one key at a time if you are planning on building a few of these systems! As of the time of writing this Blog, the current version (that I'm using) for VMware server is 1.05.

If you're doing this from the CLI in CentOS, you'll use the following commands to complete this:
tar xzvf VMware-server-1.0.5-80187.tar.gz
cd vmware-server-distrib
su -c "./vmware-install.pl"

On that last command, the one where as sudo you launch the installation script, you'll need to verify the path & the script name, I've seen it change, so be aware!

Follow the prompts making decisions about configuration as you go. You'll be prompted to run the vmware-config.pl script and that should take you through to a successful completion, assuming you've loaded all the correct kernel modules, etc.

The biggest item to watch for in all of this is planning ahead on how you choose to set up your network connections for the virtual machines you'll be hosting - host-only, bridged, or NAT.

So, that's how it's done. Now why do it is the logical follow-up question. Well, in order to give you a virtualization platform with no licensing or capital costs outside of the physical host server itself. Is this the right decision for your organization? Again, that really is going to depend on what you're trying to accomplish, but for us, it's a perfect fit in the labs, and possibly production systems too.

One word of warning first though. If you are thinking of hosting an Active Directory infrastructure on this platform for production purposes I'd review that decision personally. There is still a strong argument for having your AD (authentication, name resolution) server (at least the primary, or GC box) on it's own hardware and not dependent on a virtualization platform.