Google Virtual NIC (gVNIC) è un'interfaccia di rete virtuale progettata specificamente per Compute Engine. gVNIC è un'alternativa al driver Ethernet basato su virtIO.
In quanto interfaccia di rete di nuova generazione che succede a VirtIO, gVNIC sostituisce VirtIO-Net come unica interfaccia di rete supportata in Compute Engine per tutti i nuovi tipi di macchine (generazione 3 e successive). Le serie di macchine e le funzionalità di rete più recenti richiedono gVNIC anziché VirtIO. L'utilizzo di gVNIC come moderna interfaccia I/O con le VM di Compute Engine offre i seguenti vantaggi:
- Offre prestazioni migliori.
- Migliora la coerenza riducendo i problemi di "noisy-neighbor", ovvero i disturbi delle performance dovuti alla vicinanza di altre applicazioni.
- Introduce nuove funzionalità di rete che vanno oltre le capacità di VirtIO.
gVNIC è supportata e consigliata su tutte le famiglie di macchine, i tipi di macchine e le generazioni.
gVNIC è necessario per raggiungere le seguenti velocità massime di larghezza di banda:
- Larghezza di banda da 50 a 200 Gbps con VM che supportano le prestazioni di rete Tier_1 per VM
- Larghezza di banda da 50 a 1800 Gbps con VM con GPU collegate
Devi utilizzare gVNIC come interfaccia di rete per le istanze Confidential VM, le VM delle serie di macchine di terza generazione o successive e le VM in esecuzione sulla piattaforma CPU Arm.
Prima di iniziare
- Se utilizzi gVNIC con VM Windows Server 2022 o Windows 11, aggiorna il driver gVNIC alla versione del pacchetto GooGet
1.0.0@45
o versioni successive per migliorare la velocità effettiva della rete. Per saperne di più, consulta la sezione Problemi noti. -
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- L'immagine del sistema operativo non include il driver gVNIC
- L'immagine sistema operativo non ha l'ultima versione del driver gVNIC
- Per le VM Linux, consulta Driver del kernel Linux Compute Engine Virtual Ethernet.
- Per le VM in esecuzione su FreeBSD, consulta Driver Ethernet virtuale FreeBSD di Compute Engine.
- Per le VM Windows, consulta Driver Windows per Compute Engine Virtual Ethernet.
- Fino a 200 Gbps di larghezza di banda di rete se installato su un'istanza Windows configurata per utilizzare il networking Tier_1 e gVNIC.
- Supporto per i frame jumbo, tranne su N4.
- Scegli un'immagine del sistema operativo pubblica che supporti gVNIC o crea un'immagine del sistema operativo personalizzata con tag per utilizzare gVNIC.
- Crea una VM utilizzando l'immagine sistema operativo pubblica o personalizzata. Durante la creazione della VM, configura l'interfaccia di rete in modo che utilizzi gVNIC.
- Verifica che gVNIC sia abilitato.
Seleziona un'immagine del sistema operativo o una famiglia di immagini che supporti gVNIC. Per saperne di più, consulta Dettagli del sistema operativo.
Utilizzando l'immagine sistema operativo o la famiglia di immagini selezionata nel passaggio precedente, crea un'immagine sistema operativo personalizzata e taggala con
GVNIC
. Per creare l'immagine del sistema operativo personalizzato, utilizza il comandogcloud compute images create
. Ad esempio, il seguente comando crea un'immagine sistema operativo personalizzata che supporta gVNIC e si basa su un'immagine sistema operativo specifica.gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ --source-image-project=SOURCE_IMAGE_PROJECT \ --guest-os-features=GVNIC
Sostituisci quanto segue:
IMAGE_NAME
: il nome dell'immagine che vuoi creareSOURCE_IMAGE
: un'immagine sistema operativo specifica che supporta gVNIC, ad esempio:rocky-linux-8-optimized-gcp-v20220719
Se vuoi utilizzare l'ultima immagine sistema operativo in una famiglia di immagini, sostituisci il flag
--source-image
con il flag--source-image-family
e imposta il relativo valore su una famiglia di immagini che supporta gVNIC. Ad esempio:--source-image-family=rocky-linux-8-optimized-gcp
.SOURCE_IMAGE_PROJECT
: il nome del progetto che contiene l'immagine sistema operativo o la famiglia di immagini di origine
Esempio
Per creare un'immagine sistema operativo Rocky Linux 8 ottimizzata per Google Cloud utilizzando l'ultima immagine sistema operativo della famiglia di immagini
rocky-linux-8-optimized-gcp
di Compute Engine, esegui il comando seguente:gcloud compute images create IMAGE_NAME \ --source-image-family=rocky-linux-8-optimized-gcp \ --source-image-project=rocky-linux-cloud \ --guest-os-features=GVNIC
Per saperne di più su quando utilizzare le famiglie di immagini, consulta Best practice per le famiglie di immagini.
Seleziona un'immagine del sistema operativo o una famiglia di immagini che supporti gVNIC. Per ulteriori informazioni, vedi Dettagli del sistema operativo.
Utilizzando l'immagine del sistema operativo o la famiglia di immagini selezionata nel passaggio precedente, crea un'immagine del sistema operativo e aggiungi tag con
GVNIC
. Per creare l'immagine del sistema operativo, utilizza il metodoimages.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name":"IMAGE_NAME", "sourceImage":"SOURCE_IMAGE_URI", "guestOsFeatures":[ { "type":"GVNIC" } ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui creare la nuova immagineIMAGE_NAME
: un nome per l'immagine personalizzataSOURCE_IMAGE_URI
: l'URI per l'immagine del sistema operativo o la famiglia di immagini specifica che vuoi utilizzareAd esempio:
- Immagine del sistema operativo specifica:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
- Famiglia di immagini:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
Quando specifichi una famiglia di immagini, Compute Engine crea una VM dall'immagine più recente non deprecata del sistema operativo all'interno di quella famiglia. Per ulteriori informazioni su quando utilizzare le famiglie di immagini, consulta le rispettive best practice.
- Immagine del sistema operativo specifica:
Nella console Google Cloud , vai alla pagina Crea un'istanza.
Inserisci il Nome dell'istanza VM.
Seleziona la zona in cui creare la VM.
Nella sezione Disco di avvio, fai clic su Cambia.
Nel riquadro Disco di avvio, nella scheda Immagini personalizzate, completa quanto segue:
- Scegli il progetto di origine che contiene l'immagine del sistema operativo che hai creato in precedenza.
- Seleziona l'immagine dal menu a discesa Immagine.
- Fai clic su Seleziona.
Per impostare gVNIC come interfaccia di rete, espandi la sezione Opzioni avanzate e poi segui questi passaggi:
- Espandi la sezione Networking.
- In Scheda di interfaccia di rete, seleziona
gVNIC
.
Apporta ulteriori personalizzazioni della VM in base alle necessità.
Fai clic su Crea per creare l'istanza VM.
Crea la VM utilizzando il comando
gcloud compute instances create
. Per il disco di avvio, specifica l'immagine del sistema operativo personalizzata che hai creato in precedenza. Per l'interfaccia di rete, imposta il valore del flagnic-type
suGVNIC
.gcloud compute instances create VM_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image=IMAGE_NAME \ --image-project=YOUR_IMAGE_PROJECT \ --network-interface=nic-type=GVNIC
Sostituisci quanto segue:
VM_NAME
: il nome della nuova VM.ZONE
: la zona in cui creare la VM.MACHINE_TYPE
: il tipo di macchina da utilizzare per la creazione dell'istanza VM. Se non specifichi un tipo di macchina, il valore predefinito èn1-standard-1
.IMAGE_NAME
: l'immagine del sistema operativo creata nel passaggio precedente.YOUR_IMAGE_PROJECT
: il nome del progetto che contiene l'immagine del sistema operativo
(Facoltativo) Verifica che Compute Engine abbia creato la VM e che
nicType
sia impostato suGVNIC
.gcloud compute instances describe VM_NAME \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome della VM.ZONE
: la zona in cui hai creato la VM.
Esempio
Per creare una VM Rocky Linux 8 con un tipo di macchina
n1-standard-1
nella zonaus-west1-b
utilizzando un'immagine del sistema operativo denominatamy-gvnic-rocky8
che si trova nel progettomy-project-12345
, esegui questo comando:gcloud compute instances create my-rocky-linux-vm \ --zone=us-west1-b \ --image=my-gvnic-rocky8 \ --image-project=my-project-12345 \ --network-interface=nic-type=GVNIC
Aspetti da considerare
Il flag
--network-interface
ha flag di livello secondario come i seguenti elementi:--address
: Assegna un indirizzo IP alla VM--network
: La rete di cui farà parte l'interfaccia--network-tier
: il livello di rete dell'interfaccia--subnet
: la subnet di cui farà parte l'interfaccia. Se è specificato anche--network
, la subnet deve far parte della rete specificata.--private-network-ip
: specifica l'IP RFC 1918 da assegnare alla VM.
Per un elenco completo, consulta il flag
--network-interface
.- Per il disco di avvio, specifica l'immagine del sistema operativo personalizzata che hai creato in precedenza.
- Per l'interfaccia di rete, imposta il valore del campo
nicType
suGVNIC
. PROJECT_ID
: l'ID del progetto in cui creare la VM.ZONE
: la zona in cui creare la VM.VM_NAME
: il nome della nuova VM.NETWORK
: l'URL della risorsa di rete per questa VM. Se non vengono specificati né la rete né la subnet, viene utilizzata la rete predefinitaglobal/networks/default
.SUBNET_NAME
: il nome della subnet. La rete viene dedotta dalla subnet specificata. Questo è un campo facoltativo.YOUR_IMAGE_PROJECT
: il nome del progetto che contiene l'immagine del sistema operativoIMAGE_NAME
: l'immagine del sistema operativo creata nel passaggio precedente.- Sulla tua istanza VM Windows, apri Gestione dispositivi.
- In Adattatori di rete, dovresti vedere:
"Google Ethernet Adapter"
- Connettiti all'istanza.
- Aggiungi dischi permanenti alla nuova istanza.
- Configura le prestazioni di rete Tier_1 per VM.
- Modifica l'impostazione MTU di una rete VPC.
- Scopri di più sui jumbo frame.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Prezzi
Per visualizzare i prezzi più recenti per la rete Tier_1, consulta la pagina dei prezzi delle istanze VM.
Per un elenco di altri metodi che possono essere utilizzati per trovare informazioni sui prezzi, consulta la pagina Prezzi di Compute Engine.
Supporto del sistema operativo
Su Compute Engine, puoi scegliere di utilizzare gVNIC su qualsiasi immagine di sistema operativo (OS) pubblico supportata. Puoi installare manualmente il driver gVNIC nei seguenti casi:
Per i sistemi operativi supportati, consulta la scheda Interfacce per un sistema operativo. Controlla anche la scheda Funzionalità di networking per il supporto delle funzionalità di networking.
Utilizzo su sistemi operativi non supportati
Per le immagini del sistema operativo che supportano gVNIC ma non includono l'ultima versione del driver gVNIC, puoi scaricare l'ultima versione del driver da GitHub.
Puoi configurare e installare manualmente l'ultima versione del driver gVNIC sulle VM Linux o Windows.
Dopo aver aggiornato il sistema operativo nella VM per utilizzare gVNIC, crea un'immagine sistema operativo personalizzata basata su quell'immagine. Puoi quindi utilizzare l'immagine del sistema operativo personalizzato per creare VM aggiuntive che utilizzano gVNIC su quel sistema operativo. Per saperne di più sulla creazione di VM utilizzando un'immagine del sistema operativo personalizzata, consulta Crea un'immagine del sistema operativo personalizzata che supporti gVNIC in questa pagina.
Utilizza le seguenti procedure per configurare e installare manualmente l'ultima versione del driver gVNIC.
Esegui l'aggiornamento al driver gVNIC più recente per Windows
Una versione aggiornata del driver gVNIC per Windows offre prestazioni di rete migliorate. Se installato su un'istanza di calcolo che utilizza una serie di macchine supportata di terza generazione o successiva, il driver offre i seguenti miglioramenti:
Per utilizzare la versione aggiornata del driver gVNIC, in una finestra di PowerShell esegui il comando
googet
per aggiornare il driver gVNIC. Il comando elenca tutti gli aggiornamenti disponibili. Inserisciy
quando richiesto per il driver gVNIC.googet update
Dopo aver installato e configurato Windows per utilizzare la versione aggiornata del driver gVNIC, puoi configurare i frame Jumbo per ottenere una velocità effettiva ottimale. Per maggiori informazioni, consulta Unità massima di trasmissione.
Panoramica dell'utilizzo di gVNIC con le VM di Compute Engine
Per creare una VM che utilizza gVNIC, completa i seguenti passaggi:
Se riscontri problemi, consulta Risoluzione dei problemi relativi alla NIC virtuale di Google.
Crea un'immagine del sistema operativo personalizzata che supporti gVNIC
Puoi creare l'immagine del sistema operativo utilizzando Google Cloud CLI o REST. Per informazioni dettagliate e best practice per la creazione di immagini del sistema operativo personalizzate, vedi Creare immagini del sistema operativo personalizzate.
gcloud
REST
Crea una VM con il supporto di gVNIC
Puoi creare una VM utilizzando una delle immagini del sistema operativo pubbliche supportate o un'immagine del sistema operativo personalizzata creata seguendo i passaggi descritti in Crea un'immagine del sistema operativo personalizzata che supporti gVNIC.
Se vuoi, puoi abilitare DPDK sulla VM per un'elaborazione più rapida dei pacchetti di rete, una latenza ridotta e prestazioni coerenti.
Per le VM che supportano più interfacce di rete (NIC), puoi collegare NIC di tipi diversi alla VM perché il supporto dell'interfaccia è configurato per NIC. Sebbene sia supportata, non consigliamo questa configurazione. Per le VM che supportano più NIC, assicurati di specificare
nic-type=GVNIC
per ogni interfaccia di rete durante la creazione della VM.Crea una VM utilizzando un'immagine del sistema operativo pubblica
Per creare una VM utilizzando un'immagine del sistema operativo pubblica che supporta gVNIC, segui le istruzioni riportate in Creazione di VM e container con configurazione a larghezza di banda elevata.
Crea una VM utilizzando un'immagine del sistema operativo personalizzata
Se non utilizzi un'immagine sistema operativo pubblica che supporta gVNIC, devi prima creare un'immagine sistema operativo personalizzata che supporti gVNIC. Quindi, utilizza l'immagine del sistema operativo personalizzata per creare una VM utilizzando la Google Cloud console, Google Cloud CLI o REST.
Console
gcloud
REST
Crea la VM utilizzando il metodo
instances.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name":"VM_NAME", "networkInterfaces":[ { "network":"NETWORK", "nicType":"GVNIC", "subnet":"SUBNET_NAME" } ], "disks":[ { "initializeParams":{ "sourceImage":"projects/YOUR_IMAGE_PROJECT/global/images/IMAGE_NAME" }, "boot":true } ] }
Sostituisci quanto segue:
Verifica che gVNIC sia abilitato
Linux
Puoi utilizzare lo strumento
lshw
per estrarre informazioni dettagliate sulla configurazione hardware della macchina virtuale.Per installare lo strumento
lshw
sull'istanza VM Linux, apri una connessione SSH alla VM ed esegui questo comando:sudo apt-get install lshw -y
Per determinare se la VM utilizza l'interfaccia di rete gVNIC, esegui il seguente comando:
sudo lshw -class network
L'output è simile al seguente:
*-network description: Ethernet interface product: Compute Engine Virtual Ethernet [gVNIC] vendor: Google, Inc. physical id: 3 bus info: pci@0000:00:03.0 logical name: ens3 version: 00 serial: 42:01:0a:80:00:6f width: 32 bits clock: 33MHz capabilities: msix bus_master cap_list ethernet physical configuration: autonegotiation=off broadcast=yes driver=gve driverversion=1.0.0 duplex=full ip=10.128.0.111 latency=0 link=yes multicast=yes port=twisted pair resources: irq:11 memory:c0203000-c0203fff memory:c0200000-c02000ff memory:c0100000-c01fffff
Windows
Risoluzione dei problemi
Per risolvere i problemi relativi a gVNIC, vedi Risoluzione dei problemi relativi a Google Virtual NIC.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-10 UTC.
-