Panoramica della rete accelerata

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione di Linux che ha raggiunto lo stato di fine del servizio (EOL). Valutare le proprie esigenze e pianificare di conseguenza. Per ulteriori informazioni, consultare la Guida alla fine del ciclo di vita di CentOS.

Questo articolo descrive i vantaggi, i vincoli e le configurazioni supportate della rete accelerata. La funzionalità Rete accelerata abilita Single Root I/O Virtualization (SR-IOV) nei tipi di macchine virtuali (VM) supportati migliorandone significativamente le prestazioni di rete. Questo percorso dati a prestazioni elevate esclude l'host, riducendo così la latenza, l'instabilità e l'utilizzo della CPU e può essere usato con i carichi di lavoro di rete più impegnativi.

Nota

Per altre informazioni sull'anteprima della scheda di rete di Microsoft Azure (MANA), consultare la documentazione di Azure MANA

L'immagine seguente mostra le comunicazioni tra due macchine virtuali, con e senza rete accelerata.

Screenshot che mostra le comunicazioni tra due macchine virtuali di Azure, con e senza rete accelerata.

Senza rete accelerata, tutto il traffico di rete in ingresso e in uscita dalla macchina virtuale attraversa l'host e il commutatore virtuale. Il commutatore virtuale fornisce l'applicazione di tutti i criteri al traffico di rete. I criteri includono gruppi di sicurezza di rete, elenchi di controllo di accesso, isolamento e altri servizi di rete virtualizzati.

Con rete accelerata, il traffico di rete che raggiunge la scheda di interfaccia di rete della macchina virtuale viene inoltrato direttamente alla macchina virtuale. La rete accelerata scarica tutti i criteri di rete applicati dal commutatore virtuale applicato e viene applicata all'hardware. Poiché l'hardware applica i criteri, la scheda NIC può inoltrare il traffico di rete direttamente alla VM. La scheda di interfaccia di rete ignora l'host e il commutatore virtuale, mentre mantiene tutti i criteri applicati nell'host.

Vantaggi

La rete accelerata offre i vantaggi seguenti:

  • Latenza più bassa e più pacchetti al secondo. La rimozione del commutatore virtuale dal percorso dati elimina il tempo trascorso dai pacchetti nell'host per l'elaborazione dei criteri. Aumenta anche il numero di pacchetti che la VM può elaborare.

  • Instabilità ridotta. Il tempo di elaborazione per i commutatori virtuali dipende dalla quantità di criteri da applicare e dal carico di lavoro della CPU che esegue l'elaborazione. L'offload dell'applicazione dei criteri all'hardware rimuove la variabilità recapitando pacchetti direttamente alla VM. L'offload rimuove anche la comunicazione da host a VM, tutte le interruzioni di software e tutti i commutatori di contesto.

  • Utilizzo ridotto della CPU. Ignorando il commutatore virtuale nell'host si ottiene un minore utilizzo della CPU per l'elaborazione del traffico di rete.

Limiti e vincoli

  • I vantaggi della funzionalità rete accelerata si applicano solo alla macchina virtuale in cui è abilitata.

  • Per ottenere risultati ottimali, abilitare la rete accelerata su almeno due macchine virtuali nella stessa rete virtuale Azure. Questa funzione ha un effetto minimo sulla latenza quando si comunica tra reti virtuali o ci si connette all'ambiente locale.

  • Non è possibile abilitare la rete accelerata su una macchina virtuale in esecuzione. È possibile abilitare la rete accelerata su una macchina virtuale supportata solo quando la macchina virtuale viene arrestata e deallocata.

  • Non è possibile distribuire macchine virtuali (classiche) con la rete accelerata tramite Azure Resource Manager.

  • La piattaforma Azure non aggiorna i driver NIC Mellanox nella macchina virtuale. Per le macchine virtuali che eseguono Linux e FreeBSD, i clienti sono invitati a rimanere aggiornati con gli aggiornamenti più recenti del kernel offerti dalla distribuzione. Per le macchine virtuali con sistema operativo Windows, i clienti devono applicare i driver aggiornati dalla pagina di supporto Nvidia se in seguito si riscontrano problemi con il driver fornito con l'immagine del Marketplace o applicato a un'immagine personalizzata.

Aree geografiche supportate

La rete accelerata è disponibile in tutte le aree globali di Azure e in Cloud Azure per enti pubblici.

Sistemi operativi supportati

Le versioni seguenti di Windows supportano la rete accelerata:

  • Windows Server 2022
  • Windows Server 2019 Standard/Datacenter
  • Windows Server 2016 Standard/Datacenter
  • Windows Server 2012 R2 Standard/Datacenter
  • Windows 10 versione 21H2 o versione successiva, incluso Windows 10 Enterprise multisessione
  • Windows 11, compreso Windows 11 Enterprise multisessione

Le distribuzioni Linux e FreeBSD di Azure Marketplace che seguono supportano la rete accelerata in modalità predefinita:

  • Ubuntu 14.04 con il kernel linux-azure
  • Ubuntu 16.04 o versione successiva
  • SLES12 SP3 o versione successiva
  • RHEL 7.4 o versione successiva
  • CentOS 7.4 o versione successiva
  • CoreOS Linux
  • Debian "Stretch" con kernel backport
  • Debian "Buster" o versione successiva
  • Oracle Linux 7.4 e versioni successive con Red Hat Compatible Kernel (RHCK)
  • Oracle Linux 7.5 e versioni successive con UEK versione 5
  • FreeBSD 10.4, 11.1, 12.0 o versione successiva

Istanze di VM supportate

La maggior parte delle istanze di macchine virtuali di utilizzo generico e ottimizzate per il calcolo con due o più vCPU supportano la rete accelerata. Nelle istanze che supportano l'hyperthreading, le istanze di macchine virtuali con quattro o più vCPU supportano la rete accelerata.

Per verificare se le dimensioni di una macchina virtuale supportano la rete accelerata, vedere Dimensioni delle macchine virtuali in Azure.

È possibile eseguire una query diretta all'elenco delle SKU di macchine virtuali che supportano la rete accelerata usando il comando dell'interfaccia della riga di comando di Azure 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

Nota

Sebbene le dimensioni NC e NV appaiano nell'output del comando, tali dimensioni non supportano la rete accelerata. L'attivazione della rete accelerata sulle macchine virtuali NC o NV non ha alcun effetto.

Immagini VM personalizzate

Se si usa un'immagine personalizzata che supporta la rete accelerata, assicurarsi di soddisfare i requisiti seguenti.

Supporto di dispositivi e driver

Qualsiasi immagine personalizzata che supporta la rete accelerata deve includere driver che abilitano la virtualizzazione I/O radice singola per le schede di interfaccia di rete (NIC) usate nelle piattaforme di Azure. Questo elenco di hardware include NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 e la scheda di rete di Microsoft Azure (MANA).

Associazione dinamica e revoca della funzione virtuale

La rete accelerata richiede che le immagini del sistema operativo guest gestisca correttamente la funzione virtuale da rimuovere o aggiungere in modo dinamico. Gli scenari come la manutenzione host o la migrazione in tempo reale comportano la revoca dinamica della funzione virtuale e il ripristino dopo l'evento di manutenzione. Inoltre, le applicazioni devono assicurarsi che si associano al dispositivo sintetico e non alla funzione virtuale per mantenere la connettività di rete durante questi eventi.

Per altre informazioni sui requisiti di associazione delle applicazioni, vedere Funzionamento della rete accelerata nelle macchine virtuali Linux e FreeBSD.

Configurare i driver per l'annullamento della gestione

La rete accelerata richiede configurazioni di rete che contrassegnano i driver NVIDIA come dispositivi non gestiti. Le immagini con cloud-init versione 19.4 o versione successiva hanno la rete configurata correttamente per supportare la rete accelerata durante il provisioning. Si consiglia di non eseguire software di interfaccia di rete concorrenti (come ifupdown e networkd) su immagini personalizzate e di non eseguire dhcpclient direttamente su più interfacce.

L'esempio seguente mostra un esempio di configurazione drop-in per NetworkManager su RHEL o 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

Il traffico di rete usa il percorso dati Rete accelerata

Per i driver NVIDIA: verificare che i pacchetti vengano trasmessi tramite l'interfaccia VF

Per il driver MANA: verificare che il traffico stia fluendo attraverso MANA