Översikt över accelererat nätverk
Varning
Den här artikeln refererar till CentOS, en Linux-distribution som har statusen End Of Life (EOL). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.
I den här artikeln beskrivs fördelar, begränsningar och konfigurationer som stöds för accelererat nätverk. Accelererat nätverk möjliggör enkel rot-I/O-virtualisering (SR-IOV) på typer av virtuella datorer som stöds, vilket avsevärt förbättrar nätverksprestandan. Den här datavägen med höga prestanda kringgår värden, vilket minskar svarstiden, jitter- och CPU-användningen för de mest krävande nätverksarbetsbelastningarna.
Kommentar
Mer information om förhandsversionen av Microsoft Azure Network Adapter (MANA) finns i Azure MANA Docs
Följande diagram visar hur två virtuella datorer kommunicerar med och utan accelererat nätverk.
Utan accelererat nätverk passerar all nätverkstrafik in och ut från den virtuella datorn värden och den virtuella växeln. Den virtuella växeln tillhandahåller all principframtvingande för nätverkstrafik. Principerna omfattar nätverkssäkerhetsgrupper, åtkomstkontrollistor, isolering och andra nätverksvirtualiserade tjänster.
Med accelererat nätverk vidarebefordras nätverkstrafik som kommer till den virtuella datorns nätverksgränssnitt direkt till den virtuella datorn. Accelererat nätverk avlastar de nätverksprinciper som den virtuella växeln tillämpade och tillämpar dem i maskinvara. Eftersom maskinvaran tillämpar principer kan nätverkskortet vidarebefordra nätverkstrafiken direkt till den virtuella datorn. Nätverkskortet kringgår värden och den virtuella växeln och upprätthåller samtidigt alla principer som tillämpades i värden.
Förmåner
Accelererat nätverk har följande fördelar:
Kortare svarstider och högre paket per sekund. Om du tar bort den virtuella växeln från datasökvägen eliminerar du den tid som paketen spenderar i värden på principbearbetning. Detta ökar även antalet paket som den virtuella datorn kan bearbeta.
Reducerat jitter. Bearbetningstiden för virtuella växlar beror på hur mycket av principen som ska tillämpas och arbetsbelastningen för processorn som utför bearbetningen. Att överföra verkställigheten av principen till hårdvaran tar bort den variabiliteten genom att leverera paket direkt till den virtuella datorn. Avlastning tar även bort kommunikationen mellan värdar och virtuella datorer, alla programavbrott och alla kontextväxlar.
Minskad processoranvändning. Genom att kringgå den virtuella växeln i värden blir processoranvändningen mindre för bearbetning av nätverkstrafik.
Begränsningar och restriktioner
Fördelarna med accelererat nätverk gäller endast för den virtuella dator som aktiverar det.
För bästa resultat aktiverar du Accelererat nätverk på minst två virtuella datorer i samma virtuella Azure-nätverk. Den här funktionen har minimal effekt på svarstiden när du kommunicerar mellan virtuella nätverk eller ansluter lokalt.
Du kan inte aktivera accelererat nätverk på en virtuell dator som körs. Du kan aktivera accelererat nätverk på en virtuell dator som stöds endast när den virtuella datorn stoppas och frigörs.
Du kan inte distribuera virtuella datorer (klassisk) med accelererat nätverk via Azure Resource Manager.
Azure-plattformen uppdaterar inte Mellanox NIC-drivrutinerna på den virtuella datorn. För virtuella datorer som kör Linux och FreeBSD uppmanas kunderna att hålla sig uppdaterade med de senaste kerneluppdateringarna som erbjuds av distributionen. För virtuella datorer som kör Windows bör kunder använda uppdaterade drivrutiner från Nvidia-supportsidan om några problem senare uppstår med drivrutinen som levereras med Marketplace-avbildningen eller tillämpas på en anpassad avbildning.
Regioner som stöds
Accelererat nätverk är tillgängligt i alla globala Azure-regioner och Azure Government Cloud.
Operativsystem som stöds
Följande versioner av Windows stöder accelererat nätverk:
- Windows Server 2022
- Windows Server 2019 Standard/Datacenter
- Windows Server 2016 Standard/Datacenter
- Windows Server 2012 R2 Standard/Datacenter
- Windows 10 version 21H2 eller senare, inklusive Windows 10 Enterprise multisession
- Windows 11, inklusive Windows 11 Enterprise multisession
Följande Linux- och FreeBSD-distributioner från Azure Marketplace stöder accelererat nätverk direkt:
- Ubuntu 14.04 med linux-azure-kerneln
- Ubuntu 16.04 eller senare
- SLES12 SP3 eller senare
- RHEL 7.4 eller senare
- CentOS 7,4 eller senare
- CoreOS Linux
- Debian "Stretch" med backports kernel
- Debian "Buster" eller senare
- Oracle Linux 7.4 och senare med Red Hat Compatible Kernel (RHCK)
- Oracle Linux 7.5 och senare med UEK version 5
- FreeBSD 10.4, 11.1, 12.0 eller senare
Vm-instanser som stöds
De flesta generell användning och beräkningsoptimerade VM-instansstorlekar med två eller flera vCPU:er stöder accelererat nätverk. På instanser som stöder hypertrådning stöder virtuella datorinstanser med fyra eller fler vCPU:er accelererat nätverk.
Information om huruvida en VM-storlek stöder accelererat nätverk finns i Storlekar för virtuella datorer i Azure.
Du kan köra frågor direkt mot listan över vm-SKU:er som stöder accelererat nätverk med hjälp av kommandot 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
Kommentar
Även om NC- och NV-storlekar visas i kommandoutdata stöder dessa storlekar inte accelererat nätverk. Aktivering av accelererat nätverk på virtuella NC- eller NV-datorer har ingen effekt.
Anpassad VM-avbildning
Om du använder en anpassad avbildning som stöder accelererat nätverk kontrollerar du att du uppfyller följande krav.
Stöd för enhet och drivrutin
Alla anpassade avbildningar som stöder accelererat nätverk måste innehålla drivrutiner som aktiverar enkel rot-I/O-virtualisering för nätverkskort (NIC) som används på Azure-plattformar. Den här maskinvarulistan innehåller NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 och Microsoft Azure Network Adapter (MANA).
Dynamisk bindning och återkallande av virtuell funktion
Accelererat nätverk kräver att gästoperativsystemavbildningar hanterar den virtuella funktionen som tas bort eller läggs till dynamiskt. Scenarier som värdunderhåll eller direktmigrering resulterar i dynamiskt återkallande av den virtuella funktionen och återställning efter underhållshändelsen. Dessutom måste program se till att de binder till den syntetiska enheten och inte den virtuella funktionen för att upprätthålla nätverksanslutningen under dessa händelser.
Mer information om programbindningskrav finns i How Accelerated Networking works in Linux and FreeBSD VMs (Så här fungerar accelererat nätverk i virtuella Linux- och FreeBSD-datorer).
Konfigurera drivrutiner som ohanterade
Accelererat nätverk kräver nätverkskonfigurationer som markerar NVIDIA-drivrutinerna som ohanterade enheter. Avbildningar med cloud-init version 19.4 eller senare har nätverk korrekt konfigurerade för att stödja accelererat nätverk under etableringen. Vi rekommenderar starkt att du inte kör konkurrerande programvara för nätverksgränssnitt (till exempel ifupdown och nätverk) på anpassade avbildningar och att du inte kör dhcpclient direkt på flera gränssnitt.
I följande exempel visas ett exempel på en konfigurationsinlämning för NetworkManager
rhel eller CentOS:
sudo cat <<EOF > /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
# Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
# This interface is transparentlybonded to the synthetic interface,
# so NetworkManager should just ignore any SRIOV interfaces.
SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
EOF
Nätverkstrafik använder datasökvägen Accelererat nätverk
För NVIDIA-drivrutiner: Kontrollera att paketen flödar över VF-gränssnittet
För MANA-drivrutin: Kontrollera att trafiken flödar genom MANA