Поделиться через


Настройка качества обслуживания (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.