How To Avoid Common Networking Issues In Hyper-V

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 😀

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.

Install The Recommended Updates For Windows Server

Windows Update is not enough. Let me repeat that: WINDOWS UPDATE IS NOT ENOUGH. If you think it is, then please stop reading, print off a resignation letter, and go home now. Download and install the recommended updates for Windows Server. This link will lead you to 3 sets of updates for WS2012 R2.

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.

EDIT (28/07/2014):

One more to add ..

Don’t Use Blade Servers

You have no choice but to use what the manufacturer gives you. For many of you, that will be Emulex NICs … and using those are like going fire-walking after taking a bath in petrol (benzine for Europeans, and gas for Americans).

Disable VMQ on Virtual Switch NICs

This is a workaround, and not a solution. We want and may even need VMQ for networking performance and scalability. However, we have seen NICs (Emulex and Broadcom) where having VMQ enabled has caused issues. This should be fixed by the manufacturer using firmware/driver updates … but some manufacturers don’t give a damn about their customers. Emulex – care to prove me wrong?