The concept of server virtualization has been around for quite a few years now, but it seems to just now really be taking off. The basic idea behind server virtualization is that many servers tend to be grossly underused. It is not uncommon for a server to only use about 10% of its hardware resources. Virtualization allows a single physical server to run multiple guest operating systems as a way of making more efficient use of the hardware.
In Windows Server 2008, Microsoft includes a virtualization technology called Hyper-V. The biggest advantage that Hyper-V offers over its predecessor (Virtual Server 2005) is that it offers full 64-bit support. In fact, only 64-bit versions of Windows Server 2008 support Hyper-V. Hyper-V is capable of running both 32-bit and 64-bit guest operating systems.
Although it is fairly easy to deploy Hyper-V and the guest operating systems that run on it, you’re going to need to do some planning beforehand in order to make sure that your server is up to the job. Although servers tend to be underutilized, utilization can go way up when you start running multiple operating systems. As such, hardware planning is critical.
I have already mentioned the 64-bit requirement, but Hyper-V also requires virtualization support from the underlying hardware. The reason for this is that most virtualization technologies work by piggybacking the guest operating systems on top of the host operating system. Although this technique works, it does have one serious flaw. Problems with the host operating system can directly affect the guest operating systems. For example, a buggy device driver for a network card could cause networking to fail for all of the guest operating systems running on the server.
Hyper-V is constructed differently though. Although it still depends on the host operating system to a degree, each guest operating system is also allowed to interact directly with the hardware. This not only helps to eliminate some of the potential single points of failure, but it also helps to reduce the amount of processing that must be done in order to host a guest operating system. As I mentioned though, the hardware must support virtualization at the BIOS level.
Now that I’ve talked a little bit about how Hyper-V works, I want to discuss some of the other hardware requirements. There aren’t any firm CPU requirements beyond the 64-bit requirement that I am aware of, but Hyper-V is designed to allow you to assign processor cores to various guest operating systems. Each guest operating system supports up to four CPU cores.
The memory requirements associated with Hyper-V vary widely depending on the virtual machines that you plan on running. As a general rule, plan on dedicating 2 GB of memory to the host operating system. You also have to have sufficient memory to support each guest operating system. For example, if you’re running three virtual instances of Windows Server 2008, each requiring 2 GB of memory, then the total amount of memory required by the server will be 8 GB.
There aren’t any firm requirements as to the amount of hard disk space that you have to have, but there are some limits that you need to be aware of. Each guest operating system runs on a virtual hard drive, that is essentially just a file that works similarly to a page file. Each virtual hard drive must be at least 4 GB in size, but you can allocate up to 2 TB.
I would recommend installing the host operating system onto the server’s boot drive, and then storing the guest operating systems on a raid array for performance reasons.
The last thing I want to quickly mention is virtual machine management. Windows Server 2008 comes with everything you need to manage the virtual machines that are running on the server. However, if you have multiple machines that are each hosting multiple virtual servers, then you may need a more powerful management tool than what is provided. In such situations, Microsoft recommends using System Center Virtual Machine Manager. This is not an absolute requirement, but it will allow you to manage large numbers of virtual servers more efficiently.
In this article, I have explained that Hyper-V is a powerful server virtualization solution. As you might expect of such a demanding solution, Hyper-V has some unique hardware requirements that must be addressed prior to deploying your virtual server environment. Continue reading more on this topic in Part 2 of this series on Windows Server 2008 Virtualization, Implementing Hyper-V in Windows Server 2008 and Part 3, Creating and Managing Virtual Servers with Windows 2008 Server & Hyper-V.