Dela via


Linux-VM:er med Microsoft Azure-nätverksadapter

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.

Azure Marketplace-avbildningar som stöds

Flera Linux-avbildningar från Azure Marketplace har inbyggt stöd för Ethernet-drivrutinen i MANA:

  • Ubuntu 22.04 LTS
  • Ubuntu 24.04 LTS
  • Red Hat Enterprise Linux 8.8
  • Red Hat Enterprise Linux 8.10
  • Red Hat Enterprise Linux 9.2
  • Red Hat Enterprise Linux 9.4
  • SUSE Linux Enterprise Server 15 SP4
  • Debian 12 "Bookworm"
  • Oracle Linux 8.0 UEK R7
  • Oracle Linux 9.0 UEK R7

Kommentar

Nyare MANA-funktioner är under aktiv utveckling och Linux-distributionsleverantörer samarbetar med Microsoft för att uppdatera sina kernels med uppströmsändringar. Uppdateringstakt varierar beroende på distributionsleverantör. Ju nyare din distribution och kernel är, desto mer sannolikt är det att den har de senaste uppdateringarna.

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.

Azure Portal kontroll

Kontrollera att accelererat nätverk är aktiverat på minst en av dina nätverkskort:

  1. På sidan Azure Portal för den virtuella datorn väljer du Nätverk på den vänstra menyn.
  2. På sidan Nätverksinställningar för Nätverksgränssnitt väljer du ditt nätverkskort.
  3. 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 kärnan

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 MANA Virtual Function (VF) och är bundet till eth0 gränssnittet i det här fallet. Du kan hämta paket- och byteantalet för MANA VF 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

Nästa steg