This subject seems to rear it’s ugly head with every new version of Hyper-V. We get new people trying the product for the first time who don’t know the best practices. And we get people who forget the best practices from last time around.
Here is my advice:
Use Logo Tested NICs
Only NICs that are on the HCL for your version of Windows Server (or Windows client OS if using Client Hyper-V) should be used. Make sure that your hardware manufacturer supports your version of Hyper-V (i.e. Windows Server) for all components that you are using from them. This is a starting point because …
If At All Possible, Do Not Use Broadcom NICs
Sure, that might preclude you from using certain stuck-in-2009 server manufacturers. And maybe that’s not a bad thing :D
Broadcom seems to be a name that comes up over and over, version after version, when there are problems. My lab is all Chelsio, but that moves you into the territory of 10 GbE iWARP, which is more expensive than what comes onboard a host. But it allows me to get great SMB 3.0 performance for storage and Live Migration over converged networks. Intel seems to produce decent NICs, firmwares, and drivers, which leads me to …
Update Your Firmware
Assumption … ARGH! Do not assume that your firmwares are up to date. I don’t care how new your server is. This goes for every part of the server. Update the firmware. Faulty older firmware is a common cause of issues.
Update Your Drivers
Use the latest drivers from the manufacturer. The drivers you got with the server might be old. The drivers in Windows Server might be old too. For example, the automatically detected Chelsio drivers in WS2012 R2 give poor performance. The fix is to download the drivers from Chelsio. If you bought a HP NIC then get the latest drivers from HP. If you bought a NIC from Dell then get the drivers from Dell.
Understand And Use Microsoft NIC Teaming
Third-party NIC teaming has never been supported by Microsoft for anything. Why? Because third-party NIC teaming pulls out the guts of Windows NIC teaming, pushes itself in, squeezes the networking stack back in, finds a few of those “spare screws” and throws them aside.
Take the time to learn Microsoft NIC teaming (there’s more to any teaming than the default options) and use it instead of the third-party unsupported crapware.