Server virtualization is one of those rare technologies that sounds too good to be true, but it’s real. Its earliest use was to consolidate underutilized server hardware onto a smaller number of machines. Since those early days, it has grown into a multipurpose solution that enables greater reliability, improved management, and other benefits that make it an all-but-indispensable tool for enterprise datacenter administrators.

The rocket science that makes virtualization work is as easy to summarize as, well, a rocket. To use an oversimplified definition, a virtual server mimics, using software alone, the behavior and capabilities of a stand-alone computer.

The nomenclature of virtualization is simple. The bottom of the software stack is occupied by a single instance of an ordinary operating system that’s installed directly onto the server hardware. Above that, a virtualization layer handles the redirection and emulation that make up the virtual computer. The combination of these two lower layers is referred to as the host. The host provides the full workings of a familiar PC right down to its BIOS ROM, and it can spawn as many independent PCs -- using varying user-defined configurations -- as you choose.

As are physical servers, a virtual PC is useless until you install an operating system on it. The operating systems that you install on your virtual hosts are called guests. Installing a guest OS can be as easy as booting from the OS’s installation CD. It’s just like installing an OS on a PC, and in general, if you wonder how virtualization will behave, that’s the answer: Just like a PC.

In fact, in an all-Windows environment, it’s easy to lose your place: Are you looking at your Windows host OS or at one of the four Windows guest OSes you just installed? You might get confused, but your guest OSes and their applications never do. Each guest OS believes it has the whole machine to itself. And, in a sense, it does.

Software-based hardware

Operating systems and applications running on virtual servers don’t have direct control over resources such as memory, hard drives, and network ports. Instead, the VM that sits beneath the OS and applications intercepts requests for interaction with hardware and handles them as it sees fit.

The real mindblower that turns this technology into something close to magic is that a world-class virtualization solution such as VMware ESX Server can synthesize an entire hardware configuration that has little resemblance to the underlying hardware. For example, the host might simulate the initialization process of a SCSI controller to the last detail, convincing the guest OS that this initialization is being performed even when no physical SCSI controller exists. It can make IDE drives look like SCSI drives, convert network shares into locally attached storage, turn one Ethernet adapter into several, and create gateways between older operating systems and unsupported modern hardware such as Fibre Channel adapters. You build your own servers that precisely fit the needs of your applications, but you use a mouse instead of a screwdriver.

Installing the OS and software onto a physical PC server every time you need one can be tedious. Fortunately, with virtualization you don’t have to. After you’ve tuned a virtualized hardware configuration precisely to your liking, you can save that server’s disk image to a file and use it as a template for other guest systems. In practice, this is a delight. You can back up a virtual server by copying the file. You can create a new server by duplicating the file -- copying Windows requires reactivation and an appropriate license -- or move an existing server to different physical hardware.

Click for larger view.

Virtualized servers do all the good and bad things regular servers do. They boot up, power down, suspend, hang, and even crash. If a guest OS or a device driver it uses is buggy, the virtual PC will crater. But not the physical computer, and that’s key.

If your OS crashes or an application hangs, or even if you install a software fix that requires a reboot, nothing happens to the hardware. One virtual machine can fail over to another in a purely virtual sense or in a way that’s closer to the real thing. Even if certain hardware devices have malfunctioned, so long as the fail-over target is configured to use a secondary network adapter and an alternate path to storage, the fail-over will work exactly as it would if the virtual PCs were physical PCs.

In most cases, an enterprise management system will monitor and react to a virtual fail-over as if it were the real thing. Solutions such as HP OpenView see and interact with virtual servers the same way they do with physical ones. The reported configurations of the servers will change after they’re virtualized, but it’s entirely likely that the day-to-day management of your shop will experience little change.

In addition, most virtualization systems bundle solution-specific management software, allowing an administrator to sit at a central console and manipulate all the virtual servers in an enterprise. It’s quite an eye-opener to swap out a virtual Ethernet card without ever touching the hardware.

A virtualization solution’s management console gives you a degree of control over your virtual PCs that surpasses what administrators can do with traditional tools. From a central location, you can boot and shut down virtual PCs as needed. It’s also possible to pause them, which harmlessly freezes them in their current state, or hibernate them, putting them in a deep freeze by saving their state to a file on disk. By overwriting the disk file, you can restore PCs from a backed-up state and roll back changes that rendered the guest inoperable, all from a terminal session.

For example, if your physical storage configuration supports volume sharing -- our own reviews were performed with an Emulex SAN storage switch and an Apple Xserve RAID disk array -- VMware’s VMotion option allows you to pause a running guest and start it up again on a different physical server. In a matter of seconds, you can push all the running guests and their applications from one server to another to take a machine down for maintenance. Or you can use VMotion for reprovisioning assets. A virtual PC that’s bogging down the network segment it occupies can be moved to a location with less traffic. No back strain, no recabling, and at most a few seconds of paused execution, not ended sessions or rebooting.

In environments with a mix of operating systems -- a common condition that turns even simple consolidation into a messy affair -- one solution would be to host each OS in its own VM. For example, on a PC server running one of VMware’s virtualization solutions, you can run any combination of Windows 2003 Server, Windows 2000, Windows NT 4.0, various flavors of Linux, and FreeBSD. You can even use VMs to host different versions of the same OS. Linux software is infamous for dependence on specific versions and vendor distributions of Linux. Virtualization is the only way to run applications designed for Red Hat 7.2 and Suse 9.0 simultaneously on a single server.

Virtually flawless

Virtualization is magnificent stuff, but it doesn’t jump out of the box and cure all ills. You can never create a virtual PC that outperforms the physical system underneath. You will learn much about your applications’ system requirements from moving them to a virtual environment. They’ll likely surprise you, either with how little of the original server they used -- that’s the typical case -- or how piggish they are. If necessary, you can throttle the nasty ones down.

And while one of the great benefits of virtualization is security -- it’s hard to accomplish much by cracking a system that doesn’t exist -- a virtualized PC can still be compromised. Fortunately, the cure is to overwrite the virtual PC’s disk image with one that’s known to be clean, but managing virtual servers still requires vigilance.

Ultimately, hardware consolidation is only one reason to opt for server virtualization, and it has wide appeal. Still, depending on each department’s unique needs, IT managers are sure to find innumerable ways that virtualization can benefit your enterprise. Too good to be true? Maybe. But it’s also too good to pass up.