Microsoft Windows:如何在 Windows Server 上配置来宾 RDMA
摘要: 本文介绍如何在 Windows Server 上配置来宾远程直接内存访问 (RDMA)。
说明
目录
远程直接内存访问 (RDMA) 简介
远程直接内存访问 (RDMA) 是一项出色的技术,它使计算机能够跨网络传输数据,而不涉及所涉及主机的 CPU 或作系统资源(计算和存储)。这样可以提高吞吐量和性能,并减少延迟和 CPU 开销。
目前有两种流行的 RDMA 实现:
- RoCE
- 运输:UDP/IP (RoCE v2)
- 依赖数据中心桥接 (DCB)
- iWarp
- 底层网络:TCP/IP
- TCP 提供流量控制和拥塞管理。
RoCE 严重依赖于 DCB 配置,例如增强型传输服务 (ETS) 和优先级流量控制 (PFC),如果网络交换机配置不正确,这可能会成为问题。iWARP 不需要任何交换机配置。
Microsoft 开始在 Windows Server 2012 上支持 RDMA,并在后来的 Windows Server作系统中添加了新功能。Microsoft Windows Server 2019 提供的一项功能是能够将 RDMA 呈现给来宾作系统 (VM)。这使来宾可以拥有与本机主机相同的低延迟网络存储访问,从而减少 CPU 开销,并直接在 VM 中提高吞吐量和性能。
戴尔为 25 Gbps RDMA 提供了出色的选择,例如 Cavius QLogic FastLinQ 41262 双端口 25 GbE SFP28 (iWarp/RoCE) 和 Mellanox ConnectX-4 Lx 25 Gbps RDMA (RoCE)。此示例使用 Mellanox ConnectX-4 Lx RDMA(RoCEv2 模式)来演示来宾 RDMA 功能。
实验室环境
服务器:
- 2 x Dell R7425(AMD EPYC 7551 32 核处理器)
- 256 GB 内存
- Mellanox ConnectX-4 Lx 完全更新(固件(包括 BIOS)、驱动程序和作系统)
安装的角色和功能:
- Hyper-V
- 北京德威
- 故障切换群集
- S2D(S2D)
Switch:
- Dell S5048F-ON — MGMT VLAN 2
- SMB VLAN 15
硬件配置
- 重新启动服务器并转至 系统设置 程序(在开机自检过程中按F2键)。
- 选择 Device Settings。

图1 - BIOS设备设置
- 选择 插槽 1 端口 1 - Mellanox 中的 NIC。

图2 - Mellanox插槽1端口1设备设置
- 转至 设备级别配置。

图 3 — 设备级别配置
- 选择 虚拟化模式下的 SR-IOV。

图 4 — SR-IOV 设置
- 在插槽 1 端口 2 - Mellanox 中的 NIC 上重复上述步骤。

图5 - Mellanox插槽1端口2设备设置
- 返回 System Setup Main Menu ,然后选择 System BIOS。

图 6 — 系统 BIOS
- 选择 Integrated Devices。

图 7 — BIOS 集成设备
- 启用 SR-IOV 全局 选项。

图 8 — SR-IOV 全局
- 保存 配置并 重新启动 服务器。
配置来宾 RDMA
- 安装 Windows Server 2019+。
- 安装 Hyper-V 角色和数据中心桥接 (DCB) 功能。
- 配置 服务质量 (QoS)、DCB、PFC、ETS。确保服务器 NIC 和 QoS 配置与交换机配置相匹配。
- 配置 Hyper-V 交换机嵌入式组合 (SET)。

图 9 — vSwitch 配置
- 在配置虚拟机之前,测试物理服务器之间的 RDMA 通信。下载 Microsoft
Diskspd和 Microsoft Test-RDMA PowerShell 脚本。仅当通信正常工作时,才执行以下步骤。否则,请检查主机上的交换机配置和/或 DCB 设置。

图 10 — Test-RDMA 物理主机
- 验证 是否在两台服务器上的 RDMA 适配器上启用了 SR-IOV。

图 11 — SR-IOV 已启用
- 创建两个第 2 代 VM(来宾操作系统),每台服务器上有一个 VM,然后安装 Windows Server 2019。在此方案中,使用两个 vNIC 创建来宾作系统,一个用于 MGMT 流量 (VLAN 2),另一个用于 SMB 流量 (VLAN 15)。

图 12 — 来宾作系统网络配置主机 R7425-01

图 13 — 虚拟机网络配置主机 R7425-02
- 关闭 虚拟机。
- 使 来宾作系统上的 SR-IOV 和 RDMA。

图 14 — 在来宾作系统上启用 SR-IOV/RDMA。
- 启动虚拟机, 然后打开设备管理器。Mellanox 虚拟功能 (VF) 应列示在网络适配器下方。在网络连接中,VF 没有作为常规网络适配器呈现,如图 15 所示。

图 15 — 来宾作系统设备管理器和网络连接
- 在 SMB vNIC 上启用 RDMA。已在 Mellanox VF 上启用 RDMA 功能(Ethernet4 — 图 16)。

图 16 - 在 SMB vNIC 上启用 RDMA。
- 测试 来宾 RDMA。
IfIndex (vNIC 接口索引)和 VfIndex (Mellanox VF 接口索引)。

图 17 - Test-RDMA 来宾作系统
Powershell Cmdlet
#Create new virtual switch with SRIOV option enabled New-VMSwitch -Name xxxx -NetadapterName xxxx,xxxx -AllowManagementOS $true -EnableEmbeddedTeaming $true -EnableIov $true #Verify if SRIOV is enabled on physical adapter Get-NetAdapterSriov -Name xxxx #Get VM network configuration Get-VM -Name xxxx| Get-VMNetworkAdapter #Get VM network VLAN configuration Get-VM -Name | Get-VMNetworkAdapterVlan #Set VM SRIO and RDMA on Virtual Machine(Guest OS) vNIC Get-VM -Name xxxx | Set-VMNetworkAdapter -Name xxx -IovWeight 100 -IoVQueuePairsRequested 2 Get-VM -Name xxxx | Set-VMNetworkAdapterRdma -Name xxx -RdmaWeight 100 #Enable RDMA on NetAdapter Enable-NetAdapterRdma -Name xxxx #Test-Rdma Physical Host .\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx #Test-Rdma Virtual Machine (Guest OS) .\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx -VfIndex xx
下载链接
有任何意见、问题或建议?在 WinServerBlogs@dell.com 上联系我们