Share via


Configurar qualidade de serviço (QoS) para um adaptador de rede de VM

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016 e Azure Stack HCI versões 21H2 e 20H2

Você pode configurar a QoS (Qualidade de Serviço) da SDN (Rede definida pelo software) para um adaptador de rede de VM (máquina virtual) para limitar a largura de banda em uma interface virtual para impedir que uma VM de alto tráfego enfrente outro tráfego de rede de VM. Você também pode configurar a QoS da SDN para reservar uma quantidade específica de largura de banda para uma VM para garantir que a VM possa enviar tráfego independentemente de outro tráfego na rede. Isso pode ser aplicado a VMs anexadas a redes VLAN tradicionais, bem como VMs anexadas a redes de sobreposição da SDN.

Você também pode configurar o Descarregamento de QoS para impor regras de QoS no adaptador de rede física, e não no comutador virtual, resultando em menor utilização da CPU e melhor imposição. O descarregamento de QoS é uma funcionalidade opcional encontrada em NICs certificadas pelo Windows Server 2022 que obtiveram a Qualificação Adicional Premium (AQ) do SDDC (Data Center Definido pelo Software) do Windows Server. Para obter mais informações, consulte Selecionar um adaptador de rede.

Limites de largura de banda de QoS da SDN

A QoS da SDN fornece a configuração da largura de banda máxima permitida do lado do envio ou do lado do recebimento para VMs. Isso tem suporte em VMs conectadas a uma rede VLAN tradicional, bem como VMs conectadas a uma rede virtual SDN. Depois de definida, a VM não poderá enviar ou receber tráfego acima dos limites máximos configurados. Para uma VM, você pode configurar um limite do lado do envio, um limite do lado do recebimento ou ambos.

As configurações que podem ser definidas por meio da QoS da SDN são:

  • OutboundReservedValue – se o modo outboundReservedMode for "absoluto", o valor indicará a largura de banda, em Mbps, garantida para a porta virtual para transmissão (saída). Se o modo outboundReservedMode for "peso", o valor indicará a parte ponderada da largura de banda garantida.

  • OutboundMaximumMbps - Indica a largura de banda máxima permitida do lado do envio, em Mbps, para a porta virtual (saída).

  • InboundMaximumMbps – indica a largura de banda máxima permitida para a porta virtual (entrada) em Mbps.

Políticas de QoS da SDN

Depois que o Controlador de Rede para SDN for configurado, você poderá prosseguir e implantar suas políticas de QoS. Hoje, você pode fazer isso usando cmdlets do PowerShell do Controlador de Rede.

Para todos os scripts de exemplo usados abaixo, -ConnectionUri é o URI REST do Controlador de Rede. Por exemplo: https://nc.contoso.com.

Etapa 1: Definir configurações globais de QoS

Execute o comando do PowerShell a seguir em um computador do Controlador de Rede ou em um cliente de gerenciamento do Controlador de Rede. Isso permitirá que as configurações globais configurem políticas de QoS por meio do Controlador de Rede:

$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableSoftwareReservations=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig

Etapa 2: Configurar políticas de QoS

Primeiro, você precisará identificar o adaptador de rede da VM de carga de trabalho em que deseja aplicar a política:

$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0

Em seguida, configure a taxa de transferência máxima de entrada e saída permitida no adaptador de rede:

$NwInterface.Properties.PortSettings.QosSettings= [Microsoft.Windows.NetworkController.VirtualNetworkInterfaceQosSettings]::new()
$NwInterface.Properties.PortSettings.QosSettings.InboundMaximumMbps ="1000"
New-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId $NwInterface.ResourceId -Properties $NwInterface.Properties

Descarregamento de QoS (opcional)

Você pode configurar a NIC física para usar o descarregamento de QoS. Se o adaptador der suporte ao descarregamento de QoS, verifique se ele está habilitado usando um dos dois métodos:

  • ATC de rede (recomendado)
  • Habilitação manual usando as propriedades do adaptador

Usar o ATC de Rede

O descarregamento de QoS é habilitado automaticamente em todos os adaptadores com o tipo de intenção Compute. Para obter mais informações, consulte Simplificar a rede de host com o ATC de Rede.

Observação

Essa opção só está disponível para assinantes do Azure Stack HCI.

Usar habilitação manual

A habilitação manual é feita por meio dos cmdlets internos usados para gerenciar as propriedades do adaptador físico.

Importante

Você deve garantir que QosOffload esteja habilitado em todas as NIC físicas da equipe em cada host. Sem isso, a regra de QoS será imposta por meio do comutador virtual e resultará em menor eficiência.

Use os seguintes cmdlets para verificar se os adaptadores dão suporte a QosOffload e, em seguida, modifique as propriedades do adaptador:

Get-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload
Enable QosOffload for your adapters:
Set-NetAdapterAdvancedProperty -Name  <physical NIC Name> -RegistryKeyword *QosOffload -RegistryValue 1

Configurar QoS de hardware

Você pode definir a QoS de hardware usando configurações e políticas.

Etapa 1 - Definir configurações globais de QoS

Execute as etapas abaixo em um computador do Controlador de Rede ou em um cliente de gerenciamento do Controlador de Rede. Isso permitirá que a configuração global configure políticas de QoS por meio do Controlador de Rede.

$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableHardwareLimits=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig

Etapa 2 - Configurar políticas de QoS

Primeiro, identifique o adaptador de rede da VM de carga de trabalho em que deseja aplicar a política:

$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0

Em seguida, configure a taxa de transferência máxima de saída permitida no adaptador de rede. O exemplo a seguir cria uma regra de QoS que limita o tráfego de saída de uma interface de VM a 1 Gbps.

Importante

O descarregamento de QoS só dá suporte a OutboundMaximumMbps. Você não pode usar OutboundReservedValue ou InboundMaximumMbps com descarregamento de QoS.

$NwInterface.Properties.PortSettings.QosSettings= [Microsoft.Windows.NetworkController.VirtualNetworkInterfaceQosSettings]::new()
$NwInterface.Properties.PortSettings.QosSettings. EnableHardwareLimits=$true
$NwInterface.Properties.PortSettings.QosSettings.OutboundMaximumMbps ="1000"
New-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId $NwInterface.ResourceId -Properties $NwInterface.Properties

Observação

Durante a migração dinâmica, é possível que uma VM se mova para um host que não dá suporte ao descarregamento de QoS. Nesse cenário, a migração dinâmica terá êxito, mas o QoS fará fallback para a QoS da SDN.