Virtuella Linux-datorer med Microsoft Azure-nätverkskortet
Lär dig hur du använder Microsoft Azure Network Adapter (MANA) för att förbättra prestanda och tillgänglighet för virtuella Linux-datorer i Azure.
Information om Windows-stöd finns i Virtuella Windows-datorer med Microsoft Azure-nätverkskortet.
Mer information om MANA finns i Översikt över Microsoft Azure-nätverkskort.
Viktigt!
MANA är för närvarande i förhandsversion. Juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller som ännu inte har släppts i allmän tillgänglighet finns i Kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.
Azure Marketplace-avbildningar som stöds
Flera Linux-avbildningar från Azure Marketplace har inbyggt stöd för Ethernet-drivrutinen i MANA:
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- Red Hat Enterprise Linux 8.8
- Red Hat Enterprise Linux 9.2
- SUSE Linux Enterprise Server 15 SP4
- Debian 12 "Bookworm"
- Oracle Linux 9.0
Kommentar
Ingen av de aktuella Linux-distributionerna på Azure Marketplace finns på en 6.2- eller senare kernel, vilket krävs för RDMA/InfiniBand och Data Plane Development Kit (DPDK). Om du använder en befintlig Linux-avbildning från Azure Marketplace måste du uppdatera kerneln.
Kontrollera status för MANA-stöd
Eftersom MANA-funktionsuppsättningen kräver både värdmaskinvara och VM-programvarukomponenter måste du utföra följande kontroller för att se till att MANA fungerar korrekt på den virtuella datorn.
Kontroll av Azure-portalen
Kontrollera att accelererat nätverk är aktiverat på minst en av dina nätverkskort:
- På sidan Azure-portalen för den virtuella datorn väljer du Nätverk på den vänstra menyn.
- På sidan Nätverksinställningar för Nätverksgränssnitt väljer du ditt nätverkskort.
- I fönstret Översikt över nätverkskort går du till Essentials och noterar om Accelererat nätverk är inställt på Aktiverad eller Inaktiverad.
Maskinvarukontroll
När du aktiverar accelererat nätverk kan du identifiera det underliggande MANA-nätverkskortet som en PCI-enhet på den virtuella datorn:
$ lspci
7870:00:00.0 Ethernet controller: Microsoft Corporation Device 00ba
Kontroll av kernelversion
Kontrollera att den virtuella datorn har en MANA Ethernet-drivrutin installerad:
$ grep /mana*.ko /lib/modules/$(uname -r)/modules.builtin || find /lib/modules/$(uname -r)/kernel -name mana*.ko*
kernel/drivers/net/ethernet/microsoft/mana/mana.ko
Uppdatera din -kernel
Ethernet-drivrutiner för MANA ingår i kernelversion 5.15 och senare. Kernel version 6.2 innehåller Linux-stöd för funktioner som InfiniBand/RDMA och DPDK. Tidigare eller förgrenade kernelversioner (5.15 och 6.1) kräver bakåtporterat stöd.
Om du vill uppdatera den virtuella datorns Linux-kernel kontrollerar du dokumentationen för din specifika distribution.
Kontrollera att trafiken flödar via MANA
Varje virtuellt nätverkskort (vNIC) som du konfigurerar för den virtuella datorn, med accelererat nätverk aktiverat, resulterar i två nätverksgränssnitt på den virtuella datorn. I följande exempel visas eth0
och enP30832p0s0
i en konfiguration med ett enda nätverkskort:
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:22:48:71:c2:8c brd ff:ff:ff:ff:ff:ff
alias Network Device
3: enP30832p0s0: <BROADCAST,MULTICAST,CHILD,UP,LOWER_UP> mtu 1500 qdisc mq master eth0 state UP mode DEFAULT group default qlen 1000
link/ether 00:22:48:71:c2:8c brd ff:ff:ff:ff:ff:ff
altname enP30832s1296119428
Gränssnittet eth0
är den primära port som betjänas av netVSC-drivrutinen (Network Virtual Service Client) och det routbara gränssnittet för det virtuella nätverkskortet. Det associerade enP*
gränssnittet representerar den virtuella mana-funktionen (VF) och är bundet eth0
till gränssnittet i det här fallet. Du kan hämta paket- och byteantalet för den virtuella mana-hårddisken från det dirigerbara ethN
gränssnittet:
$ ethtool -S eth0 | grep -E "^[ \t]+vf"
vf_rx_packets: 226418
vf_rx_bytes: 99557501
vf_tx_packets: 300422
vf_tx_bytes: 76231291
vf_tx_dropped: 0