Usar a CLI do Azure para criar uma VM no Windows ou no Linux com Rede Acelerada

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de EOL (fim da vida útil). Considere seu uso e planeje adequadamente. Para obter mais informações, veja as Diretrizes sobre fim da vida útil do CentOS.

Este artigo descreve como criar uma VM (máquina virtual) no Linux ou no Windows com a AccelNet (Rede Acelerada) 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 máquina virtual com 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, confira Gerenciar a Rede Acelerada por meio do portal.

Para usar o Azure PowerShell para criar uma VM no Windows com Rede Acelerada habilitada, consulte Usar Azure PowerShell para criar uma VM no 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 criar grupo az para criar um grupo de recursos para conter os recursos. Selecione uma região do Windows ou Linux com suporte, 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 NSG (grupo de segurança de rede).

    az network nsg create \
      --resource-group <myResourceGroup> \
      --name <myNsg>
    
  2. O NSG (grupo de segurança de rede) contém várias regras padrão, uma das quais desabilita todo o acesso de entrada proveniente da Internet. Use az network nsg rule create para abrir uma porta para permitir acesso RDP (protocolo de área de trabalho remota) ou SSH (secure shell) à 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
    

Criar uma interface de rede com Rede Acelerada

  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á-la da Internet, mas é necessário ter um endereço 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 NIC (interface de rede) 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 o NIC

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

O exemplo a seguir cria uma VM do Datacenter do Windows Server 2019 com um tamanho que dá suporte à 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, é retornada uma saída semelhante ao exemplo a seguir. Para um computador Linux, anote o 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"
}

Confirmar se a rede acelerada está habilitada

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

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

  2. Na página Máquinas Virtuais, selecione a 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 arquivo RDP baixado e entre com as credenciais inseridas ao criar 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. Verifique se o Adaptador Ethernet Virtual Mellanox ConnectX-4 aparece, como mostrado na imagem a seguir:

    Adaptador Ethernet de função virtual Mellanox ConnectX-3, 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.

Observação

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

netsh int tcp set global rss = enabled

Manipular associação dinâmica e revogação da função virtual

A associação à NIC sintética exposta na VM é um requisito obrigatório para todos os aplicativos que fazem uso da Rede Acelerada. Se o aplicativo for executado diretamente sobre a NIC de VF, ele não receberá todos os pacotes destinados à VM, pois alguns pacotes aparecem 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 garante que o aplicativo continue em execução, mesmo se a VF for revogada durante a manutenção de host.

Para obter mais detalhes sobre os requisitos de associação de aplicativos, confira Como a Rede Acelerada funciona em VMs Linux e FreeBSD.

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

  • Certifique-se de que você tenha um adaptador de rede físico compatível com SR-IOV.
  • Um comutador virtual externo é criado sobre esse adaptador SR-IOV com a opção "Habilitar virtualização de E/S de raiz única (SR-IOV)" selecionada.
  • Uma máquina virtual que executa a imagem ou o aplicativo do sistema operacional é criada/implantada.
  • Os adaptadores de rede dessa máquina virtual, em Aceleração de Hardware, têm a opção "Habilitar SR-IOV" selecionada.

Depois de verificar se a máquina virtual e o aplicativo estão aproveitando um adaptador de rede usando SR-IOV, você pode modificar os seguintes comandos de exemplo para ativar/desativar o SR-IOV para revogar e adicionar a função virtual que simulará o que acontece durante a manutenção do 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 dar suporte à Rede Acelerada:

  • Um tamanho com suporte para Rede Acelerada.

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

  • Parado ou desalocado antes de habilitar a Rede Acelerada em qualquer NIC. Esse requisito se aplica a todas as VMs ou VMs individuais em um conjunto de disponibilidade ou Conjuntos de Dimensionamento de Máquinas Virtuais do Azure.

Habilitar a Rede Acelerada em VMs ou VMs individuais em conjuntos de disponibilidade

  1. Primeiro interrompa 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, é necessário interromper ou desalocar apenas a VM individual para habilitar a Rede Acelerada. Se você criou sua VM com um conjunto de disponibilidade, deve interromper ou desalocar todas as VMs no conjunto antes de habilitar a Rede Acelerada em qualquer uma das NICs.

  2. Uma vez que a VM seja interrompida, habilite a Rede Acelerada na NIC de 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>
    

Habilitar a Rede Acelerada nos Conjuntos de Dimensionamento de Máquinas Virtuais

Os Conjuntos de Dimensionamento de Máquinas Virtuais do Azure são um pouco diferente, mas seguem o mesmo fluxo de trabalho.

  1. Em primeiro lugar, interrompa as VMs:

    az vmss deallocate \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    
  2. Depois que as VMs forem interrompidas, atualize a propriedade de 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áquinas Virtuais têm uma política de atualização que aplica atualizações usando configurações automáticas, sem interrupção ou manuais. As instruções a seguir definem a política como automática para que os Conjuntos de Dimensionamento de Máquinas Virtuais para que as alterações sejam retomadas 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áquinas Virtuais.

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

Após a reinicialização e a conclusão das atualizações, a função virtual (VF) aparece dentro das VMs que usam um sistema operacional e tamanho de VM com suporte.

Redimensionar VMs existentes com Rede Acelerada

VMs com a Rede Acelerada habilitada podem ser redimensionadas somente para tamanhos que também tenham suporte à Rede Acelerada. Não é possível redimensionar uma VM com a Rede Acelerada habilitada para uma instância de VM que não tem suporte à Rede Acelerada usando a operação de redimensionamento. Em vez disso, use o seguinte processo para redimensionar essas VMs:

  1. Interrompa e desaloque a VM ou todas as VMs no conjunto de disponibilidade ou Conjuntos de Dimensionamento de Máquinas Virtuais.

  2. Desabilite a Rede Acelerada na NIC da VM ou de todas as VMs no conjunto de disponibilidade ou Conjuntos de Dimensionamento de Máquinas Virtuais.

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

Gerenciar a Rede Acelerada por meio 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 com suporte e o tamanho da 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 não houver suporte para a Rede Acelerada, a caixa de seleção não será marcada e uma mensagem explicará o motivo.

Observação

  • Você só pode habilitar a Rede Acelerada durante a criação da VM no portal para sistemas operacionais com suporte para o Azure Marketplace. Para criar e habilitar a Rede Acelerada para uma VM com uma imagem do sistema operacional personalizada, você deve usar o PowerShell ou a CLI do Azure.

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

Para habilitar ou desabilitar a Rede Acelerada para uma VM existente no 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 o Adaptador de rede.

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

  4. Selecione Automática, Habilitada ou Desabilitada e, em seguida, selecione Salvar.

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 o Adaptador de rede.

  3. Na página Visão Geral do adaptador de rede, em Essentials, observe se a Rede Acelerada está definida como Habilitada ou Desabilitada.

Próximas etapas