What NICs should I use in Server 2012?

To NIC or not to NIC – that really isn’t the question. The real question is what NICs do I use? The answer is classic – it depends…

In Windows Server 2012 there are new features to increase network bandwidth, lower CPU utilization, and give fault tolerance to networks. The biggest difficulty is that there are several technologies here and you need to decide which one you want to use for your server.

Here is a good 75 page whitepaper on Networking in Windows Server 2012. It may not help you decide which NICs to put in your server but it is a great paper to understand networking in Server 2012. Networking white paper

If you are using InfiniBand or something else capable of Remote Direct Memory Access then multiple RDMA NICs is likely the way to go. Currently at about $800 for a Mellanox InfiniBand NIC it may not be an option for those of us with a more frugal budget. To stay within a tight budget teaming RSS NICs is the way to go. Teaming these network cards gives aggregated bandwidth for all traffic and path fault tolerance.

See the table below.

image

See Choosing a Networks adapter for more info: https://technet.microsoft.com/en-us/library/jj574168

Teaming is the way to go:
In previous versions of Windows NIC teaming was only available through third-party solutions and required specific network adapter hardware. In Windows Server 2012 NIC teaming, now built into the OS, is vendor, hardware, and line-speed agnostic. You can configure up to 32 adapters in one team and up to 32 teams per server. You can only team Ethernet adapters. You can not create a team using other NIC teams as team members.

NIC teaming is not compatible with Single Root I/O Virtualization (SR-IOV), remote direct memory access (RDMA), or TCP Chimney offloading.

For information on NIC Teaming Load Balancing/Failover (LBFO) Deployment see this documet: https://www.microsoft.com/en-us/download/details.aspx?id=30160

As the document details there are two ways to setup NIC teaming. Use Server Manager or PowerShell. Here are screen shots of how to add NIC teaming with Server Manager.

imageClick to enlarge image

imageClick to enlarge image

clip_image005Click to enlarge image

Here are the PowerShell cmdlets for NIC teaming:

Objects to be managed

Supported operations on the object

1. NetLbfoTeam

Get, New, Remove, Rename, Set

2. NetLbfoTeamMember

Add, Get, Remove, Set

3. NetLbfoTeamNic

Get, New, Remove, Set

Summary:
There are a lot of factors in choosing your NICs. First you decide on the hardware and then you need to decide on how you wish to configure those NICs. My conclusion is that the configuration that will fit the most scenarios is to team your RSS enabled NICs. This will give good performance and fault tolerance.