Обзор ускорения сети

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

В этой статье описываются преимущества, ограничения и поддерживаемые конфигурации ускоренной сети. Ускорение сети обеспечивает виртуализацию одно корневых операций ввода-вывода (SR-IOV) на поддерживаемых типах виртуальных машин, что значительно повышает производительность сети. Этот высокопроизводительный путь к данным проходит узел, что снижает задержку, jitter и загрузку ЦП для наиболее требовательных сетевых рабочих нагрузок.

Примечание.

Дополнительные сведения о предварительной версии сетевого адаптера Microsoft Azure (MANA) см. в документации по Azure MANA

На следующей схеме показано, как две виртуальные машины взаимодействуют с и без ускорения сети.

Снимок экрана: обмен данными между виртуальными машинами Azure с ускорением сети и без нее.

Без ускорения сети все сетевые трафикы в виртуальной машине проходят через узел и виртуальный коммутатор. Виртуальный коммутатор обеспечивает все принудительное применение политик к сетевому трафику. Политики включают группы безопасности сети, списки управления доступом, изоляцию и другие виртуализированные службы сети.

Благодаря ускоренной сети сетевой трафик, поступающий в сетевой интерфейс виртуальной машины, перенаправляется непосредственно на виртуальную машину. Ускорение сети разгружает все сетевые политики, которые применяет виртуальный коммутатор, а также применяет их на аппаратном уровне. Поскольку политика применяется в аппаратном обеспечении, NIC может перенаправлять сетевой трафик непосредственно на виртуальную машину. Сетевой интерфейс обходит узел и виртуальный коммутатор, при этом сохраняя все политики, примененные на узле.

Льготы

Ускорение сети дает следующие преимущества:

  • Уменьшение задержки и увеличение количества пакетов в секунду (pps). Устранение виртуального коммутатора из пути передачи данных сокращает время, затрачиваемое пакетами на обработку политик на узле. Кроме того, увеличивается количество пакетов, которые может обработать виртуальная машина.

  • Уменьшение дрожания. Время обработки с помощью виртуальных коммутаторов зависит от числа политик, которые необходимо применить, и рабочей нагрузки ЦП, выполняющего обработку. Разгрузка применения политики к аппаратному обеспечению устраняет эту вариативность путем доставки пакетов непосредственно на ВМ. Разгрузка также устраняет взаимодействие между узлами и виртуальными машинами, все программные прерывания и переключения контекста.

  • Уменьшение нагрузки на ЦП. Обход виртуального коммутатора на узле приводит к меньшему использованию ЦП для обработки сетевого трафика.

Пределы и ограничения

  • Преимущества ускоренной сети применяются только к виртуальной машине, которая включает ее.

  • Для получения наилучших результатов включите ускоренную сеть по крайней мере на двух виртуальных машинах в одной виртуальной сети Azure. Эта функция оказывает минимальное влияние на задержку при обмене данными между виртуальными сетями или подключении к локальной среде.

  • Вы не можете включить ускоренную сеть на работающей виртуальной машине. Вы можете включить ускорение сети на поддерживаемой виртуальной машине только в том случае, если виртуальная машина остановлена и освобождена.

  • Вы не можете развертывать виртуальные машины (классические) с помощью ускоренной сети с помощью Azure Resource Manager.

  • Платформа Azure не обновляет драйверы сетевого адаптера Mellanox на виртуальной машине. Для виртуальных машин под управлением Linux и FreeBSD клиентам рекомендуется оставаться в курсе последних обновлений ядра, предлагаемых дистрибутивом. Для виртуальных машин под управлением Windows клиенты должны применять обновленные драйверы на странице поддержки Nvidia, если все проблемы позже возникают с драйвером, доставленным с изображением Marketplace или примененным к пользовательскому образу.

Поддерживаемые регионы

Ускоренная сеть доступна во всех глобальных регионах Azure и в облаке Azure для государственных организаций.

Поддерживаемые операционные системы

Следующие версии Windows поддерживают ускоренную сеть:

  • Windows Server 2022
  • Windows Server 2019 Standard или Datacenter
  • Windows Server 2016 Standard или Datacenter
  • Windows Server 2012 R2 Standard или Datacenter
  • Windows 10 версии 21H2 или более поздней версии, включая многосессию Windows 10 Корпоративная
  • Windows 11, включая многосессию Windows 11 Корпоративная

Следующие дистрибутивы Linux и FreeBSD из Azure Marketplace поддерживают ускорение сети из поля:

  • Ubuntu 14.04 с ядром linux-azure
  • Ubuntu 16.04 или более поздней версии
  • SLES12 с пакетом обновления 3 или более поздней версии
  • RHEL 7.4 или более поздней версии
  • CentOS 7.4 или более поздней версии
  • CoreOS Linux
  • Debian "Stretch" с бэкпортированным ядром
  • Debian "Бюстер" или более поздней версии
  • Oracle Linux 7.4 или более поздней версии с ядром, совместимым с Red Hat (RHCK)
  • Oracle Linux 7.5 или более поздней версии с UEK версии 5
  • FreeBSD 10.4, 11.1, 12.0 или более поздней версии

Поддерживаемые экземпляры виртуальных машин

Большинство общих и оптимизированных для вычислений размеров экземпляров виртуальных машин с двумя или более виртуальными ЦП поддерживают ускорение сети. В экземплярах, поддерживающих гиперпоточность, экземпляры виртуальных машин с четырьмя или более виртуальными ЦП поддерживают ускорение сети.

Чтобы проверка, поддерживает ли размер виртуальной машины ускорение сети, см. статью "Размеры виртуальных машин" в Azure.

Вы можете напрямую запросить список номеров SKU виртуальных машин, поддерживающих ускорение сети, с помощью команды Azure CLI az vm list-skus :

az vm list-skus \
  --location westus \
  --all true \
  --resource-type virtualMachines \
  --query '[].{size:size, name:name, acceleratedNetworkingEnabled: capabilities[?name==`AcceleratedNetworkingEnabled`].value | [0]}' \
  --output table

Примечание.

Хотя размеры NC и NV отображаются в выходных данных команды, эти размеры не поддерживают ускорение сети. Включение ускорения сети на виртуальных машинах NC или NV не влияет.

Пользовательские образы ВМ

Если вы используете пользовательский образ, поддерживающий ускорение сети, убедитесь, что у вас есть необходимые драйверы для работы с Mellanox Подключение X-3, Подключение X-4 Lx и Подключение X-5 сетевых адаптеров в Azure. Для ускорения сети также требуются конфигурации сети, которые освобождают конфигурацию виртуальных функций на mlx4_en и mlx5_core драйверах.

Образы с cloud-init версии 19.4 или более поздней имеют правильно настроенную сеть для поддержки ускорения сети во время подготовки.

В следующем примере показан раскрывающийся список конфигурации для NetworkManager RHEL или CentOS:

sudo mkdir -p /etc/NetworkManager/conf.d
sudo cat > /etc/NetworkManager/conf.d/99-azure-unmanaged-devices.conf <<EOF
# Ignore SR-IOV interface on Azure, since it's transparently bonded
# to the synthetic interface
[keyfile]
unmanaged-devices=driver:mlx4_core;driver:mlx5_core
EOF

Следующие шаги