Virtualization – From Individual Desktops to Servers

There is a quiet but steady change going on in data centers and IT organizations around the world. Virtualized infrastructure. Underutilized single OS machines are now being re-targeted to run multiple operating systems and therefore scale horizontally thereby drastically reducing labor, hardware, OS & physical real estate costs in data centers. Add to that the overall reduction in lower energy costs and suddenly you have something really strong going on.

When I first played around with virtualization – I used Parallels Desktop on my MacBook Pro. It was great first brush with installing other OS’s on the Mac. Then used Sun’s VirtualBox to do the same. Both these and also VMware Player/Workstation required a host OS. In my case it was the Mac OSX and later my Windows OS. You then installed the target OS into the tool.

The host OS (HOS) is something that comes between the virtualization software and the hardware. This is fine for a desktop pattern of use. From a developer point of view this was fine too. Nowadays if you call vendors in for demos, quite often you see them bring up a VM (Virtual Machine) on their desktop and take us for a spin through their product.

But for a production environment, where you want to have as little fat between the virtualization software and the hardware, we had to find a way to get rid of the heavy HOS and instead replace it with lightweight (JEOS) OS sometimes also referred to as the hypervisor. JEOS – Just Enough Operating System. This would allow for efficient utilization of the hardware resources as well has add to it features such as fail-over which are required for critical production applications.

One hypervisor I am trying to install is the free VMWare ESXi. Unfortunately my old desktop does seem to pass the VMWare compatibility test. ESXi can be installed directly on your machine (it will replace any existing OS you have…so beware) and then you can use the VMware vSphere client to manage your ESXi server and install target OS’s. The paid version of the server vSphere (vs free ESXi) supports load balancing and backup features for VM’s (among a whole host of other additional features).

One neat product offered by WMware is the VMotion module. This allows for moving virtual machines from one server to another in a production environment with no impact to users. This feature depends on using the VMware cluster file system or VMware vStorage VMFS. The VM is stored in a single file and the vStorage VMFS allows multiple concurrent VM’s to read and write to it. Now that the VM’s can all access the same VM file, what has to be transferred, preferably over a high speed network, is the run-time state of a individual VM. Quite interesting…me thinks so.