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.
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
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.
XenSource
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 http://wiki.xensource.com/xenwiki/ 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.
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.
Finally…
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.