Condividi tramite


Macchine virtuali Linux con la scheda di rete di Microsoft Azure

Informazioni su come usare la scheda di rete di Microsoft Azure (MANA) per migliorare le prestazioni e la disponibilità delle macchine virtuali Linux in Azure.

Per il supporto di Windows, vedere Macchine virtuali Windows con la scheda di rete di Microsoft Azure.

Per altre informazioni su MANA, vedere Panoramica della scheda di rete di Microsoft Azure.

Supported Azure Marketplace images

Diverse immagini Linux di Azure Marketplace hanno il supporto predefinito per il driver Ethernet in MANA:

I dettagli del supporto del sistema operativo sono elencati in Panoramica della rete accelerata di Azure.

Note

Le funzionalità MANA più recenti sono in fase di sviluppo attivo e i fornitori di distribuzione Linux collaborano con Microsoft per aggiornare i kernel con modifiche upstream. La frequenza degli aggiornamenti varia in base al fornitore della distribuzione. La distribuzione e il kernel più recenti sono, più è probabile che siano disponibili gli aggiornamenti più recenti.

Controllare lo stato del supporto MANA

Poiché il set di funzionalità MANA richiede componenti software della macchina virtuale e hardware host, è necessario eseguire i controlli seguenti per assicurarsi che MANA funzioni correttamente sulla macchina virtuale.

Controllo sul portale di Azure

Assicurarsi che la rete accelerata sia abilitata in almeno una delle schede di interfaccia di rete:

  1. Nella pagina del portale di Azure della macchina virtuale selezionare Rete dal menu a sinistra.
  2. Nella pagina Impostazioni di rete in Interfaccia di rete selezionare la scheda di interfaccia di rete.
  3. Nel riquadro Panoramica scheda di rete in Essentials, osservare se l'opzione Rete accelerata è impostata su Abilitato o Disabilitato.

Controllo hardware

Quando si abilita Rete accelerata, è possibile identificare la scheda di interfaccia di rete MANA sottostante come dispositivo PCI nella macchina virtuale:

$ lspci
7870:00:00.0 Ethernet controller: Microsoft Corporation Device 00ba

Se viene rilevato un altro dispositivo controller Ethernet, non viene usato MANA. Nei passaggi successivi è anche necessario verificare che l'interfaccia MANA sia inizializzata e con associazione corretta.

Controllo della versione del kernel

Verificare che nella macchina virtuale sia installato un driver Ethernet MANA:

$ 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

Aggiornare il kernel

I driver Ethernet per MANA sono inclusi nel kernel versione 5.15 e successive. La versione 6.2 del kernel include il supporto Linux per funzionalità come InfiniBand/RDMA e DPDK. Le versioni del kernel precedenti o con fork (5.15 e 6.1) richiedono il supporto con backport. I dettagli del supporto del sistema operativo sono elencati in Panoramica della rete accelerata di Azure.

Per aggiornare il kernel Linux della macchina virtuale, vedere la documentazione relativa alla distribuzione specifica.

Verificare che il traffico passi attraverso MANA

Ogni scheda di interfaccia di rete virtuale (vNIC) configurata per la macchina virtuale, con Rete accelerata abilitata, comporta due interfacce di rete nella macchina virtuale. L'esempio seguente mostra eth0 e enP30832p0s0 in una configurazione con scheda di interfaccia di rete singola:

$ 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

L'interfaccia eth0 è la porta primaria gestita dal driver NetVSC (Network Virtual Service Client) e dall'interfaccia instradabile per la scheda di interfaccia di rete virtuale. L'interfaccia enP* associata rappresenta la funzione virtuale MANA (VF) e in questo caso è associata all'interfaccia eth0. È possibile ottenere il numero di pacchetti e byte della funzione virtuale MANA dall'interfaccia ethN instradabile:

$ 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

Se i valori associati alla funzione VF sono 0 o non vengono incrementati, non si usa la funzione virtuale.

Passaggi successivi