Inhaltsverzeichnis
-
-
-
-
-
-
1. Überblick über Remote Direct Memory Access (RDMA)
RDMA (Remote Direct Memory Access) ist eine großartige Technologie, mit der Computer Daten über das Netzwerk übertragen können, ohne dass CPU- oder Betriebssystemressourcen der beteiligten Hosts (Computer/Storage) erforderlich sind. Dies verbessert den Durchsatz und die Performance und verringert die Latenz und die CPU-Auslastung.
Es gibt derzeit zwei gängige RDMA-Implementierungen:
RoCE
– Transport: UDP/IP (RoCE Version 2)
– Baut auf DCB (Data Center Bridging) auf
iWarp
– Zugrundeliegendes Netzwerk: TCP/IP
– TCP bietet Datenflusssteuerung und Engpassmanagement.
RoCE stützt sich in hohem Maße auf DCB-Konfigurationen wie ETS (Enhanced Transmission Service) und PFC (Priority Flow Control), die zu Problemen führen können, wenn Netzwerk-Switches nicht ordnungsgemäß konfiguriert sind. iWARP erfordert keine Switch-Konfiguration.
Microsoft unterstützt RDMA seit Windows Server 2012 und hat in den neueren Windows Server-Betriebssystemen neue Funktionen hinzugefügt. Eine Funktion von Microsofts neuestem Betriebssystem, Windows Server 2019, ist die Möglichkeit, RDMA dem Gastbetriebssystem (VM) anzubieten. Auf diese Weise hat der Gast den gleichen latenzarmen Zugriff auf einen Netzwerkspeicher wie der native Host, wodurch die CPU-Auslastung verringert und Durchsatz/Leistung direkt in der VM verbessert werden.
Dell EMC bietet großartige Optionen für 25-Gbit/s-RDMA, wie z. B. Cavium QLogic FastLinQ 41262, 25-Gbit/s-SFP28 (iWarp/RoCE) und Mellanox ConnectX-4 Lx 25-Gbit/s-RDMA (RoCE). In diesem Beispiel wird der Mellanox ConnectX-4 LX RDMA (RoCEv2-Modus) verwendet, um die Gast-RDMA-Funktion zu testen.
Server: 2 x Dell EMC R7425 (AMD Epyc 7551 32-Core-Prozessor), 256 GB Speicher, Mellanox ConnectX-4 LX vollständig aktualisiert (BIOS, Firmware, Treiber und Betriebssystem)
Installierte Rollen/Funktionen: Hyper-V, DCB, Failover-Clustering, S2D
Switch: Dell EMC S5048F-ON – MGMT VLAN 2, SMB VLAN 15
Dell EMC empfiehlt, BIOS, Firmware, Treiber und Betriebssystem im Rahmen ihres geplanten Aktualisierungszyklus zu aktualisieren. Aktualisierungen von BIOS, Firmware, Treibern und Betriebssystemen dienen der Verbesserung der Zuverlässigkeit, Stabilität und Sicherheit des Systems.
1. Starten Sie die Server neu und rufen Sie das System-Setup auf (drücken Sie F2 während des POST).
2. Wählen Sie Device Settings (Geräteeinstellungen).
Abbildung 1: BIOS-Geräteeinstellungen
3. Wählen Sie den NIC in Steckplatz 1 Port 1 – Mellanox aus.
Abbildung 2: Mellanox in Steckplatz 1 Port 1 – Geräteeinstellungen
4. Gehen Sie zu „Device Level Configuration“.
Abbildung 3: Konfiguration auf Geräteebene
5. Wählen Sie SR-IOV im „Virtualization Mode“ aus.
Abbildung 4: SR-IOV-Einstellung
6. Wiederholen Sie die obigen Schritte auf dem NIC in Steckplatz 1 Port 2 – Mellanox.
Abbildung 5: Mellanox in Steckplatz 1 Port 2 – Geräteeinstellungen
7. Kehren Sie zum Hauptmenü des System-Setups zurück und wählen Sie „System BIOS“ aus.
Abbildung 6: System-BIOS
8. Wählen Sie „Integrated Devices“ aus.
Abbildung 7: Integrierte BIOS-Geräte
9. Aktivieren Sie die Option „SR-IOV Global Enable“.
Abbildung 8: SR-IOV Global
10. Speichern Sie die Konfiguration und starten Sie den Server neu.
1. Installieren Sie Windows Server 2019+
2. Installieren Sie die Hyper-V-Rolle und die Data Center Bridging-(DCB-)Funktion.
3. Konfigurieren Sie QoS (Quality-of-Service), DCB, PFC, ETS. Stellen Sie sicher, dass die NIC- und QoS-Konfiguration des Servers mit der Switch-Konfiguration übereinstimmt.
4. Konfigurieren Sie Hyper-V SET (Switch Embedded Team).
Abbildung 9: vSwitch-Konfiguration
5. Testen Sie die RDMA-Kommunikation zwischen den physischen Servern, bevor Sie die VMs konfigurieren. Laden Sie Microsoft Diskspd und das Microsoft Test-RDMA PowerShell-Skript herunter. Führen Sie die folgenden Schritte nur dann aus, wenn die Kommunikation ordnungsgemäß funktioniert. Überprüfen Sie andernfalls die Switch-Konfiguration und/oder die DCB-Einstellungen auf dem Host.
Abbildung 10: Test-RDMA physischer Hosts
6. Überprüfen Sie, ob SR-IOV auf den RDMA-Adaptern auf beiden Servern aktiviert ist.
Abbildung 11: SR-IOV aktiviert
7. 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, einer für MGMT-Datenverkehr (VLAN 2) und einer für SMB-Datenverkehr (VLAN 15).
Abbildung 12: Netzwerkkonfigurationshost für Gastbetriebssystem R7425-01
Abbildung 13: Virtuelle Maschine des Netzwerkkonfigurationshost R7425-02
8. Fahren Sie die VMs herunter.
9. Aktivieren Sie SR-IOV und RDMA auf dem Gastbetriebssystem.
Abbildung 14: Aktivieren von SR-IOV/RDMA auf Gastbetriebssystem
10. Starten Sie die VMs und öffnen Sie 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: Geräte-Manager und Netzwerkverbindungen im Gastbetriebssystem
HINWEIS: Möglicherweise muss ein NIC-Treiber installiert werden, um RDMA im Gastbetriebssystem zu aktivieren.
11. Aktivieren Sie RDMA auf SMB vNIC. Die RDMA-Funktion ist auf der Mellanox VF (Ethernet4, Abbildung 16) bereits aktiviert.
Abbildung 16: Aktivieren von RDMA auf SMB vNIC
12. Testen Sie die Gast-RDMA.
Hinweis: Es ist wichtig, dass Sie den IfIndex (vNIC-Schnittstellenindex) und den VfIndex (Mellanox VF-Schnittstellenindex) angeben.
Abbildung 17: Test-RDMA Gast-OS
#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
Haben Sie Anregungen oder Fragen? Bitte kontaktieren Sie uns unter
WinServerBlogs@Dell.com