Microsoft Windows: Cómo configurar RDMA huésped en Windows Server
摘要: En este artículo, se explica cómo configurar el acceso directo a la memoria remoto (RDMA) de invitado en un servidor Windows.
说明
Tabla de contenido
- Introducción al acceso directo a memoria remota (RDMA)
- Entorno de laboratorio
- Configuración de hardware
- Configuración de RDMA huésped
- Cmdlets de PowerShell
- Vínculos de descarga
Introducción al acceso directo a memoria remota (RDMA)
Remote Direct Memory Access (RDMA) es una excelente tecnología que permite a las computadoras transferir datos a través de la red sin involucrar la CPU o los recursos del sistema operativo de los hosts involucrados (computación y almacenamiento). Esto mejora el rendimiento y el rendimiento, y reduce la latencia y la sobrecarga de la CPU.
En la actualidad, existen dos implementaciones populares de RDMA:
- RoCE
- Transporte: UDP/IP (RoCE v2)
- Confíe en el puente de centros de datos (DCB)
- iWarp
- Red subyacente: TCP/IP
- TCP proporciona control de flujo y administración de congestión.
RoCE depende en gran medida de la configuración de DCB, como el servicio de transmisión mejorada (ETS) y el control de flujo prioritario (PFC), lo que puede convertirse en un problema si los switches de red no se configuran correctamente. iWARP no requiere ninguna configuración de switch.
Microsoft comenzó a admitir RDMA en Windows Server 2012 y agregó nuevas características en el sistema operativo Windows Server posterior. Una característica disponible en Windows Server 2019 de Microsoft es la capacidad de presentar RDMA al sistema operativo invitado (VM). Esto permite que el huésped tenga el mismo acceso de baja latencia a un almacenamiento en red que el host nativo, lo que reduce la sobrecarga de la CPU y mejora el rendimiento y el rendimiento directamente en la VM.
Dell ofrece excelentes opciones para RDMA de 25 Gbps, como Cavius QLogic FastLinQ 41262 de dos puertos y 25 GbE SFP28 (iWarp/RoCE) y Mellanox ConnectX-4 Lx de 25 Gbps RDMA (RoCE). En este ejemplo, se utiliza Mellanox ConnectX-4 Lx RDMA (modo RoCEv2) para demostrar la función de RDMA huésped.
Entorno de laboratorio
Servidores:
- 2 Dell R7425 (procesador AMD EPYC 7551 de 32 núcleos)
- Memoria de 256 GB
- Mellanox ConnectX-4 Lx completamente actualizado (firmware (incluido el BIOS), controladores y SO)
Funciones y características instaladas:
- Hyper-V
- DCB
- Agrupación en clústeres de conmutación por error
- S2D
Switch:
- Dell S5048F-ON: administración de VLAN 2
- VLAN SMB 15
Configuración de hardware
- Reinicie los servidores y vaya a Configuración del sistema (presione F2 durante la POST).
- Seleccione Configuración de dispositivos.

Figura 1 : Configuración del dispositivo BIOS
- Seleccione la NIC en la ranura 1, puerto 1: Mellanox.

Figura 2 : Configuración del dispositivo del puerto 1 de la ranura 1 Mellanox
- Vaya a Configuración a nivel de dispositivo.

Figura 3 : Configuración a nivel de dispositivo
- Escoger SR-IOV en modo de virtualización.

Figura 4 : Configuración de SR-IOV
- Repita los pasos anteriores en la NIC de la ranura 1, puerto 2: Mellanox.

Figura 5 : Configuración del dispositivo del puerto 2 de la ranura 1 de Mellanox
- Vuelva al menú principal de configuración del sistema y, a continuación, seleccione BIOS del sistema.

Figura 6 : BIOS del sistema
- Seleccione Integrated Devices.

Figura 7 : Dispositivos integrados en el BIOS
- Habilite la opción SR-IOV Global .

Figura 8 : SR-IOV Global
- Guarde la configuración y reinicie el servidor.
Configuración de RDMA huésped
- Instalar Windows Server 2019+.
- Instale la función Hyper-V y la característica Puente del centro de datos (DCB).
- Configurar Calidad de servicio (QoS), DCB, PFC y ETS. Asegúrese de que la configuración de QoS y NIC del servidor coincida con la configuración del switch.
- Configurar Equipo integrado del switch Hyper-V (SET).

Figura 9 : Configuración de vSwitch
- Pruebe la comunicación RDMA entre los servidores físicos antes de configurar las VM. Descargar Microsoft
Diskspdy el script de PowerShell Microsoft Test-RDMA. Siga los pasos que se indican a continuación solo si la comunicación funciona correctamente. De lo contrario, compruebe la configuración del switch o los ajustes de DCB en el host.

Figura 10 : Hosts físicos de RDMA de prueba
- Verifique si SR-IOV está activado en los adaptadores RDMA de ambos servidores.

Figura 11 : SR-IOV habilitado
- Cree dos máquinas virtuales Gen 2 (SO huésped), una en cada servidor; luego, instale Windows Server 2019. En este escenario, se crea un SO huésped con dos vNIC, uno para el tráfico de administración (VLAN 2) y otro para el tráfico de SMB (VLAN 15).

Figura 12 : host de configuración de red del SO huésped R7425-01

Figura 13 : Host de configuración de red de máquina virtual R7425-02
- Apague las VM.
- Habilitar SR-IOV y RDMA en el SO huésped.

Figura 14 : habilite SR-IOV/RDMA en los sistemas operativos invitados.
- Inicie las máquinas virtuales y, a continuación, abra el Administrador de dispositivos. La función virtual (VF) Mellanox debe aparecer en la lista Network Adapters. La VF no se presenta como un adaptador de red normal en las conexiones de red, como se muestra en la Figura 15.

Figura 15 : Administrador de dispositivos del SO huésped y conexiones de red
- Habilite RDMA en vNIC SMB. La funcionalidad RDMA ya está habilitada en el VF Mellanox (Ethernet4 - Figura 16).

Figura 16 : habilitación de RDMA en vNIC SMB.
- Prueba RDMA de invitado.
IfIndex (Índice de interfaz de vNIC) y el VfIndex (Índice de interfaz Mellanox VF).

Figura 17 : SO huésped Test-RDMA
Cmdlets de 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
Vínculos de descarga
¿Tiene algún comentario, pregunta o sugerencia? Póngase en contacto con nosotros en WinServerBlogs@dell.com