Настройка качества обслуживания (QoS) для сетевого адаптера виртуальной машины
Вы можете настроить качество обслуживания программно-определяемых сетей (SDN) для сетевого адаптера виртуальной машины ( виртуальной машины), чтобы ограничить пропускную способность виртуального интерфейса, чтобы предотвратить подключение виртуальной машины с высоким трафиком к другому сетевому трафику виртуальной машины. Вы также можете настроить QoS SDN, чтобы зарезервировать определенную пропускную способность для виртуальной машины, чтобы убедиться, что виртуальная машина может отправлять трафик независимо от другого трафика в сети. Это можно применить к виртуальным машинам, подключенным к традиционным сетям виртуальной локальной сети, а также к виртуальным машинам, подключенным к сетям наложения SDN.
Вы также можете настроить разгрузку QoS для применения правил QoS на физическом сетевом адаптере, а не на виртуальном коммутаторе, что приводит к снижению использования ЦП и улучшению принудительного применения. Разгрузка QoS — это необязательная возможность, найденная в сертифицированных сетевых адаптерах Windows Server 2022, которые достигли программно-определяемого центра обработки данных Windows Server (SDDC) Уровня "Премиум" (AQ). Дополнительные сведения см. в разделе "Выбор сетевого адаптера".
Ограничения пропускной способности SDN QoS
SDN QoS обеспечивает настройку максимально допустимой пропускной способности на стороне отправки или приема для виртуальных машин. Это поддерживается для виртуальных машин, подключенных к традиционной сети виртуальной локальной сети, а также виртуальных машин, подключенных к виртуальной сети SDN. После установки виртуальная машина не сможет отправлять или получать трафик выше настроенных максимальных ограничений. Для виртуальной машины можно настроить ограничение на стороне отправки, ограничение на стороне получения или оба.
Параметры, которые можно настроить с помощью SDN QoS:
OutboundReservedValue — если
outboundReservedMode
режим является абсолютным, то значение указывает пропускную способность в Мбит/с, гарантированной виртуальному порту для передачи (исходящего трафика). ЕслиoutboundReservedMode
режим имеет значение "вес", то значение указывает взвешированную часть пропускной способности, гарантированной.OutboundMaximumMbps — указывает максимальную разрешенную пропускную способность на стороне отправки в Мбит/с для виртуального порта (исходящего трафика).
InboundMaximumMbps — указывает максимальную разрешенную пропускную способность на стороне приема для виртуального порта (входящего трафика) в Мбит/с.
Политики качества обслуживания SDN
После настройки сетевого контроллера SDN вы можете продолжить развертывание политик качества обслуживания. Сегодня это можно сделать с помощью командлетов PowerShell сетевого контроллера .
Для всех примеров скриптов, используемых ниже, -ConnectionUri
используется URI REST сетевого контроллера. Например: https://nc.contoso.com.
Шаг 1. Настройка глобальных параметров качества обслуживания
Выполните следующую команду PowerShell на компьютере сетевого контроллера или клиенте управления сетевого контроллера. Это позволит глобальным параметрам настроить политики качества обслуживания с помощью сетевого контроллера:
$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableSoftwareReservations=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig
Шаг 2. Настройка политик качества обслуживания
Сначала необходимо определить сетевой интерфейс виртуальной машины рабочей нагрузки, в котором необходимо применить политику:
$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0
Затем настройте входящий и исходящий максимальный пропускной способности, разрешенные в сетевом интерфейсе:
$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 (необязательно)
Вы можете настроить физический сетевой адаптер для использования разгрузки QoS. Если адаптер поддерживает разгрузку QoS, убедитесь, что он включен с помощью одного из двух методов:
- Сетевое ATC (рекомендуется)
- Включение вручную с помощью свойств адаптера
Использование сетевого ATC
Отключение QoS автоматически включено на всех адаптерах с типом Compute
намерения. Дополнительные сведения см. в разделе "Упрощение сети узлов" с помощью Сетевого ATC.
Примечание.
Этот параметр доступен только для локальных подписчиков Azure.
Использование ручной включения
Включение вручную выполняется с помощью встроенных командлетов, используемых для управления свойствами физического адаптера.
Внимание
Необходимо убедиться, что QosOffload
он включен для каждой физической сетевой карты в команде по каждому узлу. Без этого правило качества обслуживания будет применяться через виртуальный коммутатор и привести к снижению эффективности.
Используйте следующие командлеты, чтобы проверить, поддерживаются QosOffload
ли адаптеры, а затем измените свойства адаптера:
Get-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload
Enable QosOffload for your adapters:
Set-NetAdapterAdvancedProperty -Name <physical NIC Name> -RegistryKeyword *QosOffload -RegistryValue 1
Настройка аппаратного качества обслуживания
Вы можете настроить аппаратный QoS с помощью параметров и политик.
Шаг 1. Настройка глобальных параметров качества обслуживания
Выполните следующие действия на компьютере сетевого контроллера или клиенте управления сетевого контроллера. Это позволит глобальному параметру настроить политики качества обслуживания через сетевой контроллер.
$vswitchConfig=[Microsoft.Windows.NetworkController.VirtualSwitchManagerProperties]::new()
$qos=[Microsoft.Windows.NetworkController.VirtualSwitchQosSettings]::new()
$qos.EnableHardwareLimits=$true
$vswitchConfig.QosSettings =$qos
Set-NetworkControllerVirtualSwitchConfiguration -ConnectionUri $uri -Properties $vswitchConfig
Шаг 2. Настройка политик качества обслуживания
Сначала определите сетевой интерфейс виртуальной машины рабочей нагрузки, в котором необходимо применить политику:
$NwInterface=Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId Vnet-VM2_Net_Adapter_0
Затем настройте исходящую максимальную пропускную способность, разрешенную в сетевом интерфейсе. В следующем примере создается правило качества обслуживания, ограничивающее исходящий трафик из интерфейса виртуальной машины до 1 Гбит/с.
Внимание
Разгрузка Qos поддерживает только OutboundMaximumMbps. Нельзя использовать OutboundReservedValue или InboundMaximumMbps с разгрузкой 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
Примечание.
Во время динамической миграции возможно, что виртуальная машина перемещается на узел, который не поддерживает разгрузку QoS. В этом сценарии динамическая миграция будет выполнена успешно, но QoS откатится к SDN QoS.