O NVMe sobre RDMA em ESXi requer uma rede Ethernet sem perdas para operar de forma eficiente.

Para estabelecer redes sem perdas, você pode selecionar uma das configurações de QoS disponíveis.

Habilitando o controle de fluxo de pausa global

Nessa configuração de rede, certifique-se de que o controle de fluxo de pausa global esteja ativado nas portas do comutador de rede. Além disso, certifique-se de que os NICs compatíveis com RDMA no host negociem automaticamente para o controle de fluxo correto.

Para verificar o controle de fluxo, execute os seguintes comandos.

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

Se as opções de comando acima não estiverem definidas como verdadeiras, execute o seguinte comando.

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

Habilitando o controle de fluxo de prioridade

Para que o tráfego RoCE seja sem perdas, você deve configurar o valor de prioridade do PFC como 3 no comutador físico e nos hosts. Você pode configurar o PFC no host ESXi de duas maneiras:
  • Configuração automática. A partir do ESXi 7.0, você pode aplicar a configuração do DCB PFC automaticamente no host RNIC, se o driver RNIC oferecer suporte a DCB e DCBx.

    Você pode verificar as configurações atuais do DCB executando o seguinte comando.

    #esxcli network nic dcb status get -n vmnicX
  • Configuração manual. Em alguns casos, os drivers RNIC fornecem um método para configurar manualmente o DCB PFC usando parâmetros específicos do driver. Para usar esse método, consulte a documentação do driver específico do fornecedor. Por exemplo, no driver Mellanox ConnectX-4/5, você pode definir o valor de prioridade do PFC como 3 executando o seguinte comando e reiniciando o host.
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08"

Habilitando o PFC baseado em DSCP

O PFC baseado em DSCP é outra maneira de configurar uma rede sem perdas. Em switches e hosts físicos, você deve definir o valor de DSCP como 26. Para usar essa opção, consulte a documentação do driver específico do fornecedor. Por exemplo, no driver Mellanox ConnectX-4/5, você pode definir o valor da tag DSCP como 26 executando os seguintes comandos.
  • Ativar o modo de confiança PFC e DSCP
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08 trust_state=2"
    
  • Defina o valor de DSCP como 26
    #esxcli system module parameters set -m nmlx5_rdma -p "dscp_force=26"
  • Verifique os parâmetros para confirmar se as configurações estão corretas e definidas.
    esxcli system module parameters list -m nmlx5_core | grep 'trust_state\|pfcrx\|pfctx'
  • Reinicialize o host