目录
-
-
-
-
-
-
1. 远程直接内存访问 (RDMA) 简介
远程直接内存访问 (RDMA) 是一项伟大的技术,它使计算机能够跨网络传输数据,而不涉及参与主机的 CPU 或操作系统资源(计算/存储),从而提高吞吐量和性能,减少延迟和 CPU 开销。
目前有两种流行的 RDMA 实现:
RoCE
- 传输:UDP/IP (RoCE v2)
- 依赖于 DCB(数据中心桥接)
iWarp
- 基础网络:TCP/IP
- TCP 提供流量控制和拥塞管理
RoCE 严重依赖于 ETS(增强型传输服务)和 PFC(优先级流量控制)等 DCB 配置,如果网络交换机配置不正确,则这可能会成为问题。iWARP 不需要任何交换机配置。
Microsoft 在 Windows Server 2012 上开始支持 RDMA,并在以后的 Windows Server 操作系统中添加了新功能。Microsoft 最新操作系统 Windows Server 2019 提供的一个功能是能够向来宾操作系统 (VM) 提供 RDMA。这使来宾可以具有与本机主机相同的低延迟网络存储访问,从而减少 CPU 开销,并直接提高 VM 中的吞吐量/性能。
Dell EMC 为 25Gbps RDMA 提供了极好的选择,如 Cavium QLogic FastLinQ 41262 双端口 25 GbE SFP28 (iWarp/RoCE) 和 Mellanox ConnectX-4 Lx 25Gbps RDMA (RoCE)。此示例使用 Mellanox ConnectX-4 Lx RDMA(RoCEv2 模式)来演示来宾 RDMA 功能。
服务器:2 个 Dell EMC R7425(AMD Epyc 7551 32 核处理器)、256 GB 内存、Mellanox ConnectX-4 Lx 完全更新的(BIOS、固件、驱动程序和操作系统)
安装的角色/功能:Hyper-V、DCB、故障切换群集、S2D
交换机:Dell EMC S5048F-ON — MGMT VLAN 2、SMB VLAN 15
作为您计划的更新周期的一部分,Dell EMC 建议更新 BIOS、固件、驱动程序和操作系统。BIOS、固件、驱动程序和操作系统更新旨在提高系统的可靠性、稳定性和安全性。
1.重新启动服务器,并转至“System Setup”(在开机自检期间按 F2 键)。
2.选择 Device Settings。
图 1 — BIOS 设备设置
3.选择插槽 1 端口 1 中的 NIC — Mellanox
图 2 — Mellanox 插槽 1 端口 1 设备设置
4.转至“设备级别配置”
图 3 — 设备级别配置
5.选择虚拟化模式下的 SR-IOV。
图 4 — SR-IOV 设置
6.在插槽 1 端口 2 中的 NIC 上重复上述步骤 — Mellanox。
图 5 — Mellanox 插槽 1 端口 2 设备设置
7.返回“系统设置主菜单”,然后选择系统 BIOS。
图 6 — 系统 BIOS
8.选择集成设备。
图 7 — BIOS 集成设备
9.启用“SR-IOV Global Enable”选项。
图 8 — SR-IOV Global
10.保存您的配置并重新启动服务器。
1.安装 Windows Server 2019+
2。安装 Hyper-V 角色和数据中心桥接 (DCB) 功能。
3.配置 QoS(服务质量)、DCB、PFC、ETS。确保服务器 NIC 和 QoS 配置与交换机配置相匹配。
配置 Hyper-V 集合(交换机嵌入式组)。
图 9 — vSwitch 配置
5.在配置 VM 之前,测试物理服务器之间的 RDMA 通信。下载 Microsoft Diskspd 和 Microsoft Test-RDMA PowerShell 脚本。仅在通信正常工作时才继续执行下面的步骤。否则,检查交换机配置和/或主机上的 DCB 设置。
图 10 — Test-Rdma 物理主机
6.验证是否在两台服务器上的 RDMA 适配器上启用了 SR-IOV。
图 11 — SR-IOV 已启用
7.创建两个第 2 代 VM(来宾操作系统),每台服务器上有一个 VM,然后安装 Windows Server 2019。在这种情况下,将创建具有两个 vNIC 的来宾操作系统,一个用于 MGMT 流量 (VLAN 2),一个用于 SMB 流量 (VLAN 15)。
图 12 — 来宾操作系统网络配置主机 R7425-01
图 13 — 虚拟机网络配置主机 R7425-02
8.关闭虚拟机。
9.在来宾操作系统上启用 SR-IOV 和 RDMA。
图 14 — 在来宾操作系统上启用 SR-IOV/RDMA
10.启动 VM,然后打开设备管理器。Mellanox 虚拟功能 (VF) 应列示在网络适配器下方。在网络连接中,VF 没有作为常规网络适配器呈现,如图 15 所示。
图 15 - 来宾操作系统设备管理器和网络连接
提醒:可能需要安装 NIC 驱动程序才能在来宾操作系统中启用 RDMA。
11.在 SMB vNIC 上启用 RDMA。Mellanox VF 上已启用 RDMA 功能(Ethernet4 — 图 16)。
图 16 — 在 SMB vNIC 上启用 RDMA
12.测试来宾 RDMA。
提醒:务必指定 IfIndex(vNIC 接口索引)和 VfIndex(Mellanox VF 接口索引),这一点很重要。
图 17 - Test-RDMA 来宾操作系统
#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 与我们联系