OK OK – I get it! Nic Teaming is not something new introduced in Server 2016 – the out of box networking enhancement was actually introduced with Windows Server 2012 and to be honest, nothing has really changed that much! That said I haven’t had a need to use it until a certain deployment of Server 2016 – thus the title of this post 🙂
If you are unfamiliar with what NIC teaming is let me give you a brief introduction. Essentially this feature allows us to bond multiple physical NICs together in order to treat them as one logical NIC. By doing so we gain a number of benefits – things like network availability by being able to failover to the different physical NICs when one goes to a disconnected state – or performance enhancements by intelligently load balancing our traffic across multiple physical links! You get the picture right?
Before we start
Before we get into the actual configuration steps on setting up our NIC team its’ best to have a solid understanding of the options available to us within Server 2016. I mentioned that the process was easy, which it is, but there is a few different ways we can go about setting up our NIC teams. The first configurable item we should look at is the “Teaming Mode”. Microsoft provides us with three different options to select when defining our Teaming Mode as well as a few different load balancing modes.
Teaming Mode Options
- Static Teaming – This is a switch dependent mode which requires us to set up our trunks/lags using specific ports on our switches. These ports are then connected directly into the NICs on our server.
- Switch Independent – This mode requires no configuration whatsoever on the upstream Network Switches. Instead, the teaming is handled 100% by the Windows Server and the connections could go to different switches if desired. This is a great mode if you are just looking for availability or failover, however due to the fact that the switches have no knowledge of the team we are unable to perform and inbound traffic load balancing using this mode. You can also visit https://www.fortinet.com/products/ethernet-switches to learn more.
- LACP – Similar to Static Teaming LACP, or Link Aggregation Control Protocol is something that will need to be configured on the upstream switch.
Load Balancing Options
- Address Hash – Using this mode takes different attributes of the traffic being passed in order to determine which NIC within the team the traffic should be forwarded through. Ports, IP Addresses, and MAC addresses are all taken into consideration when using this algorithm.
- Hyper-V Port – This option is specific for Hyper-V (you may have guessed) and basically allows us to tie a specific VM which is running on the server to a physical NIC within the team.
- Dynamic – This is the default and for good reason the recommended type of load balancing for most teams. Dynamic essentially takes the benefits of Address Hash in terms of assigning certain flows to certain member NICs within the team, however, in dynamic mode those flows are able to be intelligently migrated between NICs – meaning traffic can be truly balanced across all NICs within the team.
So with that knowledge in our arsenal let’s go ahead and set up our team!
The Configuration!
Gone are the days of crazy wizards and complex processes to get things done in Windows. Configuring NIC teaming within Server 2016 is dead simple – but let’s go through the process anyways. The first step is actually enabling the NIC teaming functionality in Windows – as shown below this is done, as is most other tasks within Windows Server now, through the Server Manager by simply clicking the link next to the NIC Teaming label on the server properties page.
After clicking the previous link we are brought to the NIC Teaming dialog. Here is where the meat and potatoes of NIC teaming are configured. To get started select ‘New Team’ from the ‘TASKS’ drop-down in the Teams section (see below).
Once in the new team dialog we simply select which NICs we would like to participate in the team (Server 2016 supports up to 32 physical NICs per team). Then we need to set our Teaming mode, Load Balancing mode, and Standby adapter (if applicable). If you didn’t read the first half of this post you might want to take a look at it know before continuing :).
Once we click ‘OK’ and after a short pause we should see both of our NICs move into an Active State, along with our newly created team show up within the NIC Teaming dialog (shown below) with a status of ‘OK’.
And guess what? That’s it! We are done! Told you it was easy! If you navigate over to your Network and Sharing Center you should be able to see a newly created adapter with the same label as your NIC Team. From there you can simply assign it an IP address or change any desired network settings as you would have if they were physical adapters! If you want to learn more about this feature within Windows Server 2016 you can find a complete user guide dedicated to NIC teaming over on TechNet – 50+ pages of some nice light reading! Thanks for reading!