Optimización del rendimiento de la puerta de enlace de HNV en redes definidas por software

En este tema se proporcionan especificaciones de hardware y recomendaciones de configuración para servidores que ejecutan Hyper-V y hospedan máquinas virtuales de puerta de enlace de Windows Server, además de parámetros de configuración para máquinas virtuales (VM) de puerta de enlace de Windows Server. Para extraer el mejor rendimiento de Windows de puerta de enlace de 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. Windows Configuración de máquina virtual de puerta de enlace de servidor

Recomendaciones de hardware de Hyper-V

A continuación se muestra la configuración mínima de hardware recomendada para cada servidor que ejecuta 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 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 NUMA. Y debe ser diferente del nodo NUMA utilizado por 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 NIC de 10 GB, el rendimiento de la puerta de enlace dependerá de la velocidad de línea. Si la velocidad de línea es inferior a 10 Gbps, los números de rendimiento del túnel de puerta de enlace también disminuirán en el mismo factor.

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, 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 NUMA está dedicado al equipo host.

Configuración del host de Hyper-V

A continuación se muestra la configuración recomendada para cada servidor que ejecuta Windows Server 2016 y Hyper-V y cuya carga de trabajo es ejecutar Windows de puerta de enlace de servidor. 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 nombre del adaptador de red son "NIC1" y "NIC2". Al ejecutar comandos que usan estos marcadores de posición, use los nombres reales de los adaptadores de red en los servidores en lugar de usar los marcadores de posición, o se producirá un error en los comandos.

Nota

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

Elemento de configuración Windows Configuración de PowerShell
Switch Embedded Teaming Cuando se crea un vswitch con varios adaptadores de red, se habilita automáticamente la creación de equipos incrustados de conmutador para esos adaptadores.
New-VMSwitch -Name TeamedvSwitch -NetAdapterName "NIC 1","NIC 2"
La teaming tradicional a través de LBFO no se admite con SDN en Windows Server 2016. Switch Embedded Teaming permite usar el mismo conjunto de NIC para el tráfico virtual y el tráfico RDMA. Esto no se admite con la formación de equipos 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 usar el siguiente Windows PowerShell comando:Get-NetAdapterAdvancedProperty
Tamaño de los búferes de recepción en NIC físicas Puede comprobar si las NIC físicas admiten la configuración de este parámetro ejecutando el comando Get-NetAdapterAdvancedProperty . Si no admiten este parámetro, la salida del comando no incluye la propiedad "Receive Buffers". Si las NIC admiten este parámetro, puede usar el siguiente comando Windows PowerShell para establecer el tamaño de 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 Puede comprobar si las NIC físicas admiten la configuración de este parámetro ejecutando el comando Get-NetAdapterAdvancedProperty . Si las NIC no admiten este parámetro, la salida del comando no incluye la propiedad "Enviar búferes". Si las NIC admiten este parámetro, puede usar el siguiente Windows PowerShell comando para establecer 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 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 habilitarlo 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 Cela T5 y T6, Mellanox CX-3 y CX-4 y QLogic 45xxx.
Virtual Machine Queue (VMQ) en el equipo NIC Puede habilitar VMQ en el equipo set mediante el siguiente Windows PowerShell comando:
Enable-NetAdapterVmq
NOTA: Esto solo debe habilitarse si el HW no admite VMMQ. Si se admite, VMMQ debe estar habilitado para mejorar el rendimiento.

Nota

VMQ y vRSS solo se incluyen cuando la carga en la máquina virtual es alta y la CPU se usa al máximo. Solo entonces se sacará al menos un núcleo de procesador como máximo. VmQ y vRSS serán beneficiosos para ayudar a propagar la carga de procesamiento entre varios núcleos. Esto no es aplicable para el tráfico IPsec, ya que el tráfico IPsec 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, puede configurar varias máquinas virtuales configuradas como puertas de enlace con Windows Server Gateway. 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, debe implementar una sola máquina virtual de puerta de enlace 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 Windows Configuración de PowerShell
Memoria 8 GB
Número de adaptadores de red virtuales 3 NIC con los siguientes usos específicos: 1 para Administración que usa el sistema operativo de administración, 1 Externa que proporciona acceso a redes externas, 1 que es Interna que proporciona acceso solo a redes internas.
Receive Side Scaling (RSS) Puede mantener la configuración predeterminada de RSS para la NIC de administración. La siguiente configuración de ejemplo corresponde a una máquina virtual con 8 procesadores virtuales. Para las NIC externas e internas, puede habilitar RSS con BaseProcNumber establecido en 0 y MaxRssProcessors establecido en 8 mediante el comando Windows PowerShell siguiente:
Set-NetAdapterRss "Internal","External" –BaseProcNumber 0 –MaxProcessorNumber 8
Enviar búfer lateral Puede mantener la configuración predeterminada del búfer de lado de envío para la NIC de administración. Para las NIC internas y externas, puede configurar el búfer del lado de envío con 32 MB de RAM mediante el comando Windows PowerShell siguiente:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Send Buffer Size" –DisplayValue "32MB"
Búfer de lado de recepción Puede mantener la configuración predeterminada del búfer del lado de recepción para la NIC de administración. Para las NIC internas y externas, puede configurar el búfer del lado de recepción con 16 MB de RAM mediante el siguiente Windows PowerShell comando:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Receive Buffer Size" –DisplayValue "16MB"
Optimización del reenvío Puede mantener la configuración predeterminada de Optimización de reenvío para la NIC de administración. Para las NIC internas y externas, puede habilitar la optimización de reenvío mediante el comando Windows PowerShell siguiente:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Forward Optimization" –DisplayValue "1"