Almost a year ago, VMware released ESXi as an alternative to the “full” ESX (running a modified Red Hat Enterprise as its service console). The idea was to get a “Service Console”-free version that was easy to install and maintain and had a small footprint (32 Mb). VMware ESXi is designed to make the server a computing appliance. You can fit it on an USB stick, vendors could OEM it in the server itself, etc. The functionally of the service console is replaced by remote command line interfaces and adherence to system management standards. In July 2008, VMware decided to give it away for free.
Figure 1: ESX “full” versus ESXi
Microsoft’s answer to all of this is Hyper-V Server 2008. And guess what… they also made it freely downloadable (although the first statement was to sell it for $28). Just point your browser to the Microsoft Hyper-V Server 2008 download page and download it.
What is Hyper-V Server?
Hyper-V server is Microsoft’s answer to VMware’s ESXi (and also to Citrix’s XenServer free express edition). It is based on a modified Server Core version of the Windows Server 2008 Standard Edition x64 operating system. The Hyper-V role is enabled by default and all other roles/features are stripped. Do not confuse it with the “real” Hyper-V role: this role is available on Windows Server 2008 x64 editions (server core or full) and is enabled/activated after installation as a server role.
Hyper-V Server is limited in terms of CPUs (maximum 4, not cores but sockets) and memory (32 Gb RAM) and requires specific hardware. Make sure your processor supports x64, VT extensions (such as Intel VT or AMD-V) and hardware Data Execution Protection (or DEP, such as Intel XD and AMD NX). These settings can be enabled in the BIOS of your server/workstation (or are already enabled by default).
Also, there are no guest virtualization rights included in Hyper-V Server 2008
Microsoft Hyper-V Server 2008
Windows Server 2008 Standard
Windows Server 2008 Enterprise
Windows Server 2008 Datacenter
Guest Virtualization Rights Included in Host Server License
None—Each Windows Guest VM Requires a License
1 Physical + 1 VM
1 Physical + 4 VMs
1 Physical + Unlimited VMs
If you require Quick Migration, multi-site clustering, large memory support (greater than 32 GB of RAM), and more than four processors on the host server, you should look at using Windows Server 2008 with the Hyper-V server role installed.
Installing Hyper-V Server
The installation of Hyper-V server looks very similar to the “normal” Server 2008 installation. Obviously, one major difference is that you do not have to select a Windows version during installation.
Figure 2: Chinese or English? Choose wisely my friend…
Aside from accepting the license agreement, you have to partition your hard drive. After this you can sit back and relax until the installation is done.
Figure 3: Disk configuration
That was a straightforward installation! The first impression is that it looks and feels like a standard Server Core installation. Once you log in (and after changing the default blank administrator password) it is time to configure your server.
Figure 4: hvconfig.cmd: the Hyper-V server wizard
In this version, Microsoft introduced a very basic Hyper-V configuration tool (called hvconfig.cmd). Compared to ESXi where you can use the “Direct Console User Interface”, the remote command line or a full-blown Virtual infrastructure Client to configure it, the initial configuration options are limited.
Figure 5: Initial configuration tool for ESXi
First step is changing the computer name and network settings. This is done by entering the correct menu number and completing the wizard. Next steps are setting the correct Date and time and Regional options (notice the “control panel” look!). Give the machine a static IP address (using the Network Settings wizard) and the correct DNS servers.
Figure 6: The good old Windows Server 2008 “control panel” look
This server can me managed remotely using Remote Desktop (again, enabled via the Hyper-V Configuration tool). Make sure you change the display settings. This is not an option in the config tool. As this is a server core edition, you must manually change it in the registry. Use regedit and navigate to HKLM\SYSTEM\CurrentControlSet\Control\Video\<DisplayGUID>\0000 and look for the correct device description. Then, change the DefaultSettings.XResolution and DefaultSettings.YResolution to the appropriate values
Managing the Hyper-V Server remotely
Ok, so what are the options for managing your Hyper-V server remotely? You can manage your Hyper-V server with Vista SP1 or Server 2008 with the Hyper-V manager component installed or using WMI/PowerShell. But for this article, we will be using System Center Virtual Machine Manager 2008.
Let us have a look at how to connect to the Hyper-V Server. Fire up the Virtual Machine Manager Console and add the host using the “Add host” wizard. We will assume you added the Hyper-V server to an Active Directory domain (we used VMM.local, a Windows 2008 forest).
Figure 7: Adding the Hyper-V host to the inventory
Do a search for Hyper-V servers and add it to the SCVMM inventory. Notice that it says “Hyper-V Server” as Operating System.
Figure 8: Almost finished
Make sure you open the appropriate firewall ports on your Hyper-V server or you will get the following error message when adding it:
Figure 9: Make sure the firewall ports are opened!
The agent deployment needs to use SMB protocol to push the installer package over to the remote host and then perform installation from there. So you need to open the necessary ports using the following netsh command:
netsh advfirewall firewall set rule group=”File and Printer Sharing” new enable=yes
Once this is done, your Hyper-V server should appear in the overview. The first thing to add is a virtual switch to connect your virtual machines to the network. Right-click the server object and select properties. On the Networking tab, create your first vSwitch using (preferably) an additional physical network adapter.
Figure 10: Creating the first vSwitch
Comparing ESXi with Hyper-V Server
Hyper-V server is a good competitor to ESXi (or Citrix Xenserver Express Edition for that matter). In terms of hardware, Hyper-V is (currently) the clear winner when focusing on hardware compatibility. Whereas ESXi needs specific hardware (as defined in their Hardware Compatibility List), Hyper-V needs a compatible CPU that supports VT, x64 and DEP.
In terms of management, the VI Client (the GUI tool from VMware) can be installed on a multitude of operating systems whereas Hyper-V server needs a Vista SP1 or Server 2008 management station with Hyper-V manager feature installed. It is a single console that can be used to connect to ESX(i) and at the same time to VirtualCenter itself. However, Hyper-V can also be managed using WMI and PowerShell, a powerful combination.
If you look at the functionality, ESXi has the advantage (or disadvantage if you like) that you can overcommit memory (using balloon drivers, etc.). In Hyper-V, this is not (yet) possible.
Hyper-V is Microsoft’s alternative to VMware’s ESXi solution. This product is mainly targeted at the home user and SMB, as it lacks advanced features such as clustering support, quick migration and large memory sets. However, it can be installed on almost any hardware (assuming you have the correct CPU).