Configuración de Calidad de servicio para un adaptador de red de máquina virtual

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016; Azure Stack HCI, versiones 21H2 y 20H2

Puede configurar la calidad de servicio (QoS) de redes definidas por software (SDN) para un adaptador de red de máquina virtual (VM) con el fin de limitar el ancho de banda en una interfaz virtual y evitar que una máquina virtual con mucho tráfico compita con otro tráfico de red máquinas virtuales. También puede configurar QoS de SDN para reservar una cantidad específica de ancho de banda para una máquina virtual con el fin de garantizar que la máquina virtual pueda enviar tráfico independientemente del tráfico de la red. Esto se puede aplicar a las máquinas virtuales conectadas a redes VLAN tradicionales, así como a las máquinas virtuales conectadas a redes de superposición de SDN.

También puede configurar la descarga de QoS para aplicar reglas de QoS en el adaptador de red físico en lugar de en el conmutador virtual, lo que da lugar a un menor uso de la CPU y una aplicación mejorada. La descarga de QoS es una funcionalidad opcional que se encuentra en las NIC certificadas de Windows Server 2022 que han obtenido la calificación adicional premium (AQ) de Windows Server Software-Defined Data Center (SDDC). Para obtener más información, vea Seleccionar un adaptador de red.

Límites de ancho de banda de QoS de SDN

QoS de SDN proporciona la configuración del ancho de banda máximo permitido del lado de envío o de recepción para las máquinas virtuales. Esto es compatible con las máquinas virtuales conectadas a una red VLAN tradicional, así como para las máquinas virtuales conectadas a una red virtual de SDN. Una vez establecida, la máquina virtual no podrá enviar ni recibir tráfico por encima de los límites máximos configurados. En el caso de una máquina virtual, puede configurar un límite del lado de envío, un límite del lado de recepción o ambos.

Las opciones que se pueden configurar a través de QoS de SDN son:

  • OutboundReservedValue : si el modo outboundReservedMode es "absoluto", el valor indica el ancho de banda, en Mbps, garantizado al puerto virtual para la transmisión (salida). Si el modo outboundReservedMode es "weight", el valor indica la parte ponderada del ancho de banda garantizado.

  • OutboundMaximum Mbps: indica el ancho de banda de envío máximo permitido, en Mbps, para el puerto virtual (salida).

  • InboundMaximum Mbps: indica el ancho de banda de recepción máximo permitido para el puerto virtual (entrada) en Mbps.

Directivas de SDN QoS

Una vez configurada la controladora de red para SDN, puede proceder con la implementación de las directivas de QoS. En la actualidad, puede hacerlo mediante cmdlets de PowerShell de controladora de red.

Para todos los scripts de ejemplo que se usan a continuación, -ConnectionUri es el REST URI de la controladora de red. Por ejemplo: https://nc.contoso.com.

Paso 1: Configuración de las opciones globales de QoS

Ejecute el siguiente comando de PowerShell en un equipo de Controladora de red o en un cliente de administración de Controladora de red. Esto habilitará la configuración global para configurar las directivas de QoS a través de la controladora de red:

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

Paso 2: Configuración de directivas de QoS

En primer lugar, deberá identificar la interfaz de red de la máquina virtual de carga de trabajo en la que desea aplicar la directiva:

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

A continuación, configure el rendimiento máximo de entrada y salida permitido en la interfaz de red:

$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

Descarga de QoS (opcional)

Puede configurar la NIC física para usar la descarga de QoS. Si el adaptador admite la descarga de QoS, asegúrese de que está habilitado mediante uno de los dos métodos:

  • Network ATC (recomendado)
  • Habilitación manual mediante las propiedades del adaptador

Uso de Network ATC

La descarga de QoS se habilita automáticamente en todos los adaptadores con el tipo de intención Compute. Para más información, consulte Simplificación de las redes de host con Network ATC.

Nota

Esta opción solo está disponible para los suscriptores de Azure Stack HCI.

Uso de la habilitación manual

La habilitación manual se realiza a través de los cmdlets integrados que se usan para administrar las propiedades del adaptador físico.

Importante

Debe asegurarse de que QosOffload está habilitado en cada NIC física del equipo en todos los hosts. Sin esto, la regla de QoS se aplicará a través del conmutador virtual y dará como resultado una menor eficacia.

Use los siguientes cmdlets para comprobar si los adaptadores admiten QosOffload y, a continuación, modifique las propiedades del 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 el hardware

Puede configurar QoS de hardware mediante valores y directivas.

Paso 1: Configuración de las opciones globales de QoS

Realice los pasos siguientes en un equipo de Controladora de red o en un cliente de administración de Controladora de red. Esto habilitará la configuración global para configurar las directivas de QoS a través de la controladora de red.

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

Paso 2: Configuración de directivas de QoS

En primer lugar, identifique la interfaz de red de la máquina virtual de carga de trabajo en la que desea aplicar la directiva:

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

A continuación, configure el rendimiento máximo de salida permitido en la interfaz de red. En el ejemplo siguiente se crea una regla de QoS que limita el tráfico saliente de una interfaz de máquina virtual a 1 Gbps.

Importante

La descarga de Qos solo admite OutboundMaximumMbps. No puede usar OutboundReservedValue o InboundMaximumMbps con descarga 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

Nota

Durante la migración en vivo, es posible que una máquina virtual se mueva a un host que no admita la descarga de QoS. En este escenario, la migración en vivo se realizará correctamente, pero QoS se revertirá a QoS de SDN.