Ajuste de desempenho do gateway HNV em redes definidas pelo software

Este tópico fornece especificações de hardware e recomendações de configuração para servidores que executam o Hyper-V e que hospedam máquinas virtuais de Gateway do Windows Server, além de parâmetros de configuração para VMs (máquinas virtuais) de Gateway do Windows Server. Para extrair o melhor desempenho das VMs de gateway do Windows Server, é esperado que essas diretrizes sejam seguidas. As seções a seguir contêm requisitos de hardware e configuração quando você implementa o Gateway do Windows Server.

  1. Recomendações de hardware do Hyper-V
  2. Configuração do host Hyper-V
  3. Configuração da VM de gateway do Windows Server

Recomendações de hardware do Hyper-V

Veja a seguir a configuração mínima de hardware recomendada para cada servidor que executa o Windows Server 2016 e o Hyper-V.

Componente do Servidor Especificação
Unidade de processamento central (CPU) Nós NUMA (arquitetura de memória não uniforme): 2
Se houver várias VMs de gateway do Windows Server no host, para melhor desempenho, cada VM de gateway deverá ter acesso completo a um nó NUMA. Além disso, ele deve ser diferente do nó NUMA usado pelo adaptador físico do host.
Núcleos por nó NUMA 2
Hyper-Threading Desabilitado. O Hyper-Threading não melhora o desempenho do Gateway do Windows Server.
Memória RAM 48 GB
Placas de interface de rede (NICs) Duas NICs de 10 GB. O desempenho do gateway dependerá da taxa de linha. Se a taxa de linha for inferior a 10 Gbps, os números de taxa de transferência do túnel de gateway também diminuirão pelo mesmo fator.

Verifique se o número de processadores virtuais que são atribuídos a uma VM de Gateway do Windows Server não excede o número de processadores no nó NUMA. Por exemplo, se um nó NUMA tiver 8 núcleos, o número de processadores virtuais deverá ser menor ou igual a 8. Para obter o melhor desempenho, ela deve ser 8. Para encontrar o número de nós NUMA e o número de núcleos por nó NUMA, execute o seguinte script do Windows PowerShell em cada host 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

A alocação de processadores virtuais em nós NUMA pode ter um impacto negativo no desempenho no Gateway do Windows Server. A execução de várias VMs, cada uma com processadores virtuais de um nó NUMA, provavelmente proporciona melhor desempenho agregado do que uma única VM à qual todos os processadores virtuais são atribuídos.

Uma VM de gateway com oito processadores virtuais e, no mínimo, 8 GB de RAM é recomendado ao selecionar o número de VMs de gateway a serem instaladas em cada host do Hyper-V quando cada nó NUMA tiver oito núcleos. Nesse caso, um nó NUMA é dedicado ao computador host.

Configuração do host do Hyper-V

Veja a seguir a configuração recomendada para cada servidor que executa o Windows Server 2016 e o Hyper-V e cuja carga de trabalho é executar VMs de gateway do Windows Server. Essas instruções de configuração incluem o uso de exemplos de comando do Windows PowerShell. Esses exemplos contêm espaços reservados para valores reais que você precisa fornecer quando executa os comandos em seu ambiente. Por exemplo, os espaços reservados de nome do adaptador de rede são "NIC1" and "NIC2". Quando você executar comandos que usem esses espaços reservados, utilize os nomes reais dos adaptadores de rede nos servidores, em vez de usar os espaços reservados, ou os comandos falharão.

Observação

Para executar os seguintes comandos do Windows PowerShell, você deve ser um membro do grupo Administradores.

Item de Configuração Configuração do Windows PowerShell
Agrupamento Incorporado de Comutador Quando você cria um comutador virtual com vários adaptadores de rede, ele habilita automaticamente o agrupamento incorporado do comutador nesses adaptadores.
New-VMSwitch -Name TeamedvSwitch -NetAdapterName "NIC 1","NIC 2"
Não há suporte para o agrupamento tradicional por meio do LBFO com o SDN no Windows Server 2016. O Agrupamento Incorporado de Comutador permite que você use o mesmo conjunto de NICs para o tráfego virtual e o tráfego do RDMA. Isso não era compatível com o agrupamento NIC baseado no LBFO.
Moderação da Interrupção em NICs físicas Use as configurações padrão. Para verificar a configuração, use o seguinte comando do Windows PowerShell: Get-NetAdapterAdvancedProperty
Tamanho dos Buffers de Recepção nas NICs físicas Você pode verificar se as NICs físicas têm suporte para a configuração deste parâmetro executando o comando Get-NetAdapterAdvancedProperty. Caso não tenham suporte para esse parâmetro, a saída do comando não incluirá a propriedade “Buffers de Recebimento”. Se as NICs não tiverem suporte para esse parâmetro, você poderá usar o seguinte comando do Windows PowerShell para definir o tamanho dos Buffers de Recepção:
Set-NetAdapterAdvancedProperty "NIC1" –DisplayName "Receive Buffers" –DisplayValue 3000
Tamanho dos Buffers de Envio nas NICs físicas Você pode verificar se as NICs físicas têm suporte para a configuração deste parâmetro executando o comando Get-NetAdapterAdvancedProperty. Caso as NICS não tenham suporte para esse parâmetro, a saída do comando não incluirá a propriedade “Buffers de Envio”. Se as NICs não tiverem suporte para esse parâmetro, você pode usar o seguinte comando do Windows PowerShell para definir o tamanho dos Buffers de Recepção:
Set-NetAdapterAdvancedProperty "NIC1" –DisplayName "Transmit Buffers" –DisplayValue 3000
RSS (Receive Side Scaling) nas NICs físicas Você pode verificar se suas NICs físicas têm o RSS habilitado executando o comando do Windows PowerShell Get-NetAdapterRss. Use os seguintes comandos do Windows PowerShell para habilitar e configurar o RSS nos adaptadores de rede:
Enable-NetAdapterRss "NIC1","NIC2"
Set-NetAdapterRss "NIC1","NIC2" –NumberOfReceiveQueues 16 -MaxProcessors
OBSERVAÇÃO: se a VMMQ ou a VMQ estiver habilitada, o RSS não precisará ser habilitado nos adaptadores de rede física. Você pode habilitá-lo nos adaptadores de rede virtual do host
VMMQ Para habilitar a VMMQ para uma VM, execute o seguinte comando:
Set-VmNetworkAdapter -VMName <gateway vm name>,-VrssEnabled $true -VmmqEnabled $true
OBSERVAÇÃO: nem todos os adaptadores de rede dão suporte à VMMQ. Atualmente, há suporte para ela nas séries Chelsio T5 e T6, Mellanox CX-3 e CX-4 e QLogic 45xxx
VMQ (Fila da Máquina Virtual) na equipe da NIC Habilite a VMQ na sua equipe do SET usando o seguinte comando do Windows PowerShell:
Enable-NetAdapterVmq
OBSERVAÇÃO: isso só deverá ser habilitado se o hardware não der suporte à VMMQ. Se ele der suporte, a VMMQ deverá ser habilitada para proporcionar um melhor desempenho.

Observação

A VMQ e o vRSS só entram em cena quando a carga na VM é alta e a CPU está sendo utilizada ao máximo. Somente então, no mínimo, um núcleo de processador atingirá o máximo. A VMQ e o vRSS serão úteis para ajudar na distribuição da carga de processamento entre vários núcleos. Isso não é aplicável ao tráfego IPsec, pois ele é confinado a um só núcleo.

Configuração da VM de Gateway do Windows Server

Nos dois hosts do Hyper-V, é possível definir várias VMs configuradas como gateways com o Gateway do Windows Server. Você pode usar o Gerenciador de Comutador Virtual para criar um Comutador Virtual Hyper-V que está associado à equipe da NIC no host Hyper-V. Observe que, para obter o melhor desempenho, você deve implantar uma só VM de gateway em um host do Hyper-V. A seguir, está a configuração recomendada para cada VM de Gateway do Windows Server.

Item de Configuração Configuração do Windows PowerShell
Memória 8 GB
Número de adaptadores de rede virtual Três NICs com os seguintes usos específicos: uma para o Gerenciamento que é usado pelo sistema operacional de gerenciamento, uma externa que fornece acesso às redes externas e uma interna que fornece acesso apenas às redes internas.
RSS (Receive Side Scaling) Mantenha as configurações padrão do RSS para a NIC de Gerenciamento. O seguinte exemplo de configuração é para uma VM que tem 8 processadores virtuais. Para as NICs externas e internas, habilite o RSS com BaseProcNumber definido como 0 e MaxRssProcessors definido como 8 usando o seguinte comando do Windows PowerShell:
Set-NetAdapterRss "Internal","External" –BaseProcNumber 0 –MaxProcessorNumber 8
Buffer Lateral de Envio Mantenha as configurações padrão de Buffer Lateral de Envio na NIC de Gerenciamento. Para as NICs internas e externas, você pode configurar o Buffer Lateral de Envio com 32 MB de RAM usando o seguinte comando do Windows PowerShell:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Send Buffer Size" –DisplayValue "32MB"
Buffer Lateral de Recebimento Mantenha as configurações padrão do Buffer Lateral de Recebimento na NIC de Gerenciamento. Para as NICs internas e externas, você pode configurar o Buffer Lateral de Recebimento com 16 MB de RAM usando o seguinte comando do Windows PowerShell:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Receive Buffer Size" –DisplayValue "16MB"
Otimização de Encaminhamento Mantenha as configurações padrão de Otimização de Encaminhamento na NIC de Gerenciamento. Para as NICs internas e externas, você pode habilitar a Otimização de Encaminhamento usando o seguinte comando do Windows PowerShell:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Forward Optimization" –DisplayValue "1"