Like most other IT professionals I have jumped on the virtualization bandwagon. I started using VMware server about three years ago, and I continue to use it to a great extent to virtualize both Linux and Windows guests. I’ve been very happy with the performance and ease of use. Version 2 of the product does have some management interface issues, but overall support is good and things work as they should.
I’ve been planning on replacing five physical servers with two and wanted a more robust solution than host based virtualization offers. I don’t want to pay for the more advanced VMware product (I think they are calling it VSphere now?, used to be ESX Server). Since my task is pretty minor in the realm of server consolidations I figured the two free products ESXi or Hyper-V Server would be the best fit.
So much has been written about the benefits of virtualization, but to me the benefits of virtualizing servers are:
Simple disaster recovery
Improved failover and clustering options
Since I knew I wanted a bare metal solution I needed a newer hardware to support it. Originally I was looking at Dell’s new line of Xeon 5500 series servers (T610). But I was looking at a minimum of $5k for a decent system with enough storage for my needs. I ended up spending about $2,300 on a SuperMicro system (5036-T) that supported the new Xeon 5500 series and included a 4 bay drive cage. I configured the server with:
Xeon E5520 2.26 GHZ quad core chip
HighPoint 4320 RAID card
12 GB RAM
four 320 GB WD RE3 hard drives.
Originally plan was to use ESXi, but it did not support the HighPoint RAID controller (I eventually was able to get drivers from HighPoint, though I never did test them). After hitting that hurdle with ESXi I took a stab at Hyper-V Server.
Installation of Hyper-V server was very simple, downloaded the iso, burned to DVD and popped it into the new server. The setup routine is the same familar windows setup that’s been around since windows 2000 (though it has been updated). I was able to installed the HighPoint RAID driver without a hitch from CD. I’m so glad windows added CD support for loading drivers in Windows setup, so we don’t have to create a floppy anymore. I partitioned my 1TB of RAID5 storage with 2 partitions an 80GB for the Hypervisor and the remainder for the virtual machines.
When Hyper-V Server finally booted up I logged in and was presented with two command windows. One a standard command prompt and the other a command screen with thirteen different options (see screen shot).
Notice there are no options here to manage guests. For that you need the Hyper-V Manager. This tool is available for free from Microsoft for Windows Vista and Windows 7. Getting this tool to work on the other hand requires a bunch of manual configuration on both the server and the client you wish to manage the server from. The best resource on figuring this out is a blog post from Hyper-V program manager here: Hyper-V Remote Mgmt
What I learned is that the free Hyper-V Server is just like Windows Server 2008, but with only the Hyper-V and Server Core roles enable. It appears that Microsoft intended for the Hyper-V to be managed from the host OS which is not an option with Server Core. I was never able to get remote mgmt to work correctly w/o disabling the firewall on the server even after following all the instruction and documentation that I could find. The documentation for Hyper-V Server is very lacking when compared to VMware’s products (hence the reason for this post).
I was eventually able to get Hyper-V Manager to work successfully after considerable trial and error (disabling the firewall helped). Hyper-V Manager is very similar to VMware server 1 interface. Your first step is to setup your Virtual networks. Since one of my guests was a 2003 server I had to first set it up with a legacy network adapter and install SP2 before I was able to install the Hyper-V integration components. I also installed CentOS 5.2 successfully using the images provided by Jules.FM. Jules has compiled in the integration components into CentOS allowing use of the synthetic network driver. This worked wonderfully, great instructions provided by Jules.
So once I was up and running with my two virtual machines I notices some remote desktop and SSH were both laggy. Also I noticed that if I pinged from with the guest OS I was getting very odd results, very erratic ping results (though no dropped packets), slow response times. When pinging to the guest OS the results were as expected. I tried the following without any results:
disabled TCP, UDP offloading in registry on Hyper-V Server (host) using registry
disabled TCP, UDP offloading in registry on guest using registry
disabled jumbo frames
updated network driver on host
What fixed the problem was going into the server bios and disabling the following:
Once these were disabled networking in the guest OS’s started functioning as expected. Overall I’m very pleased with the server setup and performance. I’m glad I went with this system it’s really a better fit than what Dell or HP had to offer for a this small consolidation project. My only complaint is that Microsoft does not provide a guide, or instructions for this version of their product. I guess you get what you pay for… Hence the need for additional community documentation.