Konfigurieren von Quality of Service (QoS) für einen VM-Netzwerkadapter
Sie können QoS (Quality of Service) für SDN (Software Defined Networking) für einen VM-Netzwerkadapter so konfigurieren, dass die Bandbreite in einer virtuellen Schnittstelle eingeschränkt wird, um zu verhindern, dass eine VM mit sehr viel Datenverkehr mit anderem VM-Netzwerkdatenverkehr konkurriert. Sie können SDN-QoS auch so konfigurieren, dass eine bestimmte Menge an Bandbreite für eine VM reserviert wird, um sicherzustellen, dass diese VM ihren Datenverkehr unabhängig von anderem Datenverkehr im Netzwerk senden kann. Diese Konfiguration kann sowohl auf an herkömmliche VLANs angeschlossene VMs als auch auf an SDN-Überlagerungsnetzwerke angeschlossene VMs angewendet werden.
Sie können auch eine QoS-Auslagerung konfigurieren, um QoS-Regeln im physischen Netzwerkadapter statt im virtuellen Switch zu erzwingen, was zu einer niedrigeren CPU-Auslastung und einer verbesserten Erzwingung führt. Die QoS-Auslagerung ist eine optionale Funktion in zertifizierten Windows Server 2022-Netzwerkschnittstellen, die die Premium Additional Qualification (AQ) für Windows Server Software-Defined Data Center (SDDC) erreicht haben. Weitere Informationen finden Sie unter Auswählen eines Netzwerkadapters.
SDN-QoS-Bandbreitengrenzwerte
SDN-QoS ermöglicht die Konfiguration der maximal zulässigen sende- oder empfangsseitigen Bandbreite für VMs bereit. Dies wird sowohl für mit einem herkömmlichen VLAN-Netzwerk verbundene als auch für mit einem virtuellen SDN-Netzwerk verbundene VMs unterstützt. Nach der Festlegung kann Ihre VM keinen Datenverkehr über die konfigurierten maximalen Grenzwerte hinaus senden oder empfangen. Sie können für eine VM einen sendeseitigen Grenzwert, einen empfangsseitigen Grenzwert oder beides konfigurieren.
Folgende Einstellungen können über SDN-QoS konfiguriert werden:
OutboundReservedValue: Wenn
outboundReservedMode
auf „absolut“ festgelegt ist, gibt der Wert die Bandbreite in Mbit/s an, die dem virtuellen Port für die Übertragung (ausgehend) garantiert wird. WennoutboundReservedMode
auf „Gewichtung“ festgelegt ist, gibt der Wert den gewichteten Anteil der garantierten Bandbreite an.OutboundMaximumMbps: Gibt die maximal zulässige sendeseitige Bandbreite in Mbit/s für den virtuellen Port (ausgehend) an.
InboundMaximumMbps: Gibt die maximal zulässige empfangsseitige Bandbreite in Mbit/s für den virtuellen Port (eingehend) an.
SDN-QoS-Richtlinien
Wenn der Netzwerkcontroller für SDN eingerichtet ist, können Sie Ihre QoS-Richtlinien bereitstellen. Dazu können Sie PowerShell-Cmdlets für den Netzwerkcontroller verwenden.
Bei allen im Folgenden verwendeten Beispielskripts ist -ConnectionUri
der REST-URI des Netzwerkcontrollers. Beispiel: https://nc.contoso.com
Schritt 1: Konfigurieren von globalen QoS-Einstellungen
Führen Sie den folgenden PowerShell-Befehl auf einem Netzwerkcontrollercomputer oder im Verwaltungsclient eines Netzwerkcontrollers aus. Dadurch können die globalen Einstellungen QoS-Richtlinien über den Netzwerkcontroller konfigurieren:
$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableSoftwareReservations=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig
Schritt 2: Konfigurieren von QoS-Richtlinien
Zunächst müssen Sie die Workload VM-Netzwerkschnittstelle identifizieren, auf die Sie die Richtlinie anwenden möchten:
$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0
Als Nächstes konfigurieren Sie den maximal zulässigen eingehenden und ausgehenden Durchsatz in der Netzwerkschnittstelle:
$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
QoS-Auslagerung (optional)
Sie können die physische Netzwerkschnittstelle so konfigurieren, dass die QoS-Auslagerung verwendet wird. Wenn Ihr Adapter die QoS-Auslagerung unterstützt, stellen Sie mithilfe einer von zwei Methoden sicher, dass sie aktiviert ist:
- Netzwerk-ATC (empfohlen)
- Manuelle Aktivierung über die Adaptereigenschaften
Verwenden von Netzwerk-ATC
Die QoS-Auslagerung wird automatisch auf allen Adaptern mit dem Absichtstyp Compute
aktiviert. Weitere Informationen finden Sie unter Vereinfachen von Hostnetzwerken mit Netzwerk-ATC.
Hinweis
Diese Option ist nur für Azure Stack HCI-Abonnenten verfügbar.
Verwenden der manuellen Aktivierung
Die manuelle Aktivierung erfolgt über die integrierten Cmdlets, die zum Verwalten der Eigenschaften des physischen Adapters verwendet werden.
Wichtig
Sie müssen sicherstellen, dass QosOffload
in jeder physischen Netzwerkschnittstelle im Team für jeden Host aktiviert ist. Andernfalls wird die QoS-Regel über den virtuellen Switch erzwungen, was zu geringerer Effizienz führt.
Verwenden Sie die folgenden Cmdlets, um zu überprüfen, ob Ihre Adapter QosOffload
unterstützen, und dann die Adaptereigenschaften zu ändern:
Get-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload
Enable QosOffload for your adapters:
Set-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload -RegistryValue 1
Konfigurieren von Hardware-QoS
Sie können Hardware-QoS mithilfe von Einstellungen und Richtlinien konfigurieren.
Schritt 1: Konfigurieren von globalen QoS-Einstellungen
Führen Sie die folgenden Schritte auf einem Netzwerkcontrollercomputer oder im Verwaltungsclient eines Netzwerkcontrollers aus. Dadurch können die globalen Einstellungen QoS-Richtlinien über den Netzwerkcontroller konfigurieren:
$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableHardwareLimits=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig
Schritt 2: Konfigurieren von QoS-Richtlinien
Identifizieren Sie zunächst Sie die Workload VM-Netzwerkschnittstelle, auf die Sie die Richtlinie anwenden möchten:
$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0
Als Nächstes konfigurieren Sie den maximal zulässigen ausgehenden Durchsatz in der Netzwerkschnittstelle. Das folgende Beispiel erstellt eine QoS-Regel, die den ausgehenden Datenverkehr von einer VM-Schnittstelle auf 1 Gbit/s beschränkt.
Wichtig
Die QoS-Auslagerung unterstützt nur OutboundMaximumMbps. Sie können weder OutboundReservedValue noch InboundMaximumMbps mit der QoS-Auslagerung verwenden.
$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
Hinweis
Während einer Livemigration kann es passieren, dass eine VM zu einem Host verschoben wird, der keine QoS-Auslagerung unterstützt. In diesem Szenario ist die Livemigration zwar erfolgreich, aber für QoS wird ein Fallback auf SDN-QoS ausgeführt.