Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

如何在 Windows Server 2019 設定客體 RDMA

Summary: 本文說明如何在 Windows Server 2019 設定客體 RDMA。

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Instructions

目錄

  1. Remote Direct Memory Access (RDMA) 簡介

  2. 實作環境

  3. 硬體組態

  4. 設定客體 RDMA

  5. Powershell Cmdlet

  6. 下載連結


1. Remote Direct Memory Access (RDMA) 簡介

Remote Direct Memory Access (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 額外負荷,並直接在虛擬機器中改善輸送量/效能。


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. 實作環境

伺服器: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、韌體、驅動程式和作業系統更新旨在改善系統的可靠性、穩定性和安全性。

3. 硬體組態

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

2.選取裝置設定


HOW16693_en_US__1Fig1 - BiosDevSet
圖 1 - BIOS 裝置設定

3.選取插槽 1 連接埠 1 中的 NIC - Mellanox

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

4.移至裝置層級組態

HOW16693_en_US__3Fig3 - BiosDevLevConf
圖 3 - 裝置層級組態

5.在虛擬化模式中選取 SR-IOV。

HOW16693_en_US__4Fig4 - BiosDevSriov
圖 4 - SR-IOV 設定

6.在插槽 1 連接埠 2 中的 NIC 上重複上述步驟 - Mellanox。

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

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

HOW16693_en_US__6Fig6 - SystemBios
圖 6 - 系統 BIOS

8.選取整合式裝置。

HOW16693_en_US__7Fig7 - IntegratedDev
圖 7 - BIOS 整合式裝置

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

HOW16693_en_US__8Fig8 - SriovGlobal
圖 8 - SR-IOV 全域

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

4. 設定客體 RDMA


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

HOW16693_en_US__9Fig9 - vSwitch
圖 9 - vSwitch 組態

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

HOW16693_en_US__10Fig10 - Test-RDMA1
圖 10 - Test-Rdma 實體主機

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

HOW16693_en_US__11Fig11 - SRIOVEnab
圖 11 - SR-IOV 已啟用

7.建立兩個 Gen 2 VM (客體作業系統),每個伺服器上一個,然後安裝 Windows Server 2019。在這種情況下,客體作業系統會以兩個 vNIC 建立,一個用於 MGMT 流量 (VLAN 2),一個用於 SMB 流量 (VLAN 15)。

HOW16693_en_US__12Fig12 - VMNetConfig
圖 12 - 客體作業系統網路組態主機 R7425-01

HOW16693_en_US__13Fig13 - VMNetConfig2
圖 13 - 虛擬機器網路組態主機 R7425-02

8.關閉虛擬機器。
9.在客體作業系統上啟用 SR-IOV 和 RDMA。

HOW16693_en_US__14Fig14 - EnableSriovRdmaGuest
圖 14:啟用客體作業系統上的 SR-IOV/RDMA

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

HOW16693_en_US__15Fig16 - VMDevManager
圖 15 - 客體作業系統裝置管理員和網路連線
 
注意:可能需要安裝 NIC 驅動程式,才能在客體作業系統中啟用 RDMA。
11.在 SMB vNIC 上啟用 RDMA。Mellanox VF (乙太網路 4 - 圖 16) 上已啟用 RDMA 功能。

HOW16693_en_US__16Fig15 - VMRdmaEnab
圖 16 - 啟用 SMB vNIC 上的 RDMA

12.測試客體 RDMA。 
HOW16693_en_US__17icon備註:請務必指定 IfIndex (vNIC 介面索引) 和 VfIndex (Mellanox VF 介面索引)。

HOW16693_en_US__18Fig17 - Test-RdmaVM
圖 17 - Test-RDMA 客體作業系統
 

5. Powershell Cmdlet


#建立新虛擬交換器,並啟用 SRIOV 選項
New-VMSwitch -Name xxxx -NetadapterName xxxx,xxxx -AllowManagementOS $true -EnableEmbeddedTeaming $true -EnableIov $true

#確認 SRIOV 是否已在實體配接卡上啟用
Get-NetAdapterSriov -Name xxxx

#取得 VM 網路組態
Get-VM -Name xxxx| Get-VMNetworkAdapter

#取得 VM 網路 VLAN 組態
Get-VM -Name | Get-VMNetworkAdapterVlan

#在虛擬機器上設定 VM SRIO 和 RDMA (客體 OS) vNIC
Get-VM -Name xxxx | Set-VMNetworkAdapter -Name xxx -IovWeight 100 -IoVQueuePairsRequested 2
Get-VM -Name xxxx | Set-VMNetworkAdapterRdma -Name xxx -RdmaWeight 100

#啟用 NetAdapter 上的 RDMA
Enable-NetAdapterRdma -Name xxxx

#Test-Rdma 實體主機
.\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx

#Test-Rdma V虛擬機器 (客體 OS)
.\Test-Rdma.ps1 -IfIndex xx -IsRoCE $true -RemoteIpAddress xxx.xxx.xxx.xxx -PathToDiskspd xxxxx -VfIndex xx
 

6. 下載連結


• Microsoft Diskspd
• Microsoft Test-RDMA 指令檔

 
有任何意見、問題或建議嗎?請聯絡我們:WinServerBlogs@dell.com
 

Article Properties


Affected Product

PowerEdge, Microsoft Windows Server 2019

Last Published Date

15 Sept 2021

Version

7

Article Type

How To