21 Oct 2013

Implementing NIC teaming

One of the challenges involved in operating VDI is ensuring that the servers hosting your virtual desktops have adequate network bandwidth available to handle the VDI workload.

This has always been especially problematic in Microsoft VDI environments, where there has historically been no native software-level support for network interface card (NIC) teaming. Teaming allows a pool of virtual machines to be connected to a common virtual switch, which is in turn bound to a NIC team rather than to a single NIC. This makes it possible for the virtual switch to support far more virtual desktops.

Prior to Windows Server 2012, virtual switches connected virtual desktops to physical NICs. That meant it was possible to overwhelm a NIC unless an administrator was careful not to connect too many virtual desktops to a virtual switch. This isn't to say that it was impossible to build a NIC team. It just wasn't natively supported. If you wanted to create a NIC team, you had to implement it at the hardware level by using NICs that were specifically designed for teaming.

Windows Server 2012 finally added native support for NIC teaming using commodity hardware, and Microsoft took things a step further with even more promising improvements in Windows Server 2012 R2.

NIC teaming in Windows Server 2012

The teaming feature in Windows Server 2012 worked well for VDI unless a user generated abnormally large traffic flows. Windows would load balance the various traffic streams across the NICs within the team, thereby allowing the traffic to be handled efficiently. However, this load balancing model broke down when a few large network flows were introduced.

The problem was that the NIC team didn't do much to load balance large traffic flows. A single NIC in the team could become saturated (and overwhelmed) even if there were other NICs in the team with sufficient unused capacity to handle the flow.

Windows Server 2012 R2 addresses this problem by introducing a new dynamic load balancing mode that allows large traffic flows to be broken into a series of smaller, more manageable flows.

Further enhancements in Windows Server 2012 R2

Rather than assigning a traffic flow to a single NIC, there is a new dynamic mode that allows a single traffic flow to be broken into a series of smaller flows, which Microsoft refers to as flow-lets. These flow-lets can then be load balanced across the NICs in the team, improving network performance.



To create a NIC team in Windows Server 2012 R2, begin by opening the Server Manager, clicking on Local Server, and then clicking on the Disabled link located next to NIC Teaming. When you do, Windows will open the NIC Teaming dialog box. Now, choose the New Team option from the Tasks drop down list in the dialog box's Teams section



At this point Windows will display the New Team dialog box. You must enter a name for the NIC team that you are creating. You also have to select the network adapters that you want to include in the NIC team. You can see what this dialog box looks like in Figure 2, although the server in this example did not have any available physical NICs that could be included in the team.



Although you could create the NIC team by clicking OK, it is a good idea to click the Additional Properties option. This section allows you to select the teaming mode and the load balancing mode, as well as provide a standby adapter, which acts as a replacement for a failed NIC (Figure 3).

In this example, the teaming mode is set to Switch Independent. This is the most flexible NIC teaming mode because it does not require your network switch to be aware of the NIC team.

You will also notice that the Load Balancing Mode is set to Dynamic. This is the new load balancing mode that allows traffic streams to be broken into substreams for better load balancing.

No comments:

Post a Comment