Microsoft Windows:如何在 Windows 伺服器上設定客體 RDMA

摘要: 本文說明如何在 Windows Server 上設定客體遠端直接記憶體存取 (RDMA)。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

目錄


Remote Direct Memory Access (RDMA) 簡介

遠端直接記憶體存取 (RDMA) 是一項絕佳的技術,可讓電腦透過網路傳輸資料,而不涉及相關主機的 CPU 或作業系統資源 (運算和儲存)。這可改善輸送量和效能,並減少延遲和 CPU 負荷。

目前有兩種流行的 RDMA 實現:

  • 羅西
    • 搬:UDP/IP (RoCE v2)
    • 仰賴資料中心橋接 (DCB)
  • 愛華寶
    • 底層網路:TCP/IP
    • TCP 提供流量控制和擁塞管理。

RoCE 嚴重依賴 DCB 配置,例如增強型傳輸服務 (ETS) 和優先順序流量控制 (PFC),如果網路交換機配置不正確,這可能會成為一個問題。iWARP 不需要設定任何交換器。

Microsoft開始在Windows Server 2012上支援RDMA,並在後來的Windows Server OS中添加了新功能。Microsoft Windows Server 2019 可用的一項功能是能夠將 RDMA 呈現給客體作業系統 (VM)。這可讓客體與原生主機對網路儲存裝置擁有相同的低延遲存取,進而降低 CPU 額外負荷,並直接在虛擬機器中改善輸送量和效能。

Dell 提供適用於 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 個 Dell R7425 (AMD EPYC 7551 32 核心處理器)
  • 256 GB 記憶體
  • Mellanox ConnectX-4 Lx 完整更新 (韌體 (包括 BIOS)、驅動程式和作業系統)

已安裝的角色與功能:

  • Hyper-V
  • DCB
  • 容錯移轉叢集化
  • S2D

鍵:

  • Dell S5048F-ON - MGMT VLAN 2
  • SMB VLAN 15
Dell Technologies 建議將更新韌體 (包括 BIOS)、驅動程式和作業系統加入至排程更新週期。韌體 (包括 BIOS)、驅動程式和作業系統更新旨在改善系統的可靠性、穩定性和安全性。

硬體組態

  1. 將伺服器重新開機,然後前往 系統設定 (在 POST 期間按下 F2)。
  2. 選取裝置設定

BIOS 裝置層級設定

圖 1 - BIOS 裝置設定

  1. 在插槽 1 連接埠 1 中選取網路介面卡 - Mellanox。

BIOS 裝置層級 Mellanox

圖 2 - Mellanox 插槽 1 連接埠 1 裝置設定

  1. 前往 裝置層級組態

BIOS 裝置層級組態

圖3 - 裝置層級設定

  1. 虛擬化模式中的 SR-IOV。

BIOS 裝置層級 SR-IOV

圖 4 - SR-IOV 設定 

  1. 在插槽 1 連接埠 2 - Mellanox 的網路介面卡上重複上述步驟。

BIOS 裝置層級 Mellanox2

圖 5 - Mellanox 插槽 1 連接埠 2 裝置設定

  1. 返回 「系統設定主功能表」, 然後選取 「系統 BIOS」。

系統簡介

圖 6 - 系統 BIOS

  1. 選取 Integrated Devices

整合式裝置

圖 7 - BIOS 整合式裝置

  1. 啟用 SR-IOV 全域 選項。

SR-IOV 全域啟用

圖 8 - SR-IOV 全域

  1. 儲存 您的組態,然後將伺服器 重新開機

設定客體 RDMA

  1. Windows Server 2019+。
  2. 安裝 Hyper-V 角色和資料中心橋接 (DCB) 功能。
  3. 設定 服務品質 (QoS)、DCB、PFC、ETS。請確定伺服器 NIC 和 QoS 組態與交換器組態相符。
  4. 設定 Hyper-V Switch Embedded Team (SET)。

啟用 Hyper-V 交換器

圖 9 - vSwitch 組態

  1. 在設定虛擬機器之前,先測試實體伺服器之間的 RDMA 通訊。下載Microsoft Diskspd 和 Microsoft Test-RDMA PowerShell 指令檔。只有在通訊正常運作時,才遵循以下步驟。否則,請檢查主機上的交換器組態及/或 DCB 設定。

測試 RDMA1 通訊

圖 10 - 測試 RDMA 實體主機

  1. 確認 兩台伺服器上的 RDMA 配接卡是否已啟用 SR-IOV。

確認 SR-IOV 已啟用

圖 11 - SR-IOV 已啟用

  1. 建立兩個 Gen 2 VM (客體作業系統),每個伺服器上一個,然後安裝 Windows Server 2019。在此案例中,會以兩個 vNIC 建立客體作業系統,一個用於 MGMT 流量 (VLAN 2),另一個用於 SMB 流量 (VLAN 15)。

建立 2 個 VM NetConfig

圖 12 - 客體作業系統網路設定主機 R7425-01

2 個 VM NetConfig2

圖 13 - 虛擬機器網路設定主機 R7425-02

  1. 關閉虛擬機 器。
  2. 啟用 客體作業系統上的 SR-IOV 和 RDMA。

啟用 SR-IOV 和 RDMA 客體

圖 14 - 在客體作業系統上啟用 SR-IOV/RDMA。

  1. 啟動虛擬機器, 然後開啟裝置管理員。Mellanox 虛擬功能 (VF) 應列在網路配接卡下方。如圖 15 所示,VF 在網路連線中並未顯示為一般網路配接卡。 

VM 裝置管理員

圖 15 - 客體作業系統裝置管理員和網路連線

 
注意:可能需要安裝 NIC 驅動程式,才能在客體作業系統中啟用 RDMA。
 
  1. 在 SMB vNIC 上啟用 RDMA。Mellanox VF 上的 RDMA 功能已啟用 (乙太網路 4 - 圖 16)。

VM RDMA 已啟用

圖 16 - 在 SMB vNIC 上啟用 RDMA。

  1. 客體 RDMA。 
 
注意:指定 IfIndex (vNIC 介面索引) 和 VfIndex (Mellanox VF 介面索引)。
 

測試客體 RDMA VM

圖 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 請聯絡我們


受影响的产品

Microsoft Windows Server 2019
文章属性
文章编号: 000113009
文章类型: How To
上次修改时间: 25 11月 2025
版本:  12
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。