Sdílet prostřednictvím


Přehled akcelerovaných síťových služeb Azure

Akcelerované síťové služby Azure výrazně vylepšují výkon sítě virtuálních počítačů snížením latence a využití procesoru. Tento článek popisuje výhody, omezení a podporované konfigurace akcelerovaných síťových služeb. Akcelerované síťové služby umožňují virtualizaci rozhraní SR-IOV (Single Root I/O Virtualization) na podporovaných typech virtuálních počítačů, což výrazně zlepšuje výkon sítě. Tato cesta k datům s vysokým výkonem obchází hostitele, což snižuje latenci, zpoždění a využití procesoru u nejnáročnějších síťových úloh.

Následující diagram znázorňuje, jak dva virtuální počítače komunikují s a bez akcelerovaných síťových služeb.

Snímek obrazovky znázorňující komunikaci mezi virtuálními počítači Azure s akcelerovanými síťovými službami a bez akcelerovaných síťových služeb

Bez akcelerovaných síťových služeb prochází veškerý síťový provoz do a z virtuálního počítače přes hostitele a virtuální přepínač. Virtuální přepínač zajišťuje prosazování všech zásad pro síťový provoz. Mezi zásady patří skupiny zabezpečení sítě, seznamy řízení přístupu, izolace a další virtualizované služby sítě.

S akcelerovanými síťovými službami se síťový provoz, který dorazí do síťového rozhraní virtuálního počítače, přesměruje přímo na virtuální počítač. Akcelerované síťování zapojí všechny síťové zásady, které virtuální přepínač použil, a použije je v hardwaru. Protože hardware používá zásady, může síťové rozhraní přesměrovat síťový provoz přímo na virtuální počítač. Síťové rozhraní vynechává hostitele a virtuální přepínač, přičemž stále udržuje všechny zásady, které byly aplikovány na hostitele.

Benefits

Akcelerované síťové služby mají následující výhody:

  • Nižší latence a vyšší pakety za sekundu. Odebrání virtuálního přepínače z datové cesty eliminuje dobu, po kterou jsou pakety zpracovávány v hostiteli pro účely politiky. Zvyšuje také počet paketů, které může virtuální počítač zpracovat.

  • Menší chvění. Doba zpracování virtuálních přepínačů závisí na množství zásad, které se mají použít, a na úloze procesoru, který zpracování provede. Přenos vynucování zásad na hardware odstraňuje tuto proměnlivost přímým doručováním paketů do virtuálního počítače. Vyložení také odebere komunikaci mezi hostitelem a virtuálním počítačem, všechna softwarová přerušení a všechny kontextové přepínače.

  • Menší využití procesoru Obejití virtuálního přepínače v hostiteli vede k menšímu využití procesoru pro zpracování síťového provozu.

Limity a omezení

  • Výhody akcelerovaných síťových služeb platí jenom pro virtuální počítač, který ho umožňuje.

  • Nejlepších výsledků dosáhnete tak, že povolíte akcelerované síťové služby na alespoň dvou virtuálních počítačích ve stejné virtuální síti Azure. Tato funkce má minimální vliv na latenci, když komunikujete mezi virtuálními sítěmi nebo se připojujete místně.

  • Na spuštěném virtuálním počítači nemůžete povolit akcelerované síťové služby. Akcelerované síťové služby můžete povolit na podporovaném virtuálním počítači jenom v případech, kdy je virtuální počítač zastavený a uvolněný.

  • Virtuální počítače (Classic) s akcelerovanými síťovými službami nemůžete nasadit prostřednictvím Azure Resource Manageru.

  • Platforma Azure neaktualizuje ovladače Mellanox NIC ani MANA na virtuálním počítači. U virtuálních počítačů s Linuxem a FreeBSD byste měli zůstat aktuální s nejnovějšími aktualizacemi jádra, které nabízí distribuce. U virtuálních počítačů s Windows použijte aktualizované ovladače ze stránky podpory NVIDIA, pokud narazíte na problémy s ovladačem dodaným s imagí Marketplace nebo použitými na vlastní image. Nejnovější ovladače MANA najdete na stránce dokumentace pro MANA ve Windows.

Podporované oblasti

Akcelerované síťové služby jsou dostupné ve všech globálních oblastech Azure a v cloudu Azure Government.

Podporované operační systémy

Následující verze systému Windows podporují akcelerované síťové služby pro všechna rozhraní:

  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows 11

Následující distribuce Linuxu a FreeBSD z Azure Marketplace podporují akcelerované síťové služby:

  • 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 SP7
  • SUSE Linux Enterprise Server 15 SP6
  • Debian 13 "Trixie"
  • Debian 12 "Bookworm"
  • Oracle Linux UEK R8
  • Oracle Linux UEK R7

Pro uživatele neschválených distribucí Linuxu nebo využití vlastních jader doporučujeme linuxové jádro 6.12 nebo novější, které najdete v kernel.org

Note

Novější funkce MANA jsou aktivně vyvíjeny a dodavatelé Linuxových distribucí spolupracují s Microsoftem na aktualizaci svých jader s aktualizacemi z hlavního zdroje. Četnost aktualizací se liší podle dodavatele distribuce. Čím novější je vaše distribuce a jádro, tím je pravděpodobnější, že bude mít nejnovější aktualizace.

Podporované instance virtuálních počítačů

Většina velikostí instancí virtuálních počítačů optimalizovaných pro obecné účely a výpočetních prostředků se dvěma nebo více virtuálními procesory podporuje akcelerované síťové služby. U instancí, které podporují hyperthreading, podporují instance virtuálních počítačů se čtyřmi nebo více virtuálními procesory akcelerované síťové služby.

Informace o tom, jestli velikost virtuálního počítače podporuje akcelerované síťové služby, najdete v tématu Velikosti virtuálních počítačů v Azure.

Pomocí příkazu Azure CLI az vm list-skus můžete přímo dotazovat seznam skladových položek virtuálních počítačů, které podporují akcelerované síťové služby :

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

I když se velikosti NC a NV zobrazují ve výstupu příkazu, tyto velikosti nepodporují akcelerované sítě. Povolení funkce Accelerated Networking na virtuálních počítačích řady NC nebo NV nemá žádný vliv.

Vlastní bitové kopie virtuálního počítače

Pokud používáte vlastní image, která podporuje akcelerované síťové služby, ujistěte se, že splňujete následující požadavky.

Podpora zařízení a ovladačů

Každá vlastní bitová kopie podporující akcelerované síťové služby musí obsahovat ovladače, které umožňují virtualizaci jedné kořenové I/O pro karty síťového rozhraní, které se používají na platformách Azure. Tento seznam hardwaru zahrnuje NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 a Microsoft Azure Network Adapter (MANA).

Dynamická vazba a odvolání virtuální funkce

Akcelerované sítě vyžadují, aby obraz hostovaného operačního systému správně zvládl odebrání nebo dynamické přidání virtuální funkce. Scénáře, jako je údržba hostitele nebo migrace za provozu, budou mít za následek dynamické zrušení virtuální funkce a její obnovení po skončení údržby. Kromě toho musí aplikace zajistit, aby se vázaly na syntetické zařízení, a ne na virtuální funkci, aby během těchto událostí zachovaly síťové připojení.

Další informace o požadavcích na svázání aplikace naleznete v Jak funguje zrychlené sítě v Linux a FreeBSD VM.

Nakonfigurujte ovladače jako nespravované

Akcelerované síťové služby vyžadují konfiguraci ovladačů NVIDIA jako nespravovaných zařízení v nastavení sítě. Image využívající cloud-init verze 23.2 nebo novější automaticky používá správnou konfiguraci sítě pro podporu zrychleného síťového připojení během zřizování. Důrazně doporučujeme vyhnout se souběžným nástrojům pro správu síťových rozhraní (například ifupdown a networkd) ve vlastních imagích a nespouštět dhcpclient přímo na více rozhraních.

Ujistěte se, že jsou nainstalované nástroje azure-vm-utils verze 0.6.0 nebo novější. Ověřte /usr/lib/udev/rules.d/10-azure-unmanaged-sriov.rules , že existuje.
Pokud není pro distribuci k dispozici, použijte vlastní pravidlo udev v /etc/udev/rules.d/10-azure-unmanaged-sriov.rules s obsahem:

# 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"

Síťový provoz používá datovou cestu akcelerované sítě.

Ovladače NVIDIA: Ověřte, že pakety proudí přes rozhraní VF.

  • dokumentace k Linuxu
  • Dokumentace Windows

Pro řidiče MANA: Ověřte, že provoz probíhá přes MANA.

  • dokumentace k Linuxu
  • Dokumentace Windows