More on Hyper-V and NIC Teaming

My original article on Hyper-V’s issues with NIC teaming has gotten a fair amount of attention.

First Keith Ward over at Virtualization Review blogged about this issue. In his initial post, Keith basically pointed out the issue and then asked the readers for feedback: is this really as big of an issue as it seemed? The readers who responded were split; one blasted Hyper-V and the other wasn’t too concerned.

Keith followed that up with another post in which he provides a response from Microsoft regarding this issue:

NIC Teaming is a capability provided by our hardware partners such Intel and Broadcom. Microsoft supports our partners who provide this capability. This is true whether the customer is running Windows, Exchange, SQL, Hyper-V, etc. We’ll have a detailed KB article about this coming out soon.

Keith’s second article was then also picked up by DABCC.

While Microsoft is sticking to the “this is a device driver issue” mantra, I’m not so sure I agree. I can see their position to a point. In Keith’s second post, analyst Chris Wolf brings up storage drivers. This is similar in that Microsoft relies upon the storage vendors to provide device-specific modules (DSMs) that provide the multipathing functionality. So, like with the NIC teaming, Microsoft is pushing the functionality back to the device drivers and vendors who write them.

But that’s as far as this comparison can be taken. Microsoft officially supports storage multipathing; they don’t officially support NIC teaming. (See this KB article or this KB article.) In addition, Microsoft provides an official framework in which the storage vendors can operate: the MPIO framework. There is no such framework for network redundancy. In fact, if such a framework existed then much of the dissatisfaction with Microsoft over this issue would be alleviated, in my opinion.

Instead, there is no framework to provide official NIC redundancy for any Microsoft product running on Windows Server, and Windows itself doesn’t provide that functionality. Users are forced to adopt unsupported means to provide NIC redundancy. Why shouldn’t they be upset?

By the way, since publishing the first article I’ve been contacted by one of the presenters of the VIR358 session during this which issue came to light, but he has not yet been able to provide any additional information. As soon as more information is available, I’ll be sure to let everyone know here.

Tags: , , , ,

Well the biggest problem with doing NIC teaming this way is that you can’t combine several vendors in 1 team. If a driver fails, the complete team fails. So this way doesn’t provide you with optimal redundancy in my opinion.

First, I’m glad Scott is bringing light to this issue. It needs crystal clarification and Microsoft needs to pump out a recommended strategy. Clustering and Live Migration is not a replacement.

I really hope this article is not just Hyper-V bashing for the sake of it and truly helps us find a great low-cost virtualization solution.

A couple notes:

The KB articles are about Virtual Server not Hyper-V.

I’ve used Etherchannel (NIC bandwidth load-balancing and fault-tolerance) for many years. Intel, Broadcom, Cisco etc… are the experts in this arena not Microsoft or VMware.

Historically, Broadcom does allow you to combine several vendors in 1 team but I prefer keeping 1 vendor in a team. Mixing NIC drivers is too much of a negativve to outweigh the positive.

Andrew,

I’m not just bashing Hyper-V for the sake of bashing Hyper-V. I’m pointing out what I feel is a significant problem in a vendor’s solution. Note that I’ve done the same to VMware in the past. I’m an equal opportunity basher. :)

With regards to your notes:

- One of the KB articles is about Virtual Server, the other is about Windows Server clustering, including Windows Server 2008.

- No one is disputing that Microsoft is not a networking expert. Again, my biggest beef is that Microsoft has not even provided a framework in which NIC vendors can provide fault tolerance.

- I was not aware that Broadcom did allow you to mix vendors in a team. I do agree, though, that doing so adds a layer of complexity that would be better avoided if at all possible.

Finally, with regard to cost: I would just say that you get what you pay for. If you truly need an enterprise-class virtualization solution, then you need VMware, and the cost reflects the functionality. Hyper-V’s not there in that space yet. If you need an entry-level virtualization solution, then Hyper-V will work for you, and its cost reflects that as well.

“Get what you pay for” comments is the reason VMWARE charges the rediculous sums they do.

They also see that Application Virtualization is really going to crash the party.

Is it your feeling that current Etherchannel is not an acceptable solution in general or just specifically Hypervisors?

Andrew,

I don’t want to get into an ideological debate with you regarding VMware’s pricing, but I will say that VMware is free to charge whatever they like for their products, just as Microsoft is. Some would say that Microsoft’s prices for Windows Vista are as ridiculous as VMware’s VI3 pricing, if not more so.

Also, take a look at the per-VM costs for each of the major virtualization solutions…you may be surprised at the outcome.

With regards to application virtualization, I don’t know that I would say it’s going to “crash the party,” but I will say that it was a smart move for VMware to buy Thinstall. Microsoft is coming on strong in the desktop virtualization space; although they have yet to deliver some concrete products, the technology looks solid. VMware had to be prepared to compete.

Finally, about EtherChannel: EtherChannel (or LACP) is a good technology, and it works well in the right situations. It’s not the right fit in all cases, virtualized or not. I’ve used it in some VMware deployments, and in some VMware deployments we just use NIC teaming. In network-to-network connections (say, between switches), it makes a lot of sense. From a server to a switch…well, that depends upon what the server is doing, what kinds of traffic it’s generating, how many clients are connecting, etc.

Good points, Scott. Sorry for jumping in late, but I was at a conference all of last week, so I’m finally getting caught up on news, etc. My point to Keith Ward was basically that we’ve gotten by without official support for so long, that we’re almost used to it. I’d never deploy a Microsoft cluster without teamed NICs (even though such a config wasn’t supported by MS), and MS and the organization would typically look right past the NIC teaming support issue. That all being said, your points are right on. Multipath is officially supported and NIC teaming should be as well.

Chris,

No worries about “jumping in late”–I’ve been loosely following your comments at the Catalyst ‘08 conference.

I think that all most readers really want is just for Microsoft to acknowledge that Windows needs a NIC teaming framework. Even if Microsoft can’t (or won’t) provide that functionality themselves, they should at least provide a supported framework for third-party vendors to use.

Thanks for reading, and for adding your thoughts!

I just designed and deployed a clustered Hyper-V system that has Intel NIC Teams no problem. It’s in production and running 12 VM in on the cluster…

GeoTech,

Thanks for sharing your experience. I think that everyone agrees it will probably work just fine. A lot of people, though, are just uncomfortable running enterprise workloads with configurations that are “unsupported.”