Microsoft Windows: Come configurare RDMA guest su Windows Server
摘要: Questo articolo spiega come configurare RDMA (Guest Remote Direct Memory Access) su Windows Server.
说明
Sommario
- Introduzione di Remote Direct Memory Access (RDMA)
- Ambiente di laboratorio
- Configurazione hardware
- Configurazione della funzione Guest RDMA
- Cmdlet di PowerShell
- Link per il download
Introduzione di Remote Direct Memory Access (RDMA)
RDMA (Remote Direct Memory Access) è una tecnologia eccellente che consente ai computer di trasferire dati in rete senza coinvolgere la CPU o le risorse del sistema operativo degli host coinvolti (elaborazione e storage). Ciò migliora throughput e prestazioni e riduce la latenza e l'overhead della CPU.
Oggi sono disponibili due implementazioni RDMA molto diffuse:
- RoCE
- Trasporto: UDP/IP (RoCE v2)
- Affidarsi a Data Center Bridging (DCB)
- iWarp
- Rete sottostante: TCP/IP
- TCP fornisce il controllo del flusso e la gestione della congestione.
RoCE si basa fortemente sulla configurazione DCB, come Enhanced Transmission Service (ETS) e Priority Flow Control (PFC), che possono diventare un problema se gli switch di rete non sono configurati correttamente. iWARP non richiede alcuna configurazione di switch.
Microsoft ha iniziato a supportare RDMA in Windows Server 2012 e ha aggiunto nuove funzionalità nel successivo sistema operativo Windows Server. Una funzionalità disponibile su Microsoft Windows Server 2019 è la possibilità di presentare RDMA al sistema operativo guest (VM). Ciò consente al Guest di avere lo stesso accesso a bassa latenza a uno storage di rete dell'host nativo, riducendo il sovraccarico della CPU e migliorando il throughput e le prestazioni direttamente nella VM.
Dell offre ottime opzioni per RDMA da 25 Gb/s, come Cavius QLogic FastLinQ 41262 a porta doppia 25 GbE SFP28 (iWarp/RoCE) e Mellanox ConnectX-4 Lx 25 Gbps RDMA (RoCE). In questo esempio viene utilizzata la scheda Mellanox ConnectX-4 LX RDMA (modalità RoCEv2) per la demo della funzione Guest RDMA.
Ambiente di laboratorio
Server:
- 2 Dell R7425 (processore AMD EPYC 7551 a 32 core)
- 256 GB di memoria
- Mellanox ConnectX-4 Lx completamente aggiornato (firmware (incluso BIOS), driver e sistema operativo)
Ruoli e funzionalità installati:
- Hyper-V
- DCB
- Failover Clustering
- Visualizzazione del materiale S2D
Switch:
- Dell S5048F-ON - VLAN GESTIONE 2
- VLAN SMB 15
Configurazione hardware
- Riavviare i server e accedere alla Configurazione del sistema (premere F2 durante il POST).
- Selezionare Device Settings.

Figura 1 - Impostazioni dispositivo BIOS
- Selezionare la scheda di rete nello slot 1 porta 1 - Mellanox.

Figura 2 . Impostazioni dispositivo Mellanox slot 1 porta 1
- Passare a Device Level Configuration.

Figura 3 - Configurazione a livello di dispositivo
- Selezionare SR-IOV in modalità di virtualizzazione.

Figura 4 - Impostazione SR-IOV
- Ripetere i passaggi precedenti sulla scheda di rete nello slot 1 porta 2 - Mellanox.

Figura 5 . Impostazioni del dispositivo Mellanox Slot 1 porta 2
- Tornare a System Setup Main Menu, quindi selezionare System BIOS.

Figura 6 . BIOS di sistema
- Selezionare Integrated Devices.

Figura 7 - Periferiche integrate nel BIOS
- Abilitare l'opzione SR-IOV Global .

Figura 8 - SR-IOV globale
- Salvare la configurazione e riavviare il server.
Configurazione della funzione Guest RDMA
- Installare Windows Server 2019+.
- Installare il ruolo Hyper-V e la funzionalità Data Center Bridging (DCB).
- Configurare Qualità del servizio (QoS), DCB, PFC, ETS. Assicurarsi che la configurazione della scheda di rete e QoS del server corrisponda alla configurazione dello switch.
- Configurare Hyper-V Switch Embedded Team (SET).

Figura 9 - Configurazione vSwitch
- Testare la comunicazione RDMA tra i server fisici prima di configurare le VM. Scarica Microsoft
Diskspde lo script PowerShell Microsoft Test-RDMA. Attenersi alla procedura riportata di seguito solo se la comunicazione funziona correttamente. In caso contrario, controllare la configurazione dello switch e/o le impostazioni DCB sull'host.

Figura 10 . Test degli host fisici RDMA
- Verificare se SR-IOV è abilitato sulle schede RDMA su entrambi i server.

Figura 11 - SR-IOV abilitato
- Creare due VM Gen 2 (sistema operativo guest), una su ciascun server, quindi installare Windows Server 2019. In questo scenario, viene creato un sistema operativo guest con due vNIC, una per il traffico MGMT (VLAN 2) e una per il traffico SMB (VLAN 15).

Figura 12 - Host di configurazione della rete del sistema operativo guest R7425-01

Figura 13 - Host di configurazione della rete della macchina virtuale R7425-02
- Arrestare le VM.
- Abilitare SR-IOV e RDMA sul sistema operativo guest.

Figura 14 - Abilitare SR-IOV/RDMA sui sistemi operativi guest.
- Avviare le macchine virtuali , quindi aprire Gestione dispositivi. Mellanox Virtual Function (VF) deve essere elencata in Network Adapters. La VF non viene visualizzata come una scheda di rete normale in Connessioni di rete, come mostrato nella figura 15.

Figura 15 - Gestione dispositivi del sistema operativo guest e connessioni di rete
- Abilitare RDMA su vNIC SMB. La funzionalità RDMA è già abilitata su Mellanox VF (Ethernet4 - Figura 16).

Figura 16 - Abilitare RDMA su vNIC SMB.
- Test RDMA guest.
IfIndex (vNIC Interface Index) e VfIndex (Mellanox VF Interface Index).

Figura 17 - Test del sistema operativo guest RDMA
Cmdlet di PowerShell
#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
Link per il download
Hai commenti, domande o suggerimenti? Contattaci su WinServerBlogs@dell.com