Inhoudsopgave
-
-
-
-
-
-
1. Introductie van Remote Direct Memory Access (RDMA)
Remote Direct Memory Access (RDMA) is een geweldige technologie die computers in staat stelt data over te dragen via het netwerk zonder tussenkomst van CPU- of OS-resources van de betrokken hosts (compute/storage), waardoor de doorvoersnelheid en prestaties worden verbeterd, latentie en CPU-overhead worden verminderd.
Er zijn momenteel twee populaire RDMA-implementaties:
RoCE-
Transport: UDP/IP (RoCE v2)
- Vertrouw op DCB (Data Center Bridging)
iWarp
- Onderliggend netwerk: TCP/IP
- TCP biedt stroomregeling en congestiebeheer
RoCE is sterk afhankelijk van DCB-configuraties zoals ETS (Enhanced Transmission Service) en PFC (Priority Flow Control), wat een probleem kan worden als netwerkswitches niet correct zijn geconfigureerd. iWARP vereist geen switchconfiguratie.
Microsoft begon met het ondersteunen van RDMA op Windows Server 2012 en voegde nieuwe functies toe aan de latere Windows Server OS'en. Een functie die beschikbaar is op het nieuwste besturingssysteem van Microsoft, Windows Server 2019, is de mogelijkheid om RDMA te presenteren aan het gast-besturingssysteem (VM). Hierdoor kan de gast dezelfde lagelatentietoegang hebben tot een netwerkstorage als de native host, wat de CPU-overhead vermindert en zorgt voor verbeterde doorvoer en prestaties rechtstreeks in de VM.
Dell EMC biedt geweldige opties voor 25 Gbps RDMA, zoals de Cavium QLogic FastLinQ 41262 Dual Port 25 GbE SFP28 (iWarp/RoCE) en de Mellanox ConnectX-4 Lx 25 Gbps RDMA (RoCE). In dit voorbeeld wordt de gast-RDMA-functie gedemonstreerd aan de hand van de Mellanox ConnectX-4 Lx RDMA (RoCEv2-modus).
Servers: 2 x Dell EMC R7425 (AMD Epyc 7551 processor met 32 cores), 256 GB geheugen, Mellanox ConnectX-4 Lx volledig bijgewerkt (BIOS, firmware, drivers en besturingssystemen)
Rollen en geïnstalleerde functies: Hyper-V, DCB, Failover Clustering, S2D
Switch: Dell EMC S5048F-ON – MGMT VLAN 2, SMB VLAN 15
Dell EMC raadt aan het BIOS, de firmware, de drivers en het besturingssysteem bij te werken als onderdeel van uw geplande updatecyclus. BIOS-, firmware-, driver- en besturingssysteemupdates zijn bedoeld om de betrouwbaarheid, stabiliteit en beveiliging van uw systeem te verbeteren.
1. Start de servers opnieuw op en ga naar System Setup (druk op F2 tijdens POST).
2. Selecteer Device Settings.
Afbeelding 1 - BIOS-apparaatinstellingen
3. Selecteer de NIC in sleuf 1 Poort 1 - Mellanox
Afbeelding 2 - Mellanox slot 1 poort 1 Apparaatinstellingen
4. Ga naar Configuratie
apparaatniveau Afbeelding 3 - Configuratie
apparaatniveau 5. Selecteer SR-IOV in virtualisatiemodus.
Figuur 4 - SR-IOV-instelling
6. Herhaal de bovenstaande stappen op de NIC in slot 1 poort 2 - Mellanox.
Afbeelding 5 - Mellanox slot 1 poort 2 Apparaatinstellingen
7. Ga terug naar het hoofdmenu van System Setup en selecteer Systeem-BIOS.
Afbeelding 6 - Systeem-BIOS
8. Selecteer Geïntegreerde apparaten.
Afbeelding 7 - BIOS geïntegreerde apparaten
9. Optie SR-IOV Global inschakelen inschakelen.
Figuur 8 - SR-IOV Global
10. Sla uw configuratie op en start de server opnieuw op.
1. Installeer Windows Server 2019+
2. Installeer de Hyper-V-rol en de DCB-functie (Data Center Bridging).
3. Configureer QoS (Quality-of-Service), DCB, PFC, ETS. Zorg ervoor dat de NIC- en QoS-configuratie van de server overeenkomt met de configuratie van de switch.
4. Configure Hyper-V SET (Switch Embedded Team).
Afbeelding 9 - vSwitch-configuratie
5. Test de RDMA-communicatie tussen de fysieke servers voorafgaand aan de configuratie van de VM's. Download Microsoft Diskspd en het Microsoft Test-RDMA PowerShell script. Ga alleen verder met de onderstaande stappen als de communicatie goed werkt. Controleer anders de switchconfiguratie en/of DCB-instellingen op de host.
Afbeelding 10 - Fysieke hosts
voor test-RDMA 6. Controleer of SR-IOV is ingeschakeld op de RDMA-adapters op beide servers.
Afbeelding 11 - SR-IOV ingeschakeld
7. Maak twee 2e generatie VM's (gast-besturingssysteem), één op elke server, en installeer Windows Server 2019. In dit scenario wordt een gastbesturingssysteem gemaakt met twee vNIC's, één voor MGMT-verkeer (VLAN 2) en één voor SMB-verkeer (VLAN 15).
Afbeelding 12 - Netwerkconfiguratie gastbesturingssysteem R7425-01
Afbeelding 13 - Netwerkconfiguratie virtuele machine Host R7425-02
8. Sluit de VM's af.
9. Schakel SR-IOV en RDMA in op het gastbesturingssysteem.
Afbeelding 14 - SR-IOV/RDMA inschakelen op gastbesturingssystemen
10. Start de VM's en open Apparaatbeheer. De Mellanox Virtual Function (VF) moet worden vermeld onder Network Adapters. De VF wordt niet weergegeven als een normale netwerkadapter in Netwerkverbindingen zoals weergegeven in afbeelding 15.
Afbeelding 15 - Apparaatbeheer en Netwerkverbindingen van het gast-besturingssysteem
OPMERKING: Er moet mogelijk een NIC-driver worden geïnstalleerd om RDMA in het gastbesturingssysteem in te schakelen.
11. Schakel RDMA in op SMB vNIC. RDMA-functionaliteit is al ingeschakeld op de Mellanox VF (Ethernet4 - Afbeelding 16).
Afbeelding 16 - RDMA inschakelen op SMB vNIC
12. Test gast-RDMA.
Opmerking: Het is belangrijk om de IfIndex (vNIC Interface Index) en de VfIndex (Mellanox VF Interface Index) te specificeren.
Afbeelding 17- Test-RDMA gast-besturingssysteem
#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
Hebt u opmerkingen, vragen of suggesties? Neem contact met ons op via
WinServerBlogs@dell.com