Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ускоренная сеть Azure значительно повышает производительность сети виртуальных машин за счет снижения задержки и использования ЦП. В этой статье описываются преимущества, ограничения и поддерживаемые конфигурации ускоренной сети. Ускорение сети обеспечивает виртуализацию одно корневых операций ввода-вывода (SR-IOV) на поддерживаемых типах виртуальных машин, что значительно повышает производительность сети. Этот высокопроизводительный путь к данным обходит узел, что снижает задержку, дребезг и загрузку ЦП для наиболее требовательных сетевых нагрузок.
На следующей схеме показано, как две виртуальные машины взаимодействуют с и без ускорения сети.
Без ускорения сети все сетевые трафикы в виртуальной машине проходят через узел и виртуальный коммутатор. Виртуальный коммутатор обеспечивает все принудительное применение политик к сетевому трафику. Политики включают группы безопасности сети, списки управления доступом, изоляцию и другие виртуализированные службы сети.
Благодаря ускоренной сети сетевой трафик, поступающий в сетевой интерфейс виртуальной машины, перенаправляется непосредственно на виртуальную машину. Accelerated Networking переносит все сетевые политики, применяемые виртуальным коммутатором, на сетевое оборудование. Так как аппаратные политики применяются, сетевой адаптер может перенаправлять сетевой трафик непосредственно на виртуальную машину. Сетевой адаптер обходит хост и виртуальный коммутатор, при этом сохраняет все политики, которые применялись в хосте.
Benefits
Ускорение сети имеет следующие преимущества:
Более низкая задержка и больше пакетов в секунду. Удаление виртуального коммутатора из маршрута передачи данных устраняет время, которое пакеты тратят на сервер для обработки политик. Он также увеличивает количество пакетов, которые может обрабатывать виртуальная машина.
Уменьшение дрожи. Время обработки виртуальных коммутаторов зависит от объема применения политики и рабочей нагрузки ЦП, которая выполняет обработку. Перенос использования политики на оборудование устраняет эту изменчивость путем передачи пакетов непосредственно в виртуальную машину. Выгрузка также устраняет связь узла с виртуальной машиной, все программные прерывания и все переключения контекста.
Уменьшение использования ЦП. Обход виртуального коммутатора в узле приводит к меньшему использованию ЦП для обработки сетевого трафика.
Пределы и ограничения
Преимущества ускоренной сети применяются только к виртуальной машине, которая включает ее.
Для получения наилучших результатов включите ускоренную сеть по крайней мере на двух виртуальных машинах в одной виртуальной сети Azure. Эта функция оказывает минимальное влияние на задержку при обмене данными между виртуальными сетями или подключении к локальной среде.
Вы не можете включить ускоренную сеть на работающей виртуальной машине. Вы можете включить ускорение сети на поддерживаемой виртуальной машине только в том случае, если виртуальная машина остановлена и освобождена.
Вы не можете развертывать виртуальные машины (классические) с помощью ускоренной сети с помощью Azure Resource Manager.
Платформа Azure не обновляет драйверы сетевой карты Mellanox или MANA на виртуальной машине. Для виртуальных машин под управлением Linux и FreeBSD следует оставаться в курсе последних обновлений ядра, предлагаемых дистрибутивом. Для виртуальных машин под управлением Windows примените обновленные драйверы со страницы поддержки NVIDIA, если возникли проблемы с драйвером, доставленным с изображением Marketplace или примененным к пользовательскому образу. Последние драйверы MANA можно найти на странице документации для MANA в Windows
Поддерживаемые регионы
Ускоренная сеть доступна во всех глобальных регионах Azure и облаке Azure для государственных организаций.
Поддерживаемые операционные системы
Следующие версии Windows поддерживают ускоренную сеть для всех интерфейсов:
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows 11
Следующие дистрибутивы Linux и FreeBSD из Azure Marketplace поддерживают ускоренную работу сети на уровне системы:
- Azure Linux 3
- Ubuntu 24.04 LTS
- Ubuntu 22.04 LTS
- Red Hat Enterprise Linux 10.0
- Red Hat Enterprise Linux 9.6
- AlmaLinux 10.0
- AlmaLinux 9.6
- Rocky Linux 10.0
- Rocky Linux 9.6
- SUSE Linux Enterprise Server 16
- SUSE Linux Enterprise Server 15 с пакетом обновления 7 (SP7)
- SUSE Linux Enterprise Server 15 с пакетом обновления 6 (SP6)
- Debian 13 "Trixie"
- Debian 12 "Bookworm"
- Oracle Linux UEK R8
- Oracle Linux UEK R7
Для пользователей не утвержденных дистрибутивов Linux или использования пользовательских ядер рекомендуется использовать ядро Linux 6.12 или более поздней версии, найденное в kernel.org
Note
Новые функции MANA находятся в активном процессе разработки, а поставщики дистрибутивов Linux сотрудничают с Корпорацией Майкрософт, чтобы обновить свои ядра с последующими изменениями. Частота обновлений зависит от поставщика дистрибутивов. Чем новее ваш дистрибутив и ядро, тем больше шансов, что у них будут последние обновления.
Поддерживаемые экземпляры виртуальных машин
Большинство общих и оптимизированных для вычислений размеров экземпляров виртуальных машин с двумя или более виртуальными ЦП поддерживают ускорение сети. В экземплярах, поддерживающих гиперпоточность, экземпляры виртуальных машин с четырьмя или более виртуальными ЦП поддерживают ускорение сети.
Чтобы проверить, поддерживает ли размер виртуальной машины ускоренную сеть, см. статью "Размеры виртуальных машин" в 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
Note
Хотя размеры NC и NV отображаются в выходных данных команды, эти размеры не поддерживают ускорение сети. Включение ускоренного сетевого взаимодействия на виртуальных машинах NC или NV не оказывает влияния.
Пользовательские образы ВМ
Если вы используете пользовательский образ, поддерживающий ускорение сети, убедитесь, что выполнены следующие требования.
Поддержка устройств и драйверов
Любой пользовательский образ, поддерживающий ускоренную сеть, должен включать драйверы, обеспечивающие виртуализацию единого корневого ввода-вывода для сетевых карт (сетевого адаптера), которые используются на платформах Azure. Этот список оборудования включает NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 и сетевой адаптер Microsoft Azure (MANA).
Динамическая привязка и отзыв виртуальной функции
Для ускорения сети требуется, чтобы образы гостевой ОС правильно обрабатывали удаленную или добавленную динамически виртуальную функцию. Такие сценарии, как обслуживание узла или динамическая миграция, приводят к динамическому отзыву виртуальной функции и восстановлению после события обслуживания. Кроме того, приложения должны гарантировать, что они привязываются к искусственному устройству, а не виртуальной функции, чтобы поддерживать сетевое подключение во время этих событий.
Дополнительные сведения о требованиях к привязке приложений см. в статье "Ускорение работы сети" в виртуальных машинах Linux и FreeBSD.
Настройка неуправляемых драйверов
Для ускорения сети требуется настройка драйверов NVIDIA в качестве неуправляемых устройств в параметрах сети. Дистрибутивы, использующие cloud-init версии 23.2 или более поздней, автоматически применяют правильную настройку сети для поддержки ускоренного сетевого взаимодействия в процессе настроек. Настоятельно рекомендуется избегать параллельных средств управления сетевыми интерфейсами (например, ifupdown и networkd) на пользовательских образах, а не запускать dhcpclient непосредственно на нескольких интерфейсах.
Убедитесь, что установлен azure-vm-utils версии 0.6.0 или более поздней.
Убедитесь, что /usr/lib/udev/rules.d/10-azure-unmanaged-sriov.rules существует.
Если он недоступен для дистрибутива, используйте пользовательское правило udev с содержимым, указанным в /etc/udev/rules.d/10-azure-unmanaged-sriov.rules.
# Azure VMs with accelerated networking may have MANA, mlx4, or mlx5 SR-IOV devices which are transparently bonded to a synthetic
# hv_netvsc device. Mark devices with the 0x800 bit set as unmanaged devices:
# AZURE_UNMANAGED_SRIOV=1 for 01-azure-unmanaged-sriov.network
# ID_NET_MANAGED_BY=unmanaged for systemd-networkd >= 255
# NM_UNMANAGED=1 for NetworkManager
#
# ATTR{flags}=="0x?[89ABCDEF]??" checks the 0x800 bit.
SUBSYSTEM=="net", ACTION!="remove", DRIVERS=="mana|mlx4_core|mlx5_core", ATTR{flags}=="0x?[89ABCDEF]??", ENV{AZURE_UNMANAGED_SRIOV}="1", ENV{ID_NET_MANAGED_BY}="unmanaged", ENV{NM_UNMANAGED}="1"
Сетевой трафик использует путь данных ускоренной сети
Для драйверов NVIDIA: убедитесь, что пакеты передаются через интерфейс VF.
Для драйвера MANA: убедитесь, что трафик проходит через MANA