Otimizar o débito de rede para máquinas virtuais do Azure

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.

As Máquinas Virtuais (VMs) do Azure têm configurações de rede padrão que podem ser otimizadas ainda mais para a taxa de transferência da rede. Este artigo descreve como otimizar a taxa de transferência de rede para VMs Windows e Linux do Microsoft Azure, incluindo as principais distribuições, como Ubuntu, CentOS e Red Hat.

Máquinas Virtuais do Windows

Se a sua máquina virtual Windows suportar rede acelerada, habilite esse recurso para uma taxa de transferência ideal. Para obter mais informações, consulte Criar uma VM do Windows com rede acelerada.

Para todas as outras máquinas virtuais do Windows, o uso do RSS (Receive Side Scaling) pode atingir uma taxa de transferência máxima mais alta do que uma VM sem RSS. O RSS pode estar desabilitado por padrão em uma VM do Windows. Para determinar se o RSS está habilitado e habilitá-lo se estiver desativado no momento, conclua as seguintes etapas:

  1. Veja se o RSS está habilitado para um adaptador de rede com o comando Get-NetAdapterRss PowerShell. No exemplo a seguir, a Get-NetAdapterRsssaída retornada do , o RSS não está habilitado.

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : False
    
  2. Para ativar o RSS, introduza o seguinte comando:

    Get-NetAdapter | % {Enable-NetAdapterRss -Name $_.Name}
    

    Este comando não tem uma saída. O comando altera as configurações da NIC. Causa perda temporária de conectividade por cerca de um minuto. Uma caixa de diálogo Reconectando aparece durante a perda de conectividade. A conectividade normalmente é restaurada após a terceira tentativa.

  3. Confirme se o RSS está habilitado na VM inserindo o Get-NetAdapterRss comando novamente. Se bem-sucedida, a saída de exemplo a seguir é retornada:

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : True
    

Máquinas virtuais do Linux

O RSS é sempre habilitado por padrão em uma VM Linux do Azure. Os kernels Linux lançados desde outubro de 2017 incluem novas opções de otimizações de rede que permitem que uma VM Linux alcance uma taxa de transferência de rede mais alta.

Ubuntu para novas implantações

O kernel do Ubuntu Azure é o mais otimizado para desempenho de rede no Azure. Para obter as otimizações mais recentes, instale primeiro a versão mais recente suportada do 18.04-LTS, da seguinte forma:

"Publisher": "Canonical",
"Offer": "UbuntuServer",
"Sku": "18.04-LTS",
"Version": "latest"

Após a conclusão da criação, insira os seguintes comandos para obter as atualizações mais recentes. Essas etapas também funcionam para VMs que atualmente executam o kernel do Ubuntu Azure.

#run as root or preface with sudo
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade

Se uma implantação existente do Ubuntu já tiver o kernel do Azure, mas falhar na atualização com erros, esse conjunto de comandos opcional pode ser útil.

#optional steps might be helpful in existing deployments with the Azure kernel
#run as root or preface with sudo
sudo apt-get -f install
sudo apt-get --fix-missing install
sudo apt-get clean
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade

Atualização do kernel do Ubuntu Azure para VMs existentes

Você pode obter um desempenho de taxa de transferência significativo atualizando para o kernel Linux do Azure. Para verificar se você tem esse kernel, verifique sua versão do kernel. Deve ser o mesmo ou posterior ao exemplo.

#Azure kernel name ends with "-azure"
uname -r

#sample output on Azure kernel:
#4.13.0-1007-azure

Se sua máquina virtual não tiver o kernel do Azure, o número da versão geralmente começa com "4.4". Se a VM não tiver o kernel do Azure, execute os seguintes comandos como root:

#run as root or preface with sudo
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install "linux-azure"
sudo reboot

CentOS

Para obter as otimizações mais recentes, recomendamos que você crie uma máquina virtual com a versão suportada mais recente, especificando os seguintes parâmetros:

"Publisher": "OpenLogic",
"Offer": "CentOS",
"Sku": "7.7",
"Version": "latest"

As VMs novas e existentes podem se beneficiar da instalação do Linux Integration Services (LIS) mais recente. A otimização da taxa de transferência está em LIS, a partir de 4.2.2-2. As versões posteriores contêm mais melhorias. Insira os seguintes comandos para instalar o LIS mais recente:

sudo yum update
sudo reboot
sudo yum install microsoft-hyper-v

Red Hat

Para obter as otimizações, recomendamos que você crie uma máquina virtual com a versão suportada mais recente, especificando os seguintes parâmetros:

"Publisher": "RedHat"
"Offer": "RHEL"
"Sku": "7-RAW"
"Version": "latest"

As VMs novas e existentes podem se beneficiar da instalação do LIS mais recente. A otimização da taxa de transferência está em LIS, a partir da versão 4.2. Introduza os seguintes comandos para transferir e instalar o LIS:

wget https://aka.ms/lis
tar xvf lis
cd LISISO
sudo ./install.sh #or upgrade.sh if prior LIS was previously installed

Saiba mais sobre o Linux Integration Services Versão 4.3 para Hyper-V visualizando a página de download.

Próximos passos