The Little Server That Could

Published Date
01 - Apr - 2007
| Last Updated
01 - Apr - 2007
The Little Server That Could

Thanks to virtualisations, a single server can manage a lot-including saving money and managing resources better

In an ideal world, you'd invest in one server for each function in your office-one file server, one domain controller, one proxy server, and so on. All are isolated, so changes in one won't affect the others, and if one crashes, the rest remain unharmed. This is all nice, but did you know that even a Pentium II running on Linux (or a Pentium III running Windows Server 2003) can act as a file server for a hundred-odd people? Even entry-level servers have much more power; imagine the processing power you waste if you buy one dedicated server for each function!

The best way to put all this unused power to use is server virtualisation. Despite it being around for ages, very few people are even aware of the concept; however, it's been gathering momentum over the past couple of years.

What It Is
It's a broad term and is used in many contexts, but the simplest explanation is that virtualisation splits a single server into many "virtual" servers, each running a different operating system. For example, a dual-core processor-based server can be virtualised to behave like two single core-based servers, and so on. If you run your file server on one, you've got plenty of processing power to run your proxy server on the other. It is estimated that it will take eight such virtual servers to bring CPU utilisation up to 50 per cent at full load, as opposed to the paltry 5 for just one OS. And since you paid good money for that CPU, you might as well utilise it properly.

How It Works
When you install a single OS, it talks directly to the hardware. Any application that needs to perform a system task-writing to the hard disk, for example-needs to do so through the OS. If many applications need access to the hardware, the OS lets them have it on something of a "time-share" basis. With virtualisation, this concept goes one step ahead. Instead of the OS, you now have a hypervisor or Virtual Machine Monitor (VMM) running directly on the hardware, and the operating system runs on top of the hypervisor. Another way virtualisation is implemented is with the hypervisor running within a "host" operating system, and the remaining "guest" operating systems running on that hypervisor. In the first case, one layer of code has been added between applications in guest operating systems and the hardware; in the second, two.

Of course, you're probably appalled at the performance hit this represents. It's been estimated that for every layer of code between an application and the hardware, performance drops by a factor of ten. Virtualisation software developers have been battling this problem for a long time-at the stage they've reached today, the performance hit is a fair price when you consider the bigger picture (which we'll come to in a bit). Intel and AMD have started supporting virtualisation on their new server processors, so we should see better performance from virtualised servers in the future.  
Why Do I Care?
The first advantage of virtualisation, as mentioned before, is the consolidation of many functions into one physical server. This saves you money and ensures that your CPU is utilised better-but there's more. If you're running a file server, proxy server and e-mail server on the same server, and that server gets infected with a virus, three of your office's most important IT services go down. If you've got each service running on its own virtual server, only one of these will get infected with the virus, enabling you to quickly isolate it from the network and troubleshoot-all this while the remaining two continue to function properly. Even a crash only affects the individual virtual server, leaving the rest unharmed.

Virtual servers also come in handy when you want to test the effect of installing a new program or update on the server-just make a clone of the virtual server, install whatever you want to, and test. Once you're satisfied with the results, you can move everyone seamlessly to the new virtual server with no downtimes at all. If you're used to coming to work on the weekend to upgrade your server or shift services to a different physical machine, fret no more-virtual machines can be moved to new physical locations without ever going offline.

The Providers

In the beginning, there was only VMWare, but now you'll find a lot of software vendors offering virtualisation solutions for businesses of all sizes.

When you're creating virtual servers, make sure your
peak CPU usage doesn't cross 50 per cent

Microsoft Virtual PC and Virtual Server
Available as free downloads, both Virtual PC and Virtual Server support the virtualisation of Windows operating systems; the former is aimed at the home tinkerer, and the latter at servers. One of the advantages they're touting is the ability to run legacy applications (Windows 98-based and older) while still enjoying the benefits of Windows XP.

If you're using software that isn't supported under XP, you can create a virtual PC with Windows 98 to run it while you wait for a compatible version. Virtual PC is ideal for SoHo environments-it's very user-friendly and supports all Windows workstation operating systems, as well as DOS and OS/2.

If you need to run Windows Server 2003, though, Virtual Server is the one you want. It supports Windows 2000 Server and Server 2003, in addition to those supported by Virtual PC. You can also run Red Hat and SuSE Linux by downloading the Virtual Machine Additions for Linux.

This open-source virtualisation solution has been making quite a few headlines recently, especially when Microsoft announced that they will be working with the developers to support Linux on Virtual Server. It runs directly on the hardware, and requires that any guest OS be modified to run on it-something that prevented it from running
Windows till hardware supported virtualisation came along.

Xen comes in three flavours-the free Xen Express, which comes with no support, and can host only four virtual machines-ideal for small organisations. If you want to run Windows virtual servers, you'll have to invest in Xen Server for $99 per year-not that Xen Express doesn't support Windows, mind you. However, this is possible only with processors that have hardware-supported virtualisation-the AM2 platform processors from AMD and the Pentium D, Core Duo, and Core 2 Duo series from Intel, for example. You'll find the full list at HVM_Compatible_Processors.

Setting up Xen is quite a task; you'll have to install it on the server, and then use a client PC to administer it (using the Java-based control panel) and install more operating systems. However, since the guest operating systems will run closer to the hardware, performance is significantly better, and makes it worth the effort.
The leader in the virtualisation market, VMWare offers a slew of products for all sorts of environments and tasks. VMWare Server is now free, in response to Microsoft Virtual Server going free, and offers a lot more features-you can run any Linux distribution under it, for example.

You can also use it to test applications inside virtual machines before you finally decide whether or not to install them on your primary OS.

VirtualCenter for VMWare Server lets you administer VMWare servers from a central location. VMotion, bundled with VirtualCenter, lets you shift virtual servers to different physical servers without any downtime.
Overall, though, most of VMWare'sproducts are targeted at much bigger enterprises and datacentres.

Virtual Iron
Proudly taking on VMWare with its "Free Enterprise-class Virtualisation" is Virtual Iron, another newcomer with a lot of promise. Virtual Iron is based on the XenSource engine, but doesn't require guest operating systems to be modified, nor does it require a processor supporting hardware virtualisation. It's also easier to use than Xen, and shows a lot of promise at this stage. You can try it out yourself from our March 2007 DVD.

Before you run out and start making virtual servers, you'll need to look at the license agreements for the software you use. Microsoft recognises virtual installations of their operating systems as new installations, so you'll have to pay for each copy of Windows XP or Server 2003 that you run on a virtual machine. Most software companies do the same, so be sure to get all your licensing doubts cleared before you go ahead. With Linux, of course, none of these problems arise.

When you're creating virtual servers, make sure your peak CPU usage doesn't cross 50 per cent-it's an accepted ceiling to ensure a balance between proper resource utilisation and system stability. In addition, make sure you create virtual servers only for services that don't require too much processing power-those are best left to their own servers. Now you can stop payment on that cheque for the new server.

Nimish ChandiramaniNimish Chandiramani