Descrição geral da Rede Acelerada
Atenção
Este artigo faz referência ao CentOS, uma distribuição Linux com status de Fim de Vida (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.
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. 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 cumpre os seguintes requisitos.
Suporte a dispositivos e drivers
Qualquer imagem personalizada que ofereça suporte à Rede Acelerada deve incluir drivers que habilitem a Virtualização de E/S de raiz única para as placas de interface de rede (NIC) usadas nas plataformas do Azure. Esta lista de hardware inclui NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 e o Microsoft Azure Network Adapter (MANA).
Vinculação dinâmica e revogação de função virtual
A Rede Acelerada requer imagens do SO convidado para lidar corretamente com a função virtual que está sendo removida ou adicionada dinamicamente. Cenários como manutenção de host ou migração ao vivo resultarão na revogação dinâmica da função virtual e restauração após o evento de manutenção. Além disso, os aplicativos devem garantir que eles se liguem ao dispositivo sintético e não à função virtual para manter a conectividade de rede durante esses eventos.
Para obter mais informações sobre os requisitos de vinculação de aplicativos, consulte Como funciona a rede acelerada em VMs Linux e FreeBSD.
Configurar drivers para não serem gerenciados
A Rede Acelerada requer configurações de rede que marcam os drivers NVIDIA como dispositivos não gerenciados. 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. Recomendamos vivamente que não execute software de interface de rede concorrente (como ifupdown e networkd) em imagens personalizadas e que não execute dhcpclient diretamente em várias interfaces.
O exemplo a seguir mostra um exemplo de drop-in de configuração para NetworkManager
RHEL ou CentOS:
sudo cat <<EOF > /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
# Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
# This interface is transparentlybonded to the synthetic interface,
# so NetworkManager should just ignore any SRIOV interfaces.
SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
EOF
O tráfego de rede usa o caminho de dados de rede acelerada
Para drivers NVIDIA: verifique se os pacotes estão fluindo pela interface VF
Para o motorista MANA: Verifique se o tráfego está fluindo através do MANA