Konfigurowanie jakości usługi (QoS) dla karty sieciowej maszyny wirtualnej
Można skonfigurować jakość usług (QoS) dla sieci zdefiniowanej programowo (SDN) na karcie sieciowej maszyny wirtualnej (VM), aby ograniczyć przepustowość interfejsu wirtualnego i zapobiec konkurowaniu maszyny wirtualnej o dużym natężeniu ruchu z innym ruchem sieciowym maszyny wirtualnej. Możesz również skonfigurować funkcję QoS sieci SDN, aby zarezerwować określoną przepustowość dla maszyny wirtualnej, aby upewnić się, że maszyna wirtualna może wysyłać ruch niezależnie od innego ruchu w sieci. Można to zastosować do maszyn wirtualnych dołączonych do tradycyjnych sieci VLAN, a także maszyn wirtualnych dołączonych do sieci nakładek SDN.
Można również skonfigurować odciążanie QoS, aby wymusić zasady QoS na fizycznej karcie sieciowej zamiast na przełączniku wirtualnym, co prowadzi do obniżenia wykorzystania procesora i poprawy wymuszania. Odciążanie QoS to opcjonalna funkcja dostępna w certyfikowanych kartach sieciowych systemu Windows Server 2022, które uzyskały dodatkową kwalifikację Windows Server Software-Defined Data Center (SDDC) Premium (AQ). Aby uzyskać więcej informacji, zobacz Wybierz kartę sieciową.
Limity przepustowości funkcji QoS sieci SDN
Funkcja QoS sieci SDN zapewnia konfigurację maksymalnej dozwolonej przepustowości po stronie wysyłania lub odbierania dla maszyn wirtualnych. Jest to obsługiwane w przypadku maszyn wirtualnych połączonych z tradycyjną siecią sieci VLAN, a także maszynami wirtualnymi połączonymi z siecią wirtualną SDN. Po ustawieniu maszyna wirtualna nie będzie mogła wysyłać ani odbierać ruchu powyżej skonfigurowanych maksymalnych limitów. W przypadku maszyny wirtualnej można skonfigurować limit po stronie wysyłania, limit po stronie odbieranej lub oba te ustawienia.
Ustawienia, które można skonfigurować za pomocą funkcji QoS sieci SDN, to:
OutboundReservedValue — jeśli tryb
outboundReservedMode
jest "bezwzględny", wartość wskazuje przepustowość w Mbps gwarantowaną portu wirtualnego na potrzeby transmisji wychodzącej. Jeśli tryboutboundReservedMode
ma wartość "waga", wartość wskazuje gwarantowaną część ważoną przepustowości.OutboundMaximumMbps — wskazuje maksymalną dozwoloną przepustowość po stronie nadawczej w Mbps dla portu wirtualnego (ruch wychodzący).
InboundMaximumMbps — wskazuje maksymalną dozwoloną przepustowość po stronie odbieranej dla portu wirtualnego (ruchu przychodzącego) w Mb/s.
Zasady QoS sieci SDN
Po skonfigurowaniu kontrolera sieci dla sieci SDN można wdrożyć zasady QoS. Obecnie można to zrobić przy użyciu poleceń cmdlet programu PowerShell dla kontrolera sieci
Dla wszystkich przykładowych skryptów używanych poniżej -ConnectionUri
jest identyfikatorem URI REST kontrolera sieci. Na przykład: https://nc.contoso.com.
Krok 1. Konfigurowanie globalnych ustawień QoS
Uruchom następujące polecenie programu PowerShell na komputerze kontrolera sieci lub kliencie zarządzania kontrolera sieci. Umożliwi to skonfigurowanie zasad QoS za pomocą kontrolera sieci w ustawieniach globalnych:
$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableSoftwareReservations=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig
Krok 2. Konfigurowanie zasad QoS
Najpierw należy zidentyfikować interfejs sieciowy VM, w którym chcesz zastosować politykę:
$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0
Następnie skonfiguruj maksymalną przepływność ruchu przychodzącego i wychodzącego dozwoloną w interfejsie sieciowym:
$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
Odciążanie QoS (opcjonalnie)
Możesz skonfigurować fizyczną kartę sieciową tak, aby korzystała z funkcji odciążania QoS. Jeśli adapter obsługuje odciążanie QoS, upewnij się, że jest ono włączone, korzystając z jednej z dwóch metod:
- Network ATC (zalecane)
- Ręczne włączanie przy użyciu właściwości adaptera
Korzystanie z usługi Network ATC
Odciążanie QoS jest automatycznie włączone na wszystkich adapterach z typem intencji jako Compute
. Aby uzyskać więcej informacji, zobacz Upraszczanie sieci hostów za pomocą usługi Network ATC.
Notatka
Ta opcja jest dostępna tylko dla subskrybentów lokalnych platformy Azure.
Używanie ręcznego włączania
Ręczne uruchamianie jest wykonywane za pomocą wbudowanych cmdletów używanych do zarządzania właściwościami karty fizycznej.
Ważny
Należy upewnić się, że QosOffload
jest włączona na każdej fizycznej karcie sieciowej w zespole na każdym hoście. Bez tego reguła QoS będzie wymuszana za pośrednictwem przełącznika wirtualnego i skutkuje niższą wydajnością.
Użyj następujących poleceń cmdlet, aby sprawdzić, czy karty obsługują QosOffload
, a następnie zmodyfikuj właściwości adaptera:
Get-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload
Enable QosOffload for your adapters:
Set-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload -RegistryValue 1
Konfigurowanie sprzętowego QoS
Funkcję QoS sprzętu można skonfigurować przy użyciu ustawień i zasad.
Krok 1. Konfigurowanie globalnych ustawień QoS
Wykonaj poniższe kroki na komputerze kontrolera sieci lub kliencie zarządzania kontrolera sieci. Umożliwi to ustawienie globalne konfigurowania zasad QoS za pomocą kontrolera sieci.
$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableHardwareLimits=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig
Krok 2. Konfigurowanie zasad QoS
Najpierw zidentyfikuj interfejs sieciowy maszyny wirtualnej, na którą nakłada się obciążenie, gdzie chcesz zastosować politykę.
$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0
Następnie skonfiguruj maksymalną przepływność ruchu wychodzącego dozwoloną w interfejsie sieciowym. Poniższy przykład tworzy regułę QoS ograniczającą ruch wychodzący z interfejsu maszyny wirtualnej do 1 Gb/s.
Ważny
Funkcja odciążenia QoS obsługuje tylko OutboundMaximumMbps. Nie można użyć OutboundReservedValue lub InboundMaximumMbps z funkcją Qos Offload.
$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
Notatka
Podczas migracji na żywo istnieje możliwość, że maszyna wirtualna zostanie przeniesiona na hosta, który nie obsługuje odciążania QoS. W tym scenariuszu migracja na żywo powiedzie się, ale funkcja QoS wróci do funkcji QoS sieci SDN.