NVMe over RDMA en ESXi necesita una red Ethernet sin pérdida para poder funcionar de forma eficaz.

Para establecer redes sin pérdida, puede seleccionar una de las opciones de configuración de calidad de servicio disponibles.

Habilitar el control de flujo de pausa global

En esta configuración de red, asegúrese de que el control de flujo de pausa global esté habilitado en los puertos de conmutador de red. Compruebe también que las NIC compatibles con RDMA del host negocien automáticamente el control de flujo correcto.

Para comprobar el control de flujo, ejecute los siguientes comandos.

#esxcli network nic get -n vmnicX
   Pause RX: true
   Pause TX: true

Si las opciones de comando anteriores no se establecen en true, ejecute el siguiente comando.

#esxcli network nic pauseParams set -r true -t true -n vmnicX

Habilitar el control de flujo basado en prioridad (PFC, Priority Flow Control)

Para que el tráfico RoCE no tenga pérdidas, debe configurar el valor de prioridad de PFC en 3 en el conmutador físico y los hosts. El PFC se puede configurar en el host ESXi de dos maneras:
  • Configuración automática. A partir de ESXi 7.0, la configuración de PFC de DCB se aplica automáticamente en la RNIC del host si el controlador de RNIC es compatible con DCB y DCBx.

    Para comprobar la configuración actual de DCB, ejecute el siguiente comando.

    #esxcli network nic dcb status get -n vmnicX
  • Configuración manual. En algunos casos, los controladores de RNIC proporcionan un método para configurar manualmente el PFC de DCB mediante parámetros específicos de los controladores. Para utilizar este método, consulte la documentación del controlador específico del proveedor. Por ejemplo, en el controlador ConnectX-4/5 de Mellanox, puede establecer el valor de prioridad de PFC en 3 si ejecuta el siguiente comando y reinicia el host.
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08"

Habilitar PFC basado en DSCP

El PFC basado en DSCP es otra forma de configurar la red sin pérdida. En los hosts y los conmutadores físicos, debe establecer el valor de DSCP en 26. Para usar esta opción, consulte la documentación del controlador específico del proveedor. Por ejemplo, en el controlador ConnectX-4/5 de Mellanox, puede establecer el valor de etiqueta de DSCP en 26 si ejecuta los siguientes comandos.
  • Habilitar el modo de confianza de PFC y DSCP
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08 trust_state=2"
    
  • Establecer el valor de DSCP en 26
    #esxcli system module parameters set -m nmlx5_rdma -p "dscp_force=26"
  • Verifique los parámetros que desea comprobar para confirmar si la configuración es correcta y si está establecida.
    esxcli system module parameters list -m nmlx5_core | grep 'trust_state\|pfcrx\|pfctx'
  • Reiniciar el host