Usar a CLI do Azure para criar uma VM Windows ou Linux com 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 como criar uma máquina virtual (VM) Linux ou Windows com Rede Acelerada (AccelNet) habilitada usando a interface de linha de comando da CLI do Azure. O artigo também discute como habilitar e gerenciar a Rede Acelerada em VMs existentes.

Você também pode criar uma VM com a Rede Acelerada habilitada usando o portal do Azure. Para obter mais informações sobre como usar o portal do Azure para gerenciar a Rede Acelerada em VMs, consulte Gerenciar Rede Acelerada por meio do portal.

Para usar o Azure PowerShell para criar uma VM do Windows com a Rede Acelerada habilitada, consulte Usar o Azure PowerShell para criar uma VM Linux com Rede Acelerada.

Pré-requisitos

Criar uma VM com rede acelerada

Nos exemplos a seguir, você pode substituir os parâmetros de exemplo, como <myResourceGroup>, <myNic>e <myVm> por seus próprios valores.

Criar uma rede virtual

  1. Use az group create para criar um grupo de recursos para conter os recursos. Certifique-se de selecionar uma região Windows ou Linux suportada, conforme listado em Rede Acelerada do Windows e Linux.

    az group create --name <myResourceGroup> --location <myAzureRegion>
    
  2. Use az network vnet create para criar uma rede virtual com uma sub-rede no grupo de recursos:

    az network vnet create \
      --resource-group <myResourceGroup> \
      --name <myVnet> \
      --address-prefix 192.168.0.0/16 \
      --subnet-name <mySubnet> \
      --subnet-prefix 192.168.1.0/24
    

Criar um grupo de segurança de rede

  1. Use az network nsg create para criar um grupo de segurança de rede (NSG).

    az network nsg create \
      --resource-group <myResourceGroup> \
      --name <myNsg>
    
  2. O NSG contém várias regras padrão, uma das quais desativa todo o acesso de entrada da Internet. Use az network nsg rule create para abrir uma porta para permitir o acesso RDP (protocolo de área de trabalho remota) ou shell seguro (SSH) à VM.

    az network nsg rule create \
      --resource-group <myResourceGroup> \
      --nsg-name <myNsg> \
      --name Allow-RDP-Internet \
      --access Allow \
      --protocol Tcp \
      --direction Inbound \
      --priority 100 \
      --source-address-prefix Internet \
      --source-port-range "*" \
      --destination-address-prefix "*" \
      --destination-port-range 3389
    

Crie uma interface de rede com o Accelerated Networking

  1. Use az network public-ip create para criar um endereço IP público. A VM não precisa de um endereço IP público se você não acessá-lo pela Internet, mas precisa do IP público para concluir as etapas deste artigo.

    az network public-ip create \
      --name <myPublicIp> \
      --resource-group <myResourceGroup>
    
  2. Use az network nic create para criar uma interface de rede (NIC) com a Rede Acelerada habilitada. O exemplo a seguir cria uma NIC na sub-rede da rede virtual e associa o NSG à NIC.

    az network nic create \
     --resource-group <myResourceGroup> \
      --name <myNic> \
      --vnet-name <myVnet> \
      --subnet <mySubnet> \
      --accelerated-networking true \
      --public-ip-address <myPublicIp> \
      --network-security-group <myNsg>
    

Criar uma VM e anexar a NIC

Use az vm create para criar a VM e use a --nics opção para anexar a NIC que você criou. Certifique-se de selecionar um tamanho e distribuição de VM listados em Rede Acelerada do Windows e Linux. Para obter uma lista de todos os tamanhos e características de VM, consulte Tamanhos para máquinas virtuais no Azure.

O exemplo a seguir cria uma VM do Windows Server 2019 Datacenter com um tamanho que oferece suporte a Rede Acelerada, Standard_DS4_v2.

az vm create \
  --resource-group <myResourceGroup> \
  --name <myVm> \
  --image Win2019Datacenter \
  --size Standard_DS4_v2 \
  --admin-username <myAdminUser> \
  --admin-password <myAdminPassword> \
  --nics <myNic>

Depois que a VM é criada, você obtém uma saída semelhante ao exemplo a seguir. Para uma máquina Linux, tome nota do publicIpAddress, que você insere para acessar a VM na próxima etapa.

{
  "fqdns": "",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm",
  "location": "centralus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "192.168.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Confirme se a rede acelerada está ativada

Depois de criar a VM no Azure, conecte-se à VM e confirme se o controlador Ethernet está instalado no Windows.

  1. No portal do Azure, procure e selecione máquinas virtuais.

  2. Na página Máquinas virtuais, selecione sua nova VM.

  3. Na página Visão Geral da VM, selecione Conectar.

  4. Na tela Conectar, selecione RDP nativo.

  5. Na tela RDP nativo, selecione Baixar arquivo RDP.

  6. Abra o ficheiro RDP transferido e, em seguida, inicie sessão com as credenciais que introduziu quando criou a VM.

  7. Na VM remota, clique com o botão direito do mouse em Iniciar e selecione Gerenciador de Dispositivos.

  8. Na janela Gerenciador de dispositivos, expanda o nó Adaptadores de rede.

  9. Confirme se o Mellanox ConnectX-4 Lx Virtual Ethernet Adapter aparece, conforme mostrado na imagem a seguir:

    Mellanox ConnectX-3 Virtual Function Ethernet Adapter, novo adaptador de rede para rede acelerada, Gerenciador de dispositivos

    A presença do adaptador confirma que a Rede Acelerada está habilitada para sua VM.

Nota

Se o adaptador Mellanox falhar ao iniciar, abra um prompt de comando do administrador na VM remota e digite o seguinte comando:

netsh int tcp set global rss = enabled

Lidar com vinculação dinâmica e revogação de função virtual

A associação à NIC sintética exposta na VM é um requisito obrigatório para todos os aplicativos que aproveitam a Rede Acelerada. Se um aplicativo for executado diretamente na VF NIC, ele não receberá todos os pacotes destinados à VM, porque alguns pacotes aparecerão na interface sintética.

Você deve executar um aplicativo sobre a NIC sintética para garantir que o aplicativo receba todos os pacotes destinados a ele. A associação à NIC sintética também garante que o aplicativo continue em execução mesmo se o VF for revogado durante a manutenção do host.

Para obter mais informações sobre os requisitos de vinculação de aplicativos, consulte Como funciona a rede acelerada em VMs Linux e FreeBSD.

Para garantir que sua imagem personalizada ou aplicativos suportem corretamente a vinculação dinâmica e a revogação de funções virtuais, a funcionalidade pode ser testada em qualquer servidor Windows Hyper-V. Use um Windows Server local executando o Hyper-V na seguinte configuração:

  • Certifique-se de ter um adaptador de rede físico que suporte SR-IOV.
  • Um comutador virtual externo é criado sobre este adaptador SR-IOV com a opção "Ativar virtualização de E/S de raiz única (SR-IOV)" marcada.
  • Uma máquina virtual que executa a imagem do sistema operacional ou o aplicativo é criada/implantada.
  • Os adaptadores de rede para esta máquina virtual, em Aceleração de hardware, têm "Ativar SR-IOV" selecionado.

Depois de verificar se sua máquina virtual e seu aplicativo estão aproveitando um adaptador de rede usando SR-IOV, você pode modificar os seguintes comandos de exemplo para desativar o SR-IOV para revogar e adicionar a função virtual que simulará o que acontece durante o serviço de host do Azure:

# Get the virtual network adapter to test
$vmNic = Get-VMNetworkAdapter -VMName "myvm" | where {$_.MacAddress -eq "001122334455"}

# Enable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 100 -IovQueuePairsRequested 1

# Disable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 0

Gerenciar rede acelerada em VMs existentes

É possível habilitar a Rede Acelerada em uma VM existente. A VM deve atender aos seguintes requisitos para oferecer suporte à rede acelerada:

  • Um tamanho suportado para rede acelerada.

  • Uma imagem suportada do Azure Marketplace e uma versão do kernel para Linux.

  • Interrompido ou desalocado antes que você possa habilitar a Rede Acelerada em qualquer NIC. Este requisito aplica-se a todas as VMs individuais ou VMs em um conjunto de disponibilidade ou Conjuntos de Escala de Máquina Virtual do Azure.

Habilite a rede acelerada em VMs individuais ou VMs em conjuntos de disponibilidade

  1. Primeiro, pare e desaloque a VM ou todas as VMs no conjunto de disponibilidade.

    az vm deallocate \
      --resource-group <myResourceGroup> \
      --name <myVm>
    

    Se você criou sua VM individualmente sem um conjunto de disponibilidade, deverá parar ou desalocar apenas a VM individual para habilitar a Rede Acelerada. Se você criou sua VM com um conjunto de disponibilidade, deverá parar ou desalocar todas as VMs no conjunto antes de habilitar a Rede Acelerada em qualquer uma das NICs.

  2. Quando a VM for interrompida, habilite a Rede Acelerada na NIC da sua VM.

    az network nic update \
      --name <myNic> \
      --resource-group <myResourceGroup> \
      --accelerated-networking true
    
  3. Reinicie a VM ou todas as VMs no conjunto de disponibilidade e confirme se a Rede Acelerada está habilitada.

    az vm start --resource-group <myResourceGroup> \
      --name <myVm>
    

Habilite a rede acelerada em conjuntos de dimensionamento de máquinas virtuais

Os Conjuntos de Escala de Máquina Virtual do Azure são ligeiramente diferentes, mas seguem o mesmo fluxo de trabalho.

  1. Primeiro, pare as VMs:

    az vmss deallocate \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    
  2. Depois que as VMs forem interrompidas, atualize a propriedade Rede Acelerada na interface de rede.

    az vmss update --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true
    
  3. Os Conjuntos de Dimensionamento de Máquina Virtual têm uma política de atualização que aplica atualizações usando configurações automáticas, rolantes ou manuais. As instruções a seguir definem a política como automática para que os Conjuntos de Dimensionamento de Máquina Virtual retomem as alterações imediatamente após a reinicialização.

    az vmss update \
      --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set upgradePolicy.mode="automatic"
    
  4. Por fim, reinicie os Conjuntos de Dimensionamento de Máquina Virtual.

    az vmss start \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    

Depois que você reiniciar e as atualizações forem concluídas, o VF aparecerá dentro de VMs que usam um sistema operacional e um tamanho de VM suportados.

Redimensionar VMs existentes com rede acelerada

Você pode redimensionar VMs com a Rede Acelerada habilitada apenas para tamanhos que também ofereçam suporte à Rede Acelerada. Não é possível redimensionar uma VM com Rede Acelerada para uma instância de VM que não ofereça suporte a Rede Acelerada usando a operação de redimensionamento. Em vez disso, use o seguinte processo para redimensionar essas VMs:

  1. Pare e desaloque a VM ou todas as VMs no conjunto de disponibilidade ou nos Conjuntos de Escala de Máquina Virtual.

  2. Desative a Rede Acelerada na NIC da VM ou todas as VMs no conjunto de disponibilidade ou nos Conjuntos de Escala de Máquina Virtual.

  3. Mova a VM ou VMs para um novo tamanho que não ofereça suporte a Rede Acelerada e reinicie-as.

Gerencie redes aceleradas através do portal

Ao criar uma VM no portal do Azure, você pode marcar a caixa de seleção Habilitar rede acelerada na guia Rede da tela Criar uma máquina virtual.

Se a VM usar um sistema operacional suportado e um tamanho de VM para Rede Acelerada, a caixa de seleção Habilitar rede acelerada na guia Rede da tela Criar uma máquina virtual será selecionada automaticamente. Se a Rede Acelerada não for suportada, a caixa de seleção não será marcada e uma mensagem explicará o motivo.

Nota

  • Pode ativar a Rede Acelerada durante a criação de VM do portal apenas para sistemas operativos suportados pelo Azure Marketplace. Para criar e habilitar a Rede Acelerada para uma VM com uma imagem personalizada do sistema operacional, você deve usar a CLI do Azure ou o PowerShell.

  • A configuração Rede Acelerada no portal mostra o estado selecionado pelo usuário. A Rede Acelerada permite escolher Desativado no portal, mesmo que o tamanho da VM exija Rede Acelerada. Os tamanhos de VM que exigem Rede Acelerada habilitam a Rede Acelerada em tempo de execução, independentemente da configuração do usuário no portal.

Para habilitar ou desabilitar a Rede Acelerada para uma VM existente por meio do portal do Azure:

  1. Na página do portal do Azure para a VM, selecione Rede no menu à esquerda.

  2. Na página Rede, selecione a Interface de Rede.

  3. Na parte superior da página Visão geral da NIC, selecione Editar rede acelerada.

  4. Selecione Automático, Ativado ou Desativado e, em seguida, selecione Guardar.

Para confirmar se a Rede Acelerada está habilitada para uma VM existente:

  1. Na página do portal da VM, selecione Rede no menu à esquerda.

  2. Na página Rede, selecione a Interface de Rede.

  3. Na página Visão geral da interface de rede, em Essentials, observe se Rede acelerada está definida como Habilitada ou Desabilitada.

Próximos passos