Leistungsoptimierung des HNV-Gateways in softwaredefinierten Netzwerken

Dieses Thema enthält Hardwarespezifikationen und Konfigurationsempfehlungen für Server, auf denen Hyper-V ausgeführt wird und die virtuelle Windows Servergateway-VMs hosten, sowie Konfigurationsparameter für Windows Server Gateway Virtual Machines (VMs). Um eine optimale Leistung von Windows Servergateway-VMs zu erzielen, wird erwartet, dass diese Richtlinien eingehalten werden. Die folgenden Abschnitte enthalten Hardware- und Konfigurationsanforderungen für die Bereitstellung von Windows Server-Gateway.

  1. Hardwareempfehlungen für Hyper-V
  2. Hyper-V-Hostkonfiguration
  3. Windows Konfiguration der Servergateway-VM

Hardwareempfehlungen für Hyper-V

Im Folgenden finden Sie die empfohlene Mindesthardwarekonfiguration für jeden Server, auf dem Windows Server 2016 Hyper-V ausgeführt wird.

Serverkomponente Spezifikation
Zentralprozessor (CPU) NUMA-Knoten (Non-Uniform Memory Architecture): 2
Wenn auf dem Host mehrere Windows Servergateway-VMs verfügbar sind, sollte jede Gateway-VM vollzugriff auf einen NUMA-Knoten haben, um eine optimale Leistung zu erzielen. Sie sollte sich von dem NUMA-Knoten unterscheiden, der vom physischen Hostadapter verwendet wird.
Kerne pro NUMA-Knoten 2
Hyper-Threading Deaktiviert. Hyperthreading verbessert die Leistung von Windows Server-Gateway nicht.
Arbeitsspeicher (RAM) 48 GB
Netzwerkschnittstellenkarten (NICs) Zwei NICs mit 10 GB: Die Gatewayleistung hängt von der Linienrate ab. Wenn die Zeilenrate kleiner als 10 GBit/s ist, gehen die Durchsatzzahlen des Gatewaytunnels ebenfalls um denselben Faktor nach unten.

Stellen Sie sicher, dass die Anzahl virtueller Prozessoren, die einer Windows Server-Gateway-VM zugewiesen sind, die Anzahl von Prozessoren auf dem NUMA-Knoten nicht übersteigt. Bei einem NUMA-Knoten mit acht Kernen sollten z. B. maximal acht virtuelle Prozessoren verwendet werden. Für eine optimale Leistung sollte der Wert 8 sein. Führen Sie das folgende Windows PowerShell-Skript auf jedem Hyper-V-Host aus, um die Anzahl von NUMA-Knoten und die Anzahl von Kernen pro NUMA-Knoten zu ermitteln:

$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)

Wichtig

Die Zuordnung von virtuellen Prozessoren zu NUMA-Knoten kann sich negativ auf die Leistung von Windows Server-Gateway auswirken. Die Ausführung mehrerer VMs, denen jeweils Prozessoren von einem NUMA-Knoten zugewiesen sind, bietet wahrscheinlich eine höhere Gesamtleistung als eine einzige VM, der alle virtuellen Prozessoren zugewiesen sind.

Eine Gateway-VM mit acht virtuellen Prozessoren und mindestens 8 GB RAM wird empfohlen, wenn Sie die Anzahl der Gateway-VMs auswählen, die auf jedem Hyper-V-Host installiert werden sollen, wenn jeder NUMA-Knoten acht Kerne hat. In diesem Fall ist ein NUMA-Knoten für den Hostcomputer de dedicated.

Hyper-V-Hostkonfiguration

Im Folgenden finden Sie die empfohlene Konfiguration für jeden Server, auf dem Windows Server 2016 und Hyper-V ausgeführt wird und dessen Workload die Ausführung Windows Servergateway-VMs ist. Die Konfigurationsanweisungen beinhalten Windows PowerShell-Befehlsbeispiele. Die Beispiele enthalten Platzhalter für die tatsächlichen Werte, die Sie beim Ausführen der Befehle in Ihrer Umgebung angeben müssen. Die Platzhalter für Netzwerkadapternamen sind beispielsweise "NIC1" und "NIC2". Wenn Sie Befehle mit diesen Platzhaltern ausführen, verwenden Sie anstelle der Platzhalter die tatsächlichen Namen der Netzwerkadapter auf Ihren Servern. Andernfalls schlagen die Befehle fehl.

Hinweis

Zum Ausführen der folgenden Windows PowerShell-Befehle müssen Sie ein Mitglied der lokalen Gruppe %%amp;quot;Administratoren%%amp;quot; sein.

Konfigurationselement Windows PowerShell-Konfiguration
Switch Embedded Teaming Wenn Sie einen Vswitch mit mehreren Netzwerkadaptern erstellen, wird automatisch switch embedded teaming für diese Adapter aktiviert.
New-VMSwitch -Name TeamedvSwitch -NetAdapterName "NIC 1","NIC 2"
Herkömmliches Teaming über LBFO wird mit SDN in der Windows Server 2016. Mit Switch Embedded Teaming können Sie den gleichen Satz von NICs für Ihren virtuellen Datenverkehr und RDMA-Datenverkehr verwenden. Dies wurde bei NIC-Teaming basierend auf LBFO nicht unterstützt.
Interruptüberprüfung für physische NICs Verwenden Sie die Standardeinstellungen. Um die Konfiguration zu überprüfen, können Sie den folgenden Befehl Windows PowerShell verwenden:Get-NetAdapterAdvancedProperty
Empfangspuffer (Größe) für physische NICs Sie können überprüfen, ob die physischen NICs die Konfiguration dieses Parameters unterstützen, indem Sie den Befehl Get-NetAdapterAdvancedProperty ausführen. Wenn sie diesen Parameter nicht unterstützen, enthält die Ausgabe des Befehls nicht die Eigenschaft "Empfangspuffer". Unterstützen die NICs den Parameter, können Sie die Empfangspuffergröße mit dem folgenden Windows PowerShell-Befehl festlegen:
Set-NetAdapterAdvancedProperty "NIC1" –DisplayName "Receive Buffers" –DisplayValue 3000
Sendepuffer (Größe) für physische NICs Sie können überprüfen, ob die physischen NICs die Konfiguration dieses Parameters unterstützen, indem Sie den Befehl Get-NetAdapterAdvancedProperty ausführen. Wenn die NICs diesen Parameter nicht unterstützen, enthält die Ausgabe des Befehls nicht die Eigenschaft "Puffer senden". Unterstützen die NICs den Parameter, können Sie die Sendepuffergröße mit dem folgenden Windows PowerShell-Befehl festlegen:
Set-NetAdapterAdvancedProperty "NIC1" –DisplayName "Transmit Buffers" –DisplayValue 3000
Empfangsseitige Skalierung (Receive Side Scaling, RSS) für physische NICs Sie können überprüfen, ob RSS für die physischen NICs aktiviert ist, indem Sie den Windows PowerShell-Befehl Get-NetAdapterRss ausführen. Sie können die folgenden Windows PowerShell verwenden, um RSS auf Ihren Netzwerkadaptern zu aktivieren und zu konfigurieren:
Enable-NetAdapterRss "NIC1","NIC2"
Set-NetAdapterRss "NIC1","NIC2" –NumberOfReceiveQueues 16 -MaxProcessors
HINWEIS: Wenn VMMQ oder VMQ aktiviert ist, muss RSS auf den physischen Netzwerkadaptern nicht aktiviert werden. Sie können sie auf den virtuellen Netzwerkadaptern des Hosts aktivieren.
VMMQ Führen Sie den folgenden Befehl aus, um VMMQ für einen virtuellen Computer zu aktivieren:
Set-VmNetworkAdapter -VMName <gateway vm name>,-VrssEnabled $true -VmmqEnabled $true
HINWEIS: Nicht alle Netzwerkadapter unterstützen VMMQ. Derzeit wird es für die Serien Chelsio T5 und T6, Mellanox CX-3 und CX-4 und QLogic 45xxx unterstützt.
Warteschlange für virtuelle Computer (Virtual Machine Queue, VMQ) für das NIC-Team Sie können VMQ in Ihrem SET-Team aktivieren, indem Sie den folgenden Windows PowerShell verwenden:
Enable-NetAdapterVmq
HINWEIS: Dies sollte nur aktiviert werden, wenn das HW VMMQ nicht unterstützt. Wenn dies unterstützt wird, sollte VMMQ für eine bessere Leistung aktiviert werden.

Hinweis

VMQ und vRSS kommen nur ins Spiel, wenn die Last auf dem virtuellen Computer hoch ist und die CPU maximal genutzt wird. Nur dann wird mindestens ein Prozessorkern maximal verwertet. VMQ und vRSS sind dann von Vorteil, um die Verarbeitungslast auf mehrere Kerne zu verteilen. Dies gilt nicht für IPsec-Datenverkehr, da der IPsec-Datenverkehr auf einen einzelnen Kern beschränkt ist.

Konfiguration der Windows Server-Gateway-VM

Auf beiden Hyper-V-Hosts können Sie mehrere virtuelle Computer konfigurieren, die als Gateways mit Windows Servergateway konfiguriert sind. Mit dem Manager für virtuelle Switches können Sie einen virtuellen Hyper-V-Switch erstellen, der an das NIC-Team auf dem Hyper-V-Host gebunden ist. Beachten Sie, dass Sie eine einzelne Gateway-VM auf einem Hyper-V-Host bereitstellen sollten, um eine optimale Leistung zu erzielen. Folgende Konfiguration wird für jede Windows Server-Gateway-VM empfohlen.

Konfigurationselement Windows PowerShell-Konfiguration
Arbeitsspeicher 8 GB
Anzahl virtueller Netzwerkadapter 3 NICs mit den folgenden spezifischen Verwendungsmöglichkeiten: 1 für die Verwaltung, die vom Verwaltungsbetriebssystem verwendet wird, 1 Extern, die Zugriff auf externe Netzwerke bietet, 1, die intern ist, die nur Zugriff auf interne Netzwerke bietet.
Empfangsseitige Skalierung (RSS) Sie können die RSS-Standardeinstellungen für die Verwaltungs-NIC behalten. Im Folgenden sehen Sie eine Beispielkonfiguration für eine VM mit acht virtuellen Prozessoren. Für die externen und internen NICs können Sie RSS aktivieren, wenn BaseProcNumber auf 0 und MaxRssProcessors auf 8 festgelegt sind, indem Sie den folgenden Windows PowerShell verwenden:
Set-NetAdapterRss "Internal","External" –BaseProcNumber 0 –MaxProcessorNumber 8
Seitenpuffer senden Sie können die Standardeinstellungen für den seitenseitigen Puffer für die Verwaltungs-NIC behalten. Für die internen und externen NICs können Sie den Sendeseitigen Puffer mit 32 MB RAM konfigurieren, indem Sie den folgenden Windows PowerShell verwenden:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Send Buffer Size" –DisplayValue "32MB"
Empfangsseitiger Puffer Sie können die Standardeinstellungen für empfangsseitige Puffer für die Verwaltungs-NIC behalten. Für interne und externe NICs können Sie den empfangsseitigen Puffer mit 16 MB RAM konfigurieren, indem Sie den folgenden Windows PowerShell verwenden:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Receive Buffer Size" –DisplayValue "16MB"
Weiterleitungsoptimierung Sie können die Standardeinstellungen für die Vorwärtsoptimierung für die Verwaltungs-NIC behalten. Für die internen und externen NICs können Sie die Vorwärtsoptimierung mithilfe des folgenden Befehls Windows PowerShell aktivieren:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Forward Optimization" –DisplayValue "1"