Ajuste del rendimiento de la puerta de enlace de HNV en redes definidas por software

En este tema se proporcionan las especificaciones de hardware y las recomendaciones de configuración para los servidores que ejecutan Hyper-V y que hospedan la puerta de enlace de Windows Server, además de los parámetros de configuración de las máquinas virtuales de puerta de enlace de Windows Server. Para extraer el mejor rendimiento de las máquinas virtuales de puerta de enlace de Windows Server, se espera que se sigan estas directrices. Las siguientes secciones contienen los requisitos de hardware y configuración para implementar la puerta de enlace de Windows Server.

  1. Recomendaciones de hardware de Hyper-V
  2. Configuración de host de Hyper-V
  3. Configuración de máquinas virtuales de puerta de enlace de Windows Server

Recomendaciones de hardware de Hyper-V

Esta es la configuración de hardware mínima recomendada para cada servidor que ejecute Windows Server 2016 y Hyper-V.

Componente de servidor Especificación
Unidad central de procesamiento (CPU) Nodos de arquitectura de memoria no uniforme (NUMA): 2
Si hay varias máquinas virtuales de puerta de enlace de Windows Server en el host, para obtener el mejor rendimiento, cada máquina virtual de puerta de enlace debe tener acceso completo a un nodo de NUMA. Y no puede ser el mismo nodo de NUMA que usa el adaptador físico del host.
Núcleos por nodo NUMA 2
Hyper-Threading Deshabilitado. La tecnología Hyper-Threading no impulsa el rendimiento de la puerta de enlace de Windows Server.
Memoria de acceso aleatorio (RAM) 48 GB
Tarjetas de interfaz de red (NIC) Dos tarjetas de interfaz de red de 10 GB, el rendimiento de la puerta de enlace dependerá de la velocidad de la línea. Si la velocidad de la línea es inferior a 10 Gbps, los números de rendimiento del túnel de la puerta de enlace también disminuirán en consecuencia.

Procure que el número de procesadores virtuales asignados a una máquina virtual de puerta de enlace de Windows Server no supere el número de procesadores del nodo NUMA. Si el nodo NUMA tiene 8 núcleos, por ejemplo, el número de procesadores virtuales deberá ser inferior a 8. Para obtener el mejor rendimiento posible, debe ser 8. Para averiguar el número de nodos NUMA y el número de núcleos por cada nodo NUMA, ejecute el siguiente script de Windows PowerShell en cada host de Hyper-V:

$nodes = [object[]] $(gwmi –Namespace root\virtualization\v2 -Class MSVM_NumaNode)
$cores = ($nodes | Measure-Object NumberOfProcessorCores -sum).Sum
$lps = ($nodes | Measure-Object NumberOfLogicalProcessors -sum).Sum


Write-Host "Number of NUMA Nodes: ", $nodes.count
Write-Host ("Total Number of Cores: ", $cores)
Write-Host ("Total Number of Logical Processors: ", $lps)

Importante

Asignar procesadores virtuales en los nodos NUMA puede repercutir negativamente en la puerta de enlace de Windows Server. Si se ejecutan varias máquinas virtuales (cada una con su correspondiente procesador virtual en un nodo NUMA), posiblemente se logre un mejor rendimiento que cuando haya una sola máquina virtual a la que se asignen todos los procesadores virtuales.

Se recomienda una máquina virtual de puerta de enlace con ocho procesadores virtuales y al menos 8 GB de RAM al seleccionar el número de máquinas virtuales de puerta de enlace que se instalarán en cada host de Hyper-V cuando cada nodo NUMA tenga ocho núcleos. En este caso, un nodo de NUMA se dedica al equipo host.

Configuración del host de Hyper-V

A continuación se encuentra la configuración recomendada para cada servidor que ejecute Windows Server 2016 e Hyper-V y cuya carga de trabajo vaya a ejecutar las máquinas virtuales de puerta de enlace de Windows Server. Estas instrucciones de configuración conllevan el uso de ejemplos de comandos de Windows PowerShell. En dichos ejemplos verá marcadores de posición correspondientes a los valores reales que deberá especificar cuando ejecute los comandos en su entorno. Por ejemplo, los marcadores de posición de los nombres de adaptador de red son "NIC1" y "NIC2". Cuando ejecute los comandos en los que se usen estos marcadores de posición, utilice los nombres reales de los adaptadores de red en los servidores y no los marcadores de posición o, de lo contrario, los comandos no funcionarán.

Nota

Para ejecutar los siguientes comandos de Windows PowerShell, debe ser miembro del grupo Administradores.

Elemento de configuración Configuración de Windows PowerShell
Switch Embedded Teaming Cuando se crea un conmutador virtual con varios adaptadores de red, se ha habilitado automáticamente la formación de equipos insertados de conmutadores para esos adaptadores.
New-VMSwitch -Name TeamedvSwitch -NetAdapterName "NIC 1","NIC 2"
La formación de equipos tradicional a través de LBFO no se admite con SDN en Windows Server 2016. La formación de equipos insertados de conmutadores permite usar el mismo conjunto de tarjetas de interfaz de red para el tráfico virtual y el tráfico de RDMA. Esto no se admitía con la formación de equipos de NIC basada en LBFO.
Moderación de la interrupción en NIC físicas Use la configuración predeterminada. Para comprobar la configuración, puede utilizar el siguiente comando de Windows PowerShell: Get-NetAdapterAdvancedProperty
Tamaño de los búferes de recepción en NIC físicas Ejecute el comando Get-NetAdapterAdvancedProperty para comprobar si las tarjetas de interfaz de red físicas admiten configurar este parámetro. Si no admiten este parámetro, la salida del comando no incluye la propiedad "Búferes de recepción". Si lo admiten, puede usar el siguiente comando de Windows PowerShell para definir el tamaño de los búferes de recepción:
Set-NetAdapterAdvancedProperty "NIC1" –DisplayName "Receive Buffers" –DisplayValue 3000
Tamaño de los búferes de envío en NIC físicas Ejecute el comando Get-NetAdapterAdvancedProperty para comprobar si las tarjetas de interfaz de red físicas admiten la configuración de este parámetro. Si los NIC no admiten este parámetro, la salida del comando no incluye la propiedad "Enviar búferes". Si lo admiten, puede usar el siguiente comando de Windows PowerShell para definir el tamaño de los búferes de envío:
Set-NetAdapterAdvancedProperty "NIC1" –DisplayName "Transmit Buffers" –DisplayValue 3000
Ajuste de escala en lado de recepción (RSS) en NIC físicas Ejecute el comando de Windows PowerShell Get-NetAdapterRss para comprobar si las NIC físicas tienen RSS habilitado. Puede usar los siguientes comandos de Windows PowerShell para habilitar y configurar RSS en los adaptadores de red:
Enable-NetAdapterRss "NIC1","NIC2"
Set-NetAdapterRss "NIC1","NIC2" –NumberOfReceiveQueues 16 -MaxProcessors
NOTA: Si VMMQ o VMQ están habilitados, RSS no tiene que habilitarse en los adaptadores de red físicos. Puede habilitarlos en los adaptadores de red virtual del host.
VMMQ Para habilitar VMMQ para una máquina virtual, ejecute el siguiente comando:
Set-VmNetworkAdapter -VMName <gateway vm name>,-VrssEnabled $true -VmmqEnabled $true
NOTA: No todos los adaptadores de red admiten VMMQ. Actualmente, se admite en las series T5 y T6 de Chelsio, CX-3 y CX-4 de Mellanox y 45xxx de QLogic.
Virtual Machine Queue (VMQ) en el equipo NIC VMQ se puede habilitar en el equipo SET ejecutando el siguiente comando de Windows PowerShell:
Enable-NetAdapterVmq
NOTA: Esto solo debe habilitarse si el HW no admite VMMQ. Si se admite, VMMQ debe habilitarse para mejorar el rendimiento.

Nota

VMQ y vRSS entran en juego solo cuando la carga de la máquina virtual es alta y la CPU se usa al máximo. Solo entonces, al menos un núcleo de procesador llegará al límite. VMQ y vRSS serán beneficiosos para ayudar a distribuir la carga de procesamiento entre varios núcleos. Esto no se puede aplicar al tráfico de IPsec, ya que este se limita a un único núcleo.

Configuración de máquinas virtuales de puerta de enlace de Windows Server

En ambos hosts de Hyper-V se pueden configurar varias máquinas virtuales definidas como puertas de enlace con la puerta de enlace de Windows Server. Puede usar el Administrador de conmutadores virtuales para crear un conmutador virtual de Hyper-V que esté enlazado al equipo NIC en el host de Hyper-V. Tenga en cuenta que, para obtener el mejor rendimiento posible, debe implementar una máquina virtual de puerta de enlace única en un host de Hyper-V. Esta es la configuración recomendada para cada máquina virtual de puerta de enlace de Windows Server.

Elemento de configuración Configuración de Windows PowerShell
Memoria 8 GB
Número de adaptadores de red virtuales Tres tarjetas de interfaz de red con los siguientes usos concretos: una para la administración, que usa el sistema operativo de administración; una externa que proporciona acceso a redes externas y una que es interna y que proporciona acceso únicamente a redes internas.
Receive Side Scaling (RSS) Puede conservar la configuración predeterminada de RSS de la tarjeta de interfaz de red de administración. La siguiente configuración de ejemplo corresponde a una máquina virtual con 8 procesadores virtuales. En el caso de las NIC externa e interna, puede habilitar RSS con BaseProcNumber establecido en 0 y MaxRssProcessors establecido en 8 mediante el siguiente comando de Windows PowerShell:
Set-NetAdapterRss "Internal","External" –BaseProcNumber 0 –MaxProcessorNumber 8
Búfer de envío Puede conservar la configuración predeterminada del búfer de envío de la tarjeta de interfaz de red de administración. En cuanto a las NIC externa e interna, puede configurar el búfer de envío con 32 MB de RAM mediante el siguiente comando de Windows PowerShell:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Send Buffer Size" –DisplayValue "32MB"
Búfer de recepción Puede conservar la configuración predeterminada del búfer de recepción de la tarjeta de interfaz de red de administración. En cuanto a las NIC externa e interna, puede configurar el búfer de recepción con 16 MB de RAM mediante el siguiente comando de Windows PowerShell:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Receive Buffer Size" –DisplayValue "16MB"
Optimización del reenvío Puede conservar la configuración predeterminada de optimización del reenvío de la tarjeta de interfaz de red de administración. En cuanto a las NIC externa e interna, puede habilitar la optimización del reenvío mediante el siguiente comando de Windows PowerShell:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Forward Optimization" –DisplayValue "1"