One of the most highly requested and anticipated features of Windows Server 2012 and Hyper-V is the built in NIC teaming functionality. As many readers know, NIC teaming is the concept of taking two physical NICs and creating from them a “team” which appears to the operating system as one NIC. This provides network high availability as one member of the team may fail but the team remains functional and network connectivity preserved as long as one or more of the team’s NICs are still connected. This has long been an area of complexity and some frustration in Hyper-V through Windows Server 2008 R2 as providing network resiliency required 3rd party solutions, some of which were pretty good, and some of which were not. I’ll not name names here For a while VMware has had teaming functionality built in, and with Windows Server 2012, Microsoft will now have a robust but very simple to configure solution built in with a number of advantages.
Two of the best resources for learning about this new capability are listed below. The first is a good overview, the second an in-depth document for understanding and setting up NIC teaming in the Beta release. Since this is Beta, obviously specifics and details may change by RTM.
Network Adapter Teaming Technical Preview (link)
The Windows Server “8” Beta NIC Teaming User Guide (link)
As you will see, there are a couple of design choices to be made when implementing NIC teaming (using switch independent or LACP modes of operation and which traffic distribution algorithm to use). A second critical consideration is the network adapter hardware and the combination of networking features you require at both the host and guest level.
It is critical when designing a Windows Server 2012 and Hyper-V based solution to map out which features can work in conjunction with each other and which features are mutually exclusive. Examples include whether and when RDMA (link) is available, what features are compatible with SR-IOV (link) and so on.
For this post I’ll focus on one example which is that when using SR-IOV, the network traffic of VMs does not pass through the virtual switch, thus does not pass through a team at the host level. The benefit of direct network adapter access by the VM is important, but at first seems to prohibit network connection high availability. Fortunately, the powerful NIC teaming capability also functions within Windows Server 2012 virtual machines. So in the case where you want to take advantage of SR-IOV capable NICs (and associated server motherboards/BIOS), you can still provide highly available network connectivity to virtual machines by adding two vNICs to each VM, with the vNICs assigned to virtual functions of the underlying adapters (if you read John Howard’s SR-IOV series linked to above you will know what this is). Then, inside the Windows Server 2012 VMs, you will see two adapters, which themselves can be teamed. Should there be a failure or loss of connectivity to one of the two host NICs, the team inside the VMs will maintain connectivity as the team will keep the connection alive.
This is a very powerful feature and illustrates that Windows Server 2012 and Hyper-V provide a variety of features that can be combined in different ways to meet varying business and technical requirements.
The user interface for NIC teaming is quite simple but also very powerful. Given the ease of use and the robustness evident even in the Beta, I’m certain this will be one of the most highly utilized features in Windows Server 2012 and Hyper-V. I’m running it on some of my lab servers with cheap and disparate NICs.