Server virtualisation has recently been gaining attention in networking circles because it gets you more bang for the buck by making it much easier to consolidate servers. There are many benefits associated with server virtualisation, but there are also a couple of drawbacks you need to consider. In this article, I will introduce you to the concept of server virtualisation. As I do, I will explain what virtualisation is and how it can benefit you, and I will also talk about some of the issues that you will need to watch out for.
Why use virtualisation?
The basic impetus behind server virtualisation is that many servers are underutilised. Today's physical servers often include multiple processors, each containing multiple CPU cores. They also tend to offer lots of memory, and insane quantities of disk space. While some servers need these types of resources, others don't. If you're running a simple application, there is a good chance that the vast majority of a server's power is not going to be utilised. Virtualisation allows you to consolidate multiple servers into a single physical server so that you can reduce the number of physical servers required by optimising the resources of the server you are using.
Server virtualisation is different from just installing multiple applications on a single server. If you were simply to install multiple applications onto a single server, running a single operating system, there are lots of issues that you would need to plan for. For example, it would be critical that the applications not interfere with one another. Some applications simply cannot run side-by-side.
Server virtualisation works by using the server's primary operating system as a host operating system. This host operating system runs a virtualisation product, which in turn supports the use of virtual servers. Each virtual server runs its own operating system that is completely independent of the host operating system and other virtual servers that may be running on the host operating system.
Several virtual server products are available. The two most popular are Microsoft's Virtual Server 2005 and VMware Server.
I've already mentioned that many application servers tend to underutilise the resources that they have available, and server virtualisation helps the available resources to be better utilised. There are many other benefits to virtualisation, though.
The benefits of server consolidation
1. Save on utility bills
First, let's talk about server consolidation itself. Server consolidation usually leads to significant cost savings for several reasons. For starters, utility bills often decrease because there aren't as many servers drawing power. Likewise, the air conditioner won't have to run as hard to keep all of those servers cool, because less heat is being generated.
2. Reduce hardware maintenance costs
Another benefit of server consolidation is that hardware maintenance costs are reduced. Over time, parts of servers inevitably fail and need to be replaced. Having fewer servers means fewer potential failures and lower maintenance costs related to hardware failures.
3. Reduce server deployment costs
Server virtualisation can also greatly reduce server deployment costs. In the case of Microsoft's Virtual Server 2005, each virtual machine is assigned a virtual hard drive. The entire virtual operating system and the applications running on it are all contained within this virtual hard drive. The virtual hard drive isn't a volume on the physical hard drive, however, but a file. Like any other file, a virtual hard drive file can be easily cloned.
4. Eliminate hardware compatibility issues
Virtual servers are completely unaware of the actual hardware available on the physical server. Virtual Server 2005 uses hardware emulation. With hardware emulation, every virtual server sees the same underlying hardware, regardless of what physical hardware is actually present. This means that hardware considerations, at least from the standpoint of compatibility, become completely irrelevant.
5. Ensure consistent Windows configuration across servers
Virtual servers can reduce your deployment costs because you can easily create a virtual hard drive, install Windows on it, and then clone that virtual hard drive. Any time you need to deploy an additional virtual server, you can start with a clone of the virtual hard drive. Not only does this free you from having to install Windows every time you deploy another server, it also ensures that Windows is configured in a consistent manner for each of your virtual servers.
6. Simplify disaster recovery
Just as Virtual Server 2005 reduces deployment costs, it also has the potential to make disaster recovery significantly easier. As I mentioned before, virtual machines are not aware of the underlying hardware. This means that you can easily move virtual machines from one physical server to another without having to worry about compatibility issues.
7. Support legacy applications
In a lot of real-world deployments, virtual hard disks exist on a storage area network. Should a physical server that is hosting virtual machines fail, another server can be brought online and can quickly and easily take over the job of hosting the virtual machines. There are many ways of implementing this type of functionality, but in almost every case, disaster recovery time can be reduced to a matter of minutes.
Another thing that virtual servers are useful for is supporting legacy applications. Oftentimes, organisations will keep aging hardware on hand because they are running a legacy application that cannot function on newer hardware. In some cases, these types of applications, and even the operating systems that they run on, function very well in virtual environments because of the way virtual servers emulate hardware. Not every legacy application will work in a virtual environment, though, so it is important to do testing before moving a critical application to a virtual server.
There are a few issues you need to be aware of if you're considering switching to a virtual server environment. The biggest issue is hardware utilisation. Because there are a couple of layers of abstraction between a virtual machine's operating system and the physical hardware, a virtual machine will never run as quickly or as efficiently as a physical machine.
Also, because multiple virtual machines are going to be sharing the physical hardware, it is extremely important to make sure that the physical hardware is up to the job. This means making sure that your physical server has as much memory as possible, a high-speed disk array, and as many CPU cores as you can get away with. It also means, though, that you need to put some serious thought into which machines you want to consolidate into a virtual environment.
Not every server is a good candidate for virtualisation. For example, Exchange Server tends to be extremely resource intensive and therefore would not be a good candidate for virtualisation. On the other hand, most DNS servers and DHCP servers are vastly underutilised. These are often perfect candidates for virtualisation.