Microsoft Windows: Konfigurieren von Gast-RDMA auf Windows-Server
摘要: In diesem Artikel wird erläutert, wie Sie Gast-RDMA (Remote Direct Memory Access) auf einem Windows-Server konfigurieren.
说明
Inhaltsverzeichnis
- Überblick über Remote Direct Memory Access (RDMA)
- Laborumgebung
- Hardwarekonfiguration
- Konfigurieren von Gast-RDMA
- PowerShell-Cmdlets
- Download-Links
Überblick über Remote Direct Memory Access (RDMA)
RDMA (Remote Direct Memory Access) ist eine großartige Technologie, die es Computern ermöglicht, Daten über das Netzwerk zu übertragen, ohne die CPU- oder Betriebssystemressourcen der beteiligten Hosts (Compute und Storage) zu belasten. Dies verbessert den Durchsatz und die Leistung und reduziert die Latenz und den CPU-Overhead.
Derzeit gibt es zwei gängige RDMA-Implementierungen:
- RoCE
- Transport: UDP/IP (RoCE v2)
- Verlassen Sie sich auf Data Center Bridging (DCB)
- iWarp
- Zugrunde liegendes Netzwerk: TCP/IP
- TCP bietet Flusssteuerung und Überlastungsmanagement.
RoCE stützt sich stark auf DCB-Konfigurationen wie Enhanced Transmission Service (ETS) und Priority Flow Control (PFC), die zu einem Problem werden können, wenn Netzwerkswitches nicht ordnungsgemäß konfiguriert sind. iWARP erfordert keine Switch-Konfiguration.
Microsoft begann mit der Unterstützung von RDMA auf Windows Server 2012 und fügte neue Funktionen in den späteren Windows Server-Betriebssystemen hinzu. Eine Funktion, die auf Microsoft Windows Server 2019 verfügbar ist, ist die Möglichkeit, RDMA für das Gastbetriebssystem (VM) bereitzustellen. Dadurch erhält der Gast denselben Zugriff mit niedriger Latenz auf einen Netzwerkspeicher wie der native Host, wodurch der CPU-Overhead reduziert und der Durchsatz und die Leistung direkt in der VM verbessert werden.
Dell bietet großartige Optionen für RDMA mit 25 Gbit/s, wie z. B. Cavius QLogic FastLinQ 41262 Dual Port 25 GbE SFP28 (iWarp/RoCE) und Mellanox ConnectX-4 Lx 25 Gbps RDMA (RoCE). In diesem Beispiel wird der Mellanox ConnectX-4 LX RDMA (RoCEv2-Modus) verwendet, um die Gast-RDMA-Funktion zu testen.
Laborumgebung
Server:
- 2 x Dell R7425 (AMD EPYC 7551-Prozessor mit 32 Cores)
- 256 GB Arbeitsspeicher
- Mellanox ConnectX-4 Lx vollständig aktualisiert (Firmware (inkl. BIOS), Treiber und Betriebssystem)
Installierte Rollen und Funktionen:
- Hyper-V
- DCB
- Failover-Clustering
- S2D
Switch:
- Dell S5048F-ON – MANAGEMENT VLAN 2
- SMB-VLAN 15
Hardwarekonfiguration
- Starten Sie die Server neu und rufen Sie das System-Setup auf (drücken Sie während des POST F2).
- Wählen Sie Device Settings (Geräteeinstellungen).

Abbildung 1 : BIOS-Geräteeinstellungen
- Wählen Sie die NIC in Steckplatz 1 Port 1 – Mellanox aus.

Abbildung 2 : Geräteeinstellungen für Mellanox-Steckplatz 1 Port 1
- Navigieren Sie zu Konfiguration auf Geräteebene.

Abbildung 3 : Konfiguration auf Geräteebene
- Auswählen SR-IOV im Virtualisierungsmodus.

Abbildung 4 : SR-IOV-Einstellung
- Wiederholen Sie die obigen Schritte auf der NIC in Steckplatz 1 Port 2 – Mellanox.

Abbildung 5 : Geräteeinstellungen Mellanox Steckplatz 1 Port 2
- Gehen Sie zurück zum System-Setup-Hauptmenü und wählen Sie dann System-BIOS aus.

Abbildung 6 : System-BIOS
- Wählen Sie Integrated Devices aus.

Abbildung 7 : BIOS-integrierte Geräte
- Aktivieren Sie die Option SR-IOV Global .

Abbildung 8 : SR-IOV Global
- Speichern Sie Ihre Konfiguration und starten Sie den Server neu.
Konfigurieren von Gast-RDMA
- Installieren Windows Server 2019+
- Installieren Sie die Hyper-V-Rolle und die DCB-Funktion (Data Center Bridging).
- Konfigurieren Servicequalität (QoS), DCB, PFC, ETS. Stellen Sie sicher, dass die Server-NIC und QoS-Konfiguration mit der Switch-Konfiguration übereinstimmen.
- Konfigurieren Hyper-V Switch Embedded Team (SET)

Abbildung 9 : vSwitch-Konfiguration
- Testen Sie die RDMA-Kommunikation zwischen den physischen Servern, bevor Sie die VMs konfigurieren. Microsoft herunterladen
Diskspdund das Microsoft Test-RDMA PowerShell-Skript. Führen Sie die folgenden Schritte nur aus, wenn die Kommunikation ordnungsgemäß funktioniert. Überprüfen Sie andernfalls die Switchkonfiguration und/oder DCB-Einstellungen auf dem Host.

Abbildung 10 : Physische Test-RDMA-Hosts
- Überprüfen Sie , ob SR-IOV auf den RDMA-Adaptern auf beiden Servern aktiviert ist.

Abbildung 11 : SR-IOV aktiviert
- Erstellen Sie zwei VMs der 2. Generation (Gastbetriebssystem), eine auf jedem Server, und installieren Sie dann Windows Server 2019. In diesem Szenario wird ein Gastbetriebssystem mit zwei vNICs erstellt, eine für den MGMT-Datenverkehr (VLAN 2) und eine für SMB-Datenverkehr (VLAN 15).

Abbildung 12 : Gastbetriebssystem-Netzwerkkonfigurationshost R7425-01

Abbildung 13 : Netzwerkkonfigurationshost der virtuellen Maschine R7425-02
- Fahren Sie die VMs herunter.
- Ermöglichen SR-IOV und RDMA auf dem Gastbetriebssystem.

Abbildung 14 : Aktivieren von SR-IOV/RDMA auf Gastbetriebssystemen
- Starten Sie die VMs und öffnen Sie dann den Geräte-Manager. Unter Netzwerkadapter sollte die virtuelle Funktion (VF) der Mellanox aufgeführt sein. Die VF wird nicht als regulärer Netzwerkadapter in Netzwerkverbindungen dargestellt, wie in Abbildung 15 gezeigt.

Abbildung 15 : Device Manager und Netzwerkverbindungen des Gastbetriebssystems
- Aktivieren Sie RDMA auf SMB-vNIC. Die RDMA-Funktion ist auf Mellanox VF bereits aktiviert (Ethernet4 – Abbildung 16).

Abbildung 16 : Aktivieren von RDMA auf SMB-vNIC
- Test Gast-RDMA.
IfIndex (vNIC-Schnittstellenindex) und die VfIndex (Mellanox VF-Schnittstellenindex).

Abbildung 17 : Test-RDMA-Gastbetriebssystem
PowerShell-Cmdlets
#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
Download-Links
Haben Sie Kommentare, Fragen oder Vorschläge? Kontaktieren Sie uns unter WinServerBlogs@dell.com