Descrição geral da Rede Acelerada

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux que está se aproximando do status de Fim da Vida Útil (EOL). Por favor, considere o seu uso e planeje de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

Este artigo descreve os benefícios, restrições e configurações suportadas do Accelerated Networking. A rede acelerada permite a virtualização de E/S de raiz única (SR-IOV) em tipos de máquina virtual (VM) suportados, melhorando consideravelmente o desempenho da rede. Esse caminho de dados de alto desempenho ignora o host, o que reduz a latência, os desvios e a utilização da CPU para as cargas de trabalho de rede mais exigentes.

Nota

Para obter mais informações sobre a visualização do Microsoft Azure Network Adapter (MANA), consulte o Azure MANA Docs

O diagrama a seguir ilustra como duas VMs se comunicam com e sem Rede Acelerada.

Captura de ecrã que mostra a comunicação entre VMs do Azure com e sem Rede Acelerada.

Sem a Rede Acelerada, todo o tráfego de rede dentro e fora da VM atravessa o host e o comutador virtual. O comutador virtual fornece toda a imposição de políticas ao tráfego de rede. As políticas incluem grupos de segurança de rede, listas de controle de acesso, isolamento e outros serviços virtualizados de rede.

Com a Rede Acelerada, o tráfego de rede que chega à interface de rede (NIC) da VM é encaminhado diretamente para a VM. A Rede Acelerada descarrega todas as políticas de rede aplicadas pelo comutador virtual e aplica-as no hardware. Como o hardware aplica políticas, a NIC pode encaminhar o tráfego de rede diretamente para a VM. A NIC ignora o anfitrião e o comutador virtual, enquanto mantém todas as políticas que aplicou no anfitrião.

Benefícios

A Rede Acelerada tem os seguintes benefícios:

  • Menor latência e maiores pacotes por segundo (pps). A remoção do comutador virtual do caminho de dados elimina o tempo que os pacotes gastam no anfitrião para processamento de políticas. Também aumenta o número de pacotes que a VM pode processar.

  • Menos interferência. O tempo de processamento para comutadores virtuais depende da quantidade de política a ser aplicada e da carga de trabalho da CPU que faz o processamento. A imposição da política de descarregamento para o hardware remove essa variabilidade entregando os pacotes diretamente à VM. O descarregamento também remove a comunicação entre o anfitrião e a VM, todas as interrupções de software e todas as alternâncias de contexto.

  • Diminuição da utilização da CPU. Ignorar o comutador virtual no anfitrião leva a uma menor utilização da CPU para processar o tráfego da rede.

Limitações e restrições

  • Os benefícios da Rede Acelerada aplicam-se apenas à VM que a habilita.

  • Para obter melhores resultados, habilite a Rede Acelerada em pelo menos duas VMs na mesma rede virtual do Azure. Esse recurso tem um efeito mínimo na latência quando você se comunica através de redes virtuais ou se conecta localmente.

  • Não é possível habilitar a Rede Acelerada em uma VM em execução. Você pode habilitar a Rede Acelerada em uma VM suportada somente quando a VM for interrompida e deslocalizada.

  • Não é possível implantar máquinas virtuais (clássicas) com a Rede Acelerada por meio do Gerenciador de Recursos do Azure.

  • A plataforma Azure não atualiza os drivers da NIC Mellanox na VM. Para VMs que executam Linux e FreeBSD, os clientes são incentivados a manterem-se atualizados com as últimas atualizações do kernel oferecidas pela distribuição. Para VMs que executam o Windows, os clientes devem aplicar drivers atualizados da página de suporte da Nvidia se algum problema for encontrado posteriormente com o driver fornecido com a imagem do Marketplace ou aplicado a uma imagem personalizada.

Regiões suportadas

A Rede Acelerada está disponível em todas as regiões globais do Azure e na Nuvem do Governo do Azure.

Sistemas operativos suportados

As seguintes versões do Windows suportam Rede Acelerada:

  • Windows Server 2022
  • Windows Server 2019 Standard/Datacenter
  • Windows Server 2016 Standard/Datacenter
  • Windows Server 2012 R2 Standard/Datacenter
  • Windows 10 versão 21H2 ou posterior, incluindo Windows 10 Enterprise multisessão
  • Windows 11, incluindo Windows 11 Enterprise multisessão

As seguintes distribuições Linux e FreeBSD do Azure Marketplace suportam Rede Acelerada pronta para uso:

  • Ubuntu 14.04 com o kernel linux-azure
  • Ubuntu 16.04 ou posterior
  • SLES12 SP3 ou posterior
  • RHEL 7.4 ou posterior
  • CentOS 7.4 ou posterior
  • CoreOS Linux
  • Debian "Stretch" com kernel de backports
  • Debian "Buster" ou posterior
  • Oracle Linux 7.4 e posterior com Red Hat Compatible Kernel (RHCK)
  • Oracle Linux 7.5 e posterior com UEK versão 5
  • FreeBSD 10.4, 11.1, 12.0 ou posterior

Instâncias de VM suportadas

A maioria dos tamanhos de instância de VM de uso geral e otimizados para computação com duas ou mais vCPUs oferece suporte à Rede Acelerada. Em instâncias que suportam hyperthreading, as instâncias de VM com quatro ou mais vCPUs suportam Rede Acelerada.

Para verificar se um tamanho de VM dá suporte à Rede Acelerada, consulte Tamanhos para máquinas virtuais no Azure.

Você pode consultar diretamente a lista de SKUs de VM que dão suporte à Rede Acelerada usando o comando Azure CLI az vm list-skus :

az vm list-skus \
  --location westus \
  --all true \
  --resource-type virtualMachines \
  --query '[].{size:size, name:name, acceleratedNetworkingEnabled: capabilities[?name==`AcceleratedNetworkingEnabled`].value | [0]}' \
  --output table

Nota

Embora os tamanhos NC e NV apareçam na saída do comando, esses tamanhos não suportam Rede Acelerada. Habilitar a rede acelerada em VMs NC ou NV não tem efeito.

Imagens de VM personalizadas

Se utilizar uma imagem personalizada que suporte Rede Acelerada, certifique-se de que tem os controladores necessários para trabalhar com as NICs Mellanox ConnectX-3, ConnectX-4 Lx e ConnectX-5 no Azure. A Rede Acelerada também requer configurações de rede que isentam a configuração das funções virtuais nos drivers mlx4_en e mlx5_core.

As imagens com cloud-init versão 19.4 ou posterior têm a rede configurada corretamente para suportar a Rede Acelerada durante o provisionamento.

O exemplo a seguir mostra um exemplo de drop-in de configuração para NetworkManager RHEL ou CentOS:

sudo mkdir -p /etc/NetworkManager/conf.d
sudo cat > /etc/NetworkManager/conf.d/99-azure-unmanaged-devices.conf <<EOF
# Ignore SR-IOV interface on Azure, since it's transparently bonded
# to the synthetic interface
[keyfile]
unmanaged-devices=driver:mlx4_core;driver:mlx5_core
EOF

Próximos passos