Configurare la qualità del servizio (QoS) per un adapter di rete della macchina virtuale
È possibile configurare la qualità del servizio (QoS) software defined networking (SDN) per un adapter di rete della macchina virtuale (VM) per limitare la larghezza di banda in un'interfaccia virtuale per impedire a una macchina virtuale a traffico elevato di contendersi altro traffico di rete delle macchine virtuali. È anche possibile configurare QoS SDN per riservare una quantità specifica di larghezza di banda per una macchina virtuale per assicurarsi che la macchina virtuale possa inviare traffico indipendentemente dal traffico in rete. Questa operazione può essere applicata alle macchine virtuali collegate alle reti VLAN tradizionali e alle macchine virtuali collegate alle reti di sovrimpressione SDN.
È anche possibile configurare QoS Offload per applicare le regole QoS all'adapter di rete fisica anziché al commutatore virtuale, con conseguente riduzione dell'utilizzo della CPU e miglioramento dell'applicazione. QoS Offload è una funzionalità facoltativa disponibile nelle schede di interfaccia di rete certificate di Windows Server 2022 che hanno ottenuto la qualifica aggiuntiva Premium SDDC (Software-Defined Data Center) di Windows Server. Per altre informazioni, vedere Selezionare un adapter di rete.
Limiti di larghezza di banda QoS SDN
QoS SDN offre la configurazione della larghezza di banda massima consentita sul lato invio o sul lato ricezione per le macchine virtuali. Questa funzionalità è supportata per le macchine virtuali connesse a una rete VLAN tradizionale e alle macchine virtuali connesse a una rete virtuale SDN. Una volta impostata, la macchina virtuale non sarà in grado di inviare o ricevere traffico al di sopra dei limiti massimi configurati. Per una macchina virtuale, è possibile scegliere di configurare un limite lato invio, un limite lato ricezione o entrambi.
Le impostazioni che possono essere configurate tramite QoS SDN sono:
OutboundReservedValue - Se la modalità
outboundReservedMode
è "assoluta", il valore indica la larghezza di banda, in Mbps, garantita alla porta virtuale per la trasmissione (in uscita). Se la modalitàoutboundReservedMode
è "ponderata", il valore indica la parte ponderata della larghezza di banda garantita.OutboundMaximumMbps - Indica la larghezza di banda massima consentita sul lato invio, in Mbps, per la porta virtuale (in uscita).
InboundMaximumMbps - Indica la larghezza di banda massima consentita sul lato ricezione per la porta virtuale (in ingresso) in Mbps.
Criteri QoS SDN
Dopo aver configurato il controller di rete per SDN, è possibile procedere e distribuire i criteri QoS. A questo scopo, è possibile usare cmdlet di PowerShell del controller di rete.
Per tutti gli script di esempio usati di seguito, -ConnectionUri
è l'URI REST del controller di rete. Ad esempio: https://nc.contoso.com.
Passaggio 1: Configurare le impostazioni QoS globali
Eseguire il comando di PowerShell seguente in un computer controller di rete o in un client di gestione del controller di rete. Ciò consentirà alle impostazioni globali di configurare i criteri QoS tramite il controller di rete:
$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableSoftwareReservations=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig
Passaggio 2: Configurare i criteri QoS
Prima di tutto, è necessario identificare l'interfaccia di rete della macchina virtuale del carico di lavoro in cui si vogliono applicare i criteri:
$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0
Configurare quindi la velocità effettiva massima in ingresso e in uscita consentita nell'interfaccia di rete:
$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
Offload QoS (facoltativo)
È possibile configurare la scheda di interfaccia di rete fisica per l'uso dell'offload QoS. Se l'adapter supporta l'offload QoS, assicurarsi che sia abilitato usando uno dei due metodi seguenti:
- ATC di rete (scelta consigliata)
- Abilitazione manuale tramite le proprietà dell'adapter
Usare l'ATC di rete
L'offload QoS viene abilitato automaticamente in tutti gli adapter con il tipo di finalità Compute
. Per altre informazioni, vedere Semplificare la rete host con ATC di rete.
Nota
Questa opzione è disponibile solo per i sottoscrittori di Azure Stack HCI.
Usare l'abilitazione manuale
L'abilitazione manuale viene eseguita tramite i cmdlet predefiniti usati per gestire le proprietà dell'adapter fisico.
Importante
È necessario assicurarsi che QosOffload
sia abilitato in ogni scheda di interfaccia di rete fisica del team in ogni host. Senza questo, la regola QoS verrà applicata tramite il commutatore virtuale e comporterà una minore efficienza.
Usare i cmdlet seguenti per verificare se gli adapter supportano QosOffload
e quindi modificare le proprietà dell'adapter:
Get-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload
Enable QosOffload for your adapters:
Set-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload -RegistryValue 1
Configurare QoS hardware
È possibile configurare QoS hardware usando impostazioni e criteri.
Passaggio 1 - Configurare le impostazioni QoS globali
Eseguire i passaggi seguenti in un computer controller di rete o in un client di gestione del controller di rete. In questo modo verrà abilitata l'impostazione globale per configurare i criteri QoS tramite controller di rete.
$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableHardwareLimits=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig
Passaggio 2 - Configurare i criteri QoS
Prima di tutto, identificare l'interfaccia di rete della macchina virtuale del carico di lavoro in cui si vogliono applicare i criteri:
$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0
Configurare quindi la velocità effettiva massima in uscita consentita nell'interfaccia di rete. L'esempio seguente crea una regola QoS che limita il traffico in uscita da un'interfaccia VM a 1 Gbps.
Importante
Qos Offload supporta solo OutboundMaximumMbps. Non è possibile usare OutboundReservedValue o InboundMaximumMbps con Offload Qos.
$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
Nota
Durante la migrazione in tempo reale, è possibile che una macchina virtuale passi a un host che non supporta l'offload QoS. In questo scenario la migrazione in tempo reale avrà esito positivo, ma QoS eseguirà il fallback a QoS SDN.