Windows Server 2016 – Switch Embedded Teaming with RDMA [image credit: Microsoft]
Introduction
With the release of Windows Server 2016, Microsoft is introducing a new type of teaming approach called Switch Embedded Teaming (SET) which is a virtualization aware, how is that different from NIC Teaming (LBFO), the first part it is embedded into the Hyper-V virtual switch, that means a couple of things, the first one you don’t have any team interfaces anymore, you won’t be able to build anything extra on top of it, you can’t set property on the team because it’s part of the virtual switch, you set all the properties directly on the vSwitch. This is targeted to support Software Defined Networking (SDN) switch capabilities, it’s not a general purpose use everywhere teaming solution that NIC Teaming was intended to be. So this is specifically integrated with Packet Direct, Converged RDMA vNIC and SDN-QoS. It’s only supported when using the SDN-Extension.
Details on what SET can do and how to manage it can be found in the NIC Teaming Deployment Guide for Windows Server 2016 which can be downloaded from TechNet gallery here.
Switch Embedded Team and VMM 2016
With the next release of System Center Virtual Machine Manager 2016, VMM will start supporting SET for all the hosts that have any Windows Server 2016 version installed.
As of this writing, VMM 2016 Technical Preview 5 with Cumulative Update (CU3) have been released.
Starting with the Cumulative Update 2 (CU2), you can configure SET on non-Network Controller-managed hosts. Before this update, SET was only supported for Network Controller-managed hosts.
Prerequisites
VMM 2016 can be used to deploy SET if one of the following conditions are true:
- Hyper-V host where switch is being deployed has one of the Windows Server 2016 versions installed OR
- Hyper-V host where switch is being deployed has one of the Windows Server 2016 versions installed and the host is managed by Network Controller.
For all other scenarios, VMM implements LBFO as a teaming solution. This is the equivalent capability present in VMM 2012 R2.
Infrastructure Overview
We have the following servers installed in our demo environment:
- Domain controller, DNS.
- System Center Virtual Machine Manager 2016 TP5 with cumulative update 2.
- SQL Server 2014 holding SCVMM database.
- Windows Server 2016 TP5 Hyper-V
VMM Logical Network Overview
We have the following logical network created in our demo environment:
- Host Management: 172.16.20.0/24, VID=0
- Cluster: 172.20.45.0/24, VID=45
- Live Migration: 172.20.42.0/24, VID=42
- SMB: 172.20.50.0/24, VID=50
- Replica: 172.20.46.0/24, VID=46
Backup: 172.20.48.0/24, VID=48
Create Switch Embedded Team Logical Switch
Assuming you have all the infrastructure in place including the logical network, VM network, uplink port profile and IP address pool defined in VMM, let’s jump into the logical switch creation.
Open VMM console and navigate to the Fabric workspace, right click on Logical Switches and select Create Logical Switch.
At the General page, you can select Embedded Team in Uplink mode. Click Next.
At the Settings page, leave the Minimum bandwidth mode to the default: Weight. Click Next.
At the Extensions page, click Next.
At the Virtual Port page, add and specify the port classifications for virtual ports that are part of this logical switch.
At the Uplinks page, add an existing uplink port profile or create a new one.
One of the coolest feature in Virtual Machine Manager 2016 is, you can add virtual network adapters directly in the logical switch wizard. In this way, when you apply the logical switch to the Hyper-V host, the vNICs will be automatically created instead of creating them manually as you do in VMM 2012 R2.
At the Summary page, confirm the settings and click Finish.
Deploy Switch Embedded Team to the Hosts
Once the logical switch is created, you can start adding the Hyper-V hosts into VMM.
Once the hosts are added, you can deploy the logical switch by going to the properties of the Hyper-V host: Virtual Switches | New Virtual Switch | New Logical Switch.
Choose the Embedded Team logical switch that you just created and click OK.
Switch to the Jobs pane and monitor the running job.
Once the logical switch is created successfully, you can switch to the Hyper-V host and confirm the vNICs are created automatically in the parent partition.
Open Windows PowerShell and run the following cmdlet to confirm the EmbeddedTeamingEnabled property is set to True.
1 |
Get-VMSwitch -Name Embedded_vSwitch_Team | FL Name, Extensions, BandwidthReservationMode, PacketDirctEnabled, EmbeddedTeamingEnabled, IovEnabled, SwitchType, AllowManagementOS, NetAdapterInterfaceDescription |
Congratulations! you have successfully deployed and configured Switch Embedded Teaming (SET) using VMM 2016.
Conclusion
Starting with VMM 2016 TP5 CU2, we are able to manage and deploy Switch Embedded Teaming (SET) without Network Controller managed host. SET brings support for features such as RDMA and vRSS on vNICs in the parent partition.
SET is the only teaming solution if you are running with the SDN extension (Network Controller). SET is supported in all solutions with Hyper-V enabled. SET is also supported in Nano Server. However, the LBFO solution is not supported in Nano. SET is compatible with SR-IOV. However, SR-IOV is not compatible with LBFO team.
So for solutions where either SET or LBFO will do the job, there is no “recommended” answer here. Both work. Both are supported. SET is the direction for new investment.
I personally choose SET once Hyper-V is enabled.
Until next time…
Thanks for reading!