Network teaming is useful for providing redundancy and increasing network capacity for servers. Traditionally, the downside has been getting it set up — often requiring the installation of non-native drivers for the network interface cards (NICs).
VMware ESX NIC Teaming
VMware ESX ships with the ability to connect multiple NICs to a single vSwitch–right out of the box. No additional drivers or configuration needed. You just need to click a few buttons to add the additional NICs. You end up with something like this:
There are several advanced configuration options available, but for the most part it “just works” and can be set up very quickly. This is one of the many great benefits of virtualizing your server hardware–individual virtual machines benefit from enhanced network redundancy without any additional configuration in the guest OS. Plus, it works for all guests, regardless of OS vendor.
Hyper-V NIC Teaming
How does Hyper-V handle NIC teaming? They punt and leave it up to the hardware (server and/or NIC) manufacturers. This puts the system administrator in an unpleasant situation. Take, for example, this thread on Mark Minasi’s Forum. That is not an isolated incident, as you can see.
Since this feature is up to the server vendor, let’s see what one of them has to say about it. According to this HP integration note, dated January 2009:
IMPORTANT
Windows Server 2008 Hyper-V does not support the Network Configuration Utility (NIC Teaming). Deselect this component before installing the PSP components.
Ouch. But wait–HP just published a HOWTO paper on the topic. Perhaps things are changing. Evidently, the installation order of the teaming drivers and Hyper-V is critical:
NOTE
If the teaming software is installed first, the network adapters may cease passing traffic. The resolution to this issue is to uninstall both the HP teaming software and Hyper-V, reboot the server and then reinstall Hyper-V and the teaming software.
But this is my favorite part (Server Core fans, take note):
Uninstalling teaming software
If HP ProLiant Network Teaming Software is already installed on a server, it must be removed (uninstalled) prior to installing and enabling Hyper-V.
NOTE
There is no known method of uninstalling HP ProLiant Teaming software on machines running Windows Server 2008 Server Core. A tool for removing the teaming software is under development and will be available on the HP website in the future. HP recommends that any machine designated to run Server Core, Hyper-V, and teaming be configured as such during the initial installation, using the specified order of installation described above.
Even if Hyper-V is “free” and the HP NIC teaming drivers are “free,” your time is valuable. Do you want to spend it configuring your hypervisor host OS, or getting real work done for your customers?
UPDATE You can read more about NIC teaming straight from Microsoft in this new post, via Cheng’s Random Thoughts. Wow — don’t configure VLANs in SCVMM. Where’s the single pane of glass?
Please note, the purpose of this article is to highlight the state-of-the-art in hypervisor NIC teaming — not knock HP. I am very satisfied with the HP Proliant servers that I use every day. They run ESX like a champ!
Pingback: SQL Server and Cloud Links for the Week | Brent Ozar - SQL Server DBA
Eric, it’s nice to see a bit more attention being paid to this particular issue. I first highlighted this issue last year after Tech-Ed 2008:
http://blog.scottlowe.org/2008/06/12/significant-networking-problem-with-hyper-v/
http://blog.scottlowe.org/2008/06/23/more-on-hyper-v-and-nic-teaming/
I’m not so sure I agree with Microsoft’s stance on this; just because they “left it to the vendors” for regular Windows doesn’t mean that same approach will work with the hypervisor. Just as virtualization changes the way things work, vendors have to change how they work to accommodate virtualization.
Scott, thanks providing those links. Good articles — the comments are especially interesting. (I think I can tell which of the commenters have never actually used ESX. 😉
Hey!!, Did you know that you can configure HP NIC Teaming on Server Core just tiping in the console hpteam.cpl!!!!, it’s sooooo easy, more than ESX. Touche
Awesome! Please don’t tell anyone else — it could cause an immediate shift from ESX to Hyper-V.
What make it more fun is that Microsoft does not support NIC teaming when Clustering Windows 2008 Servers including when running Hyper-V. As most environment running Hyper-V will be clustered you will just be out of luck on NIC teaming :).
Could you post a reference for that? Sounds interesting, but kind of hard to believe.
Broadcom Supports the following with Hyper-V:
Smart Load Balancing and Failover (configured only for one primary and one standby adapter)
Link Aggregation (802.3AD)
Generic Trunking (FEC/GEC)/802.3AD-Draft Static
Patrick has more details on each of these in the post
Installation order should be as follows:
1. Add the Hyper-V role
2. Install the NIC Teaming software
3. Configure the team
4. Configure virtual networking within Hyper-V
Fine, but the point is that Microsoft would refer customers to Broadcom if there are any issues.
ESX, on the other hand, is designed with NIC teaming in mind and it simply works out of the box. VMware support won’t tell customers to stop using NIC teaming if there is a network issue.
See the difference?
Wow, a colleague sent me to this site because he wanted me to see some comparisons between Hyper-V and ESX. So far, all I see is a lot of self-fellating about how proud VMWare is of VMWare and a lot of misinformation about Hyper-V. Thanks for reinforcing my opinion (a good one) of Hyper-V. I have loved it so far. No issues. And if I run into an issue, I know that Microsoft is just a free phone call away since I work for a Gold Partner.
I usually think that you’re a vmware taliban. But in this case i’m totally agree with you.