目錄
-
-
-
-
-
-
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 個 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.將伺服器重新開機,然後前往系統設定 (在 POST 期間按下 F2)。
2.選取裝置設定。
圖 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 全域啟用選項。
圖 8 - SR-IOV 全域
10.儲存您的組態,然後將伺服器重新開機。
1.安裝 Windows Server 2019+
2。安裝 Hyper-V 角色和資料中心橋接 (DCB) 功能。
3.設定 QoS (服務品質)、DCB、PFC、ETS。確定伺服器 NIC 和 QoS 組態符合交換器組態。
4.設定 Hyper-V SET (Switch Embedded Team)。
圖 9 - vSwitch 組態
5.在設定虛擬機器之前,先測試實體伺服器之間的 RDMA 通訊。下載 Microsoft Diskspd 和 Microsoft Test-RDMA PowerShell 指令檔。只有在通訊正常運作時,才能繼續執行下列步驟。否則請檢查主機上的交換器組態及/或 DCB 設定。
圖 10 - Test-Rdma 實體主機
6.確認兩個伺服器上的 RDMA 配接卡是否已啟用 SR-IOV。
圖 11 - SR-IOV 已啟用
7.建立兩個 Gen 2 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.啟動虛擬機器,然後開啟裝置管理員。Mellanox 虛擬功能 (VF) 應列在網路配接卡下方。如圖 15 所示,VF 在網路連線中並未顯示為一般網路配接卡。
圖 15 - 客體作業系統裝置管理員和網路連線
注意:可能需要安裝 NIC 驅動程式,才能在客體作業系統中啟用 RDMA。
11.在 SMB vNIC 上啟用 RDMA。Mellanox VF (乙太網路 4 - 圖 16) 上已啟用 RDMA 功能。
圖 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