如何在RoCEv2无损网络中配置Windows Server 2016与交换机嵌入式组合
本文档提供了在RoCEv2无损网络上使用交换机嵌入式组合(SET)技术部署Windows Server 2016的详细步骤。
文档目录
Created on Aug 8, 2019
Introduction
本文档提供了在RoCEv2无损网络上使用SET技术部署Windows Server 2016的详细步骤。
表1:缩写
| Definitions/Abbreviation | Description |
|---|---|
| RoCE | RDMA over Converged Ethernet |
| RoCEv2 | Internet layer protocol which means that RoCE v2 packets can be routed |
| TOR | Top of Rack Switch |
| vSwitch | Hyper-V Virtual Switch |
| hNIC | Host vNIC – Virtual NIC from vSwitch |
| pNIC | Physical NIC |
| SET | Switch Embedded Teaming |
References
HowTo Configure Mellanox Spectrum Switch for Lossless RoCE
How To Configure MLAG on Mellanox 交换机
HowTo Configure MAGP on Mellanox 交换机
Solution Overview
Solution Logical Design
下图显示了一个示例配置。

Deployment Guide
Network / Fabric Deployment and Configuration
请使用此文档为NVIDIA Spectrum交换机配置无损RoCE。
请使用此文档为NVIDIA交换机配置IPL。
您必须为Host vNIC适配器中使用的每个VLAN ID配置MAGP。请使用此文档在NVIDIA交换机上配置MAGP。
Host Deployment and Configuration
Physical Host QoS configuration
-
开启数据中心桥接。
Install-WindowsFeature Data-Center-BridgingSuccess Restart Needed Exit Code Feature Result
True No Success {Data Center Bridging}
-
为SMB-Direct设置策略。
New-NetQosPolicy "SMB" -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3Name : SMB Owner : Group Policy (Machine) NetworkProfile : All Precedence : 127 JobObject : NetDirectPort : 445 PriorityValue : 3
-
为接口上的其他流量设置策略。
New-NetQosPolicy "DEFAULT" -Default -PriorityValue8021Action 0Name : DEFAULT Owner : Group Policy (Machine) NetworkProfile : All Precedence : 127 Template : Default JobObject : PriorityValue : 0
-
为SMB开启流控制。
Enable-NetQosFlowControl -priority 3 Get-NetQosFlowControlPriority Enabled PolicySet IfIndex IfAlias
0 False Global 1 False Global 2 False Global 3 True Global 4 False Global
创建SET模式虚拟交换机及主机虚拟网卡
- 创建交换机嵌入式组合模式的虚拟交换机
New-VMSwitch –Name "VSWSET" –NetAdapterName "pNIC1","pNIC2" -EnableEmbeddedTeaming $true -AllowManagementOS $true
输出示例:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
VSWSET External Teamed-Interface
- 列出逻辑交换机中的物理适配器(含SET)
Get-VMSwitchTeam -Name VSWSET | FL
输出示例:
Name : VSWSET
Id : bff9d6c4-4259-4db2-8432-4870117f0da3
NetAdapterInterfaceDescription : {Mellanox ConnectX-4 VPI Adapter, Mellanox ConnectX-4 VPI Adapter #2}
TeamingMode : SwitchIndependent
LoadBalancingAlgorithm : Dynamic
- 为防止两个物理网卡对出口流量自动打上错误的VLAN ID,请移除ACCESS VLAN设置,并过滤与ACCESS VLAN ID不匹配的入口流量
Set-NetAdapterAdvancedProperty -Name "pNIC1" -RegistryKeyword VlanID -RegistryValue "0"
Set-NetAdapterAdvancedProperty -Name "pNIC2" -RegistryKeyword VlanID -RegistryValue "0"
- 创建管理网卡,以便为RDMA使用独立的主机虚拟网卡实例,并设置VLAN ID 101
Rename-VMNetworkAdapter -ManagementOS -Name "VSWSET" -NewName "MGMT"
Set-VMNetworkAdapterVlan -VMNetworkAdapterName "MGMT" -VlanId "101" -Access -ManagementOS
- 在管理主机虚拟网卡上设置优先级标记
Set-VMNetworkAdapter -ManagementOS -Name "MGMT" -IeeePriorityTag on
- 创建两个用于RDMA的主机虚拟网卡,并设置VLAN ID 102
Add-VMNetworkAdapter –SwitchName "VSWSET" –Name SMB1 –ManagementOS
Add-VMNetworkAdapter –SwitchName "VSWSET" –Name SMB2 –ManagementOS
Get-VMNetworkAdapter –ManagementOS
输出示例:
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
vEthernet (SMB1) Hyper-V Virtual Ethernet Adapter #2 6 Up 00-1D-D8-B7-1C-11 200 Gbps
vEthernet (SMB2) Hyper-V Virtual Ethernet Adapter #3 18 Up 00-1D-D8-B7-1C-0E 200 Gbps
vEthernet (MGMT) Hyper-V Virtual Ethernet Adapter 16 Up 00-1D-D8-B7-1C-01 200 Gbps
Set-VMNetworkAdapterVlan -VMNetworkAdapterName "SMB1" -VlanId "102" -Access -ManagementOS
Set-VMNetworkAdapterVlan -VMNetworkAdapterName "SMB2" -VlanId "102" -Access -ManagementOS
Get-VMNetworkAdapterVlan -ManagementOS
输出示例:
VMName VMNetworkAdapterName Mode VlanList
------ -------------------- ---- --------
SMB1 Access 102
MGMT Access 101
SMB2 Access 102
- 由于专用于存储的虚拟网卡绑定到SET,需要创建虚拟网卡与物理网卡之间的关联,确保主机上某个虚拟网卡(存储虚拟网卡)的流量使用特定的物理网卡发送,从而通过更短的路径
Set-VMNetworkAdapterTeamMapping -ManagementOS -SwitchName VSWSET -VMNetworkAdapterName "SMB1" -PhysicalNetAdapterName "pNIC1"
Set-VMNetworkAdapterTeamMapping -ManagementOS -SwitchName VSWSET -VMNetworkAdapterName "SMB2" -PhysicalNetAdapterName "pNIC2"
- 在RDMA主机虚拟网卡上设置优先级标记(PCP模式),并启用RDMA
Set-VMNetworkAdapter -ManagementOS -Name "SMB1" -IeeePriorityTag on
Set-VMNetworkAdapter -ManagementOS -Name "SMB2" -IeeePriorityTag on
Enable-NetAdapterRdma -Name "vEthernet (SMB1)"
Enable-NetAdapterRdma -Name "vEthernet (SMB2)"
性能测试
请为每个启用RDMA的主机虚拟网卡分配IP地址,并使用TEST-RDMA.PS1 PowerShell脚本进行测试。
示例:
- 启用 RDMA(参数
-IsRoCE $true)
C:\TESTS\Test-RDMA.PS1 -IfIndex 6 -IsRoCE $true -RemoteIpAddress 192.168.2.2 -PathToDiskspd C:\TESTS\Diskspd-v2.0.17\amd64fre\
- 禁用 RDMA(参数
-IsRoCE $False)
C:\TESTS\Test-RDMA.PS1 -IfIndex 6 -IsRoCE $False -RemoteIpAddress 192.168.2.2 -PathToDiskspd C:\TESTS\Diskspd-v2.0.17\amd64fre\
完成。

