Microsoft Windows: Como configurar o RDMA convidado no Windows Server
摘要: Este artigo explica como configurar o RDMA (Guest Remote Direct Memory Access) em um Windows Server.
说明
Sumário
- Introdução ao RDMA (Remote Direct Memory Access, Acesso Remoto Direto à Memória)
- Ambiente de laboratório
- Configuração de hardware
- Como configurar o RDMA convidado
- Powershell Cmdlets
- Links para download
Introdução ao RDMA (Remote Direct Memory Access, Acesso Remoto Direto à Memória)
O RDMA (Remote Direct Memory Access) é uma ótima tecnologia que permite que os computadores transfiram dados pela rede sem envolver os recursos de CPU ou SO dos hosts envolvidos (computação e armazenamento). Isso melhora o throughput e o desempenho, além de reduzir a latência e a sobrecarga da CPU.
Existem duas implementações RDMA populares atualmente:
- RoCE
- Transporte: UDP/IP (RoCE v2)
- Conte com o DCB (Data Center Bridging)
- iWarp
- Rede subjacente: TCP/IP
- O TCP fornece controle de fluxo e gerenciamento de congestionamento.
O RoCE depende muito da configuração de DCB, como o Serviço de Transmissão Avançada (ETS) e o Controle de Fluxo de Prioridade (PFC), o que pode se tornar um problema se os switches de rede não estiverem configurados corretamente. O iWARP não requer nenhuma configuração de switch.
A Microsoft começou a oferecer suporte ao RDMA no Windows Server 2012 e adicionou novos recursos no sistema operacional Windows Server posterior. Um recurso disponível no Windows Server 2019 da Microsoft é a capacidade de apresentar o RDMA ao sistema operacional convidado (VM). Isso permite que o convidado tenha o mesmo acesso de baixa latência a um armazenamento de rede que o host nativo, reduzindo a sobrecarga da CPU e melhorando o throughput e o desempenho diretamente na VM.
A Dell oferece ótimas opções de RDMA de 25 Gbps, como o Cavius QLogic FastLinQ 41262 de duas portas SFP28 de 25 GbE (iWarp/RoCE) e o Mellanox ConnectX-4 Lx de 25 Gbps RDMA (RoCE). Este exemplo usa o RDMA Mellanox ConnectX-4 LX (modo RoCEv2) para demonstrar o recurso RDMA convidado.
Ambiente de laboratório
Servidores:
- 2 Dell R7425 (processador AMD EPYC 7551 de 32 núcleos)
- Memória de 256 GB
- Mellanox ConnectX-4 Lx totalmente atualizado (firmware (incluindo BIOS), drivers e sistema operacional)
Funções e recursos instalados:
- Hyper-V
- DCB
- Failover Clustering
- S2D
Parâmetro:
- Dell S5048F-ON — VLAN 2 MGMT
- VLAN 15 de SMB
Configuração de hardware
- Reinicialize os servidores e vá para a Configuração do sistema (pressione F2 durante o POST).
- Selecione Device Settings.

Figura 1 – Configurações do dispositivo BIOS
- Selecione a NIC no Slot 1 Port 1 - Mellanox.

Figura 2 – Configurações do dispositivo Mellanox Slot 1 Port 1
- Vá para Device Level Configuration.

Figura 3 – Configuração no nível do dispositivo
- Selecionar SR-IOV no modo de virtualização.

Figura 4 – Configuração SR-IOV
- Repita as etapas acima no NIC no slot 1, porta 2 - Mellanox.

Figura 5 – Configurações do dispositivo Mellanox Slot 1 Port 2
- Volte para System Setup Main Menu e selecione System BIOS.

Figura 6 : BIOS do sistema
- Selecione Integrated Devices.

Figura 7 : Dispositivos integrados ao BIOS
- Ative a opção SR-IOV Global .

Figura 8 – SR-IOV global
- Salve sua configuração e reinicialize o servidor.
Como configurar o RDMA convidado
- Instalar Windows Server 2019+.
- Instale a função Hyper-V e o recurso DCB (Data Center Bridging).
- Configurar Qualidade de serviço (QoS), DCB, PFC, ETS. Certifique-se de que a NIC do servidor e a configuração de QoS correspondam à configuração do switch.
- Configurar Equipe incorporada de switch Hyper-V (SET).

Figura 9 – Configuração do vSwitch
- Teste a comunicação RDMA entre os servidores físicos antes de configurar as VMs. Baixar Microsoft
Diskspde o script do Microsoft Test-RDMA PowerShell. Siga as etapas abaixo somente se a comunicação estiver funcionando corretamente. Caso contrário, verifique a configuração do switch e/ou as configurações do DCB no host.

Figura 10 – Hosts físicos de teste-RDMA
- Verifique se o SR-IOV está ativado nos adaptadores RDMA em ambos os servidores.

Figura 11 – SR-IOV ativado
- Crie duas máquinas virtuais de 2ª geração (sistema operacional convidado), uma em cada servidor. Em seguida, instale o Windows Server 2019. Nesse cenário, um sistema operacional convidado é criado com duas vNICs, uma para tráfego de MGMT (VLAN 2) e outra para tráfego de SMB (VLAN 15).

Figura 12 – Host de configuração de rede do SO convidado R7425-01

Figura 13 – Host de configuração de rede de máquina virtual R7425-02
- Desligue as VMs.
- Habilitar SR-IOV e RDMA no SO convidado.

Figura 14 - Habilitar SR-IOV/RDMA em sistemas operacionais convidados.
- Inicie as VMs e, em seguida, abra o Gerenciador de dispositivos. A Mellanox Virtual Function (VF) deve estar listada em Adaptadores de rede. A FV não é apresentada como um adaptador de rede normal em Conexões de rede, conforme mostrado na Figura 15.

Figura 15 - SO convidado Gerenciador de dispositivos e conexões de rede
- Habilite o RDMA na vNIC do SMB. A funcionalidade RDMA já está habilitada na Mellanox VF (Ethernet4 - Figura 16).

Figura 16 – Habilitar o RDMA na vNIC do SMB.
- Teste RDMA convidado.
IfIndex (vNIC Interface Index) e o VfIndex (Mellanox VF Interface Index).

Figura 17 – SO convidado Test-RDMA
Powershell Cmdlets
#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
Links para download
Tem algum comentário, dúvida ou sugestão? Entre em contato conosco no WinServerBlogs@dell.com