La carte d'interface réseau virtuelle Google (gVNIC) est une interface de réseau virtuel spécialement conçue pour Compute Engine. gVNIC est une alternative au pilote Ethernet basé sur virtIO.
En tant qu'interface réseau de nouvelle génération qui prend la suite de VirtIO, gVNIC remplace VirtIO-Net comme seule interface réseau compatible avec Compute Engine pour tous les nouveaux types de machines (génération 3 et générations ultérieures). Les nouvelles séries de machines et fonctionnalités réseau doivent utiliser gVNIC au lieu de VirtIO. L'utilisation de gVNIC en tant qu'interface d'E/S moderne avec les VM Compute Engine offre les avantages suivants:
- Offre de meilleures performances.
- Améliore la cohérence en réduisant les problèmes de voisinage bruyant.
- Introduit de nouvelles fonctionnalités réseau, plus puissantes que celles que de VirtIO.
gVNIC est compatible et recommandé avec toutes les familles de machines, tous les types de machines et toutes les générations.
gVNIC est requis pour atteindre les débits de bande passante maximaux suivants:
- une bande passante de 50 à 200 Gbit/s avec des VM compatibles avec les performances réseau Tier_1 par VM ;
- 50 à 1 800 Gbit/s avec des VM associées à des GPU.
Vous devez utiliser gVNIC comme interface réseau pour les instances Confidential VM, les VM appartenant à la série de machines de troisième génération ou ultérieure et les VM s'exécutant sur la plate-forme de processeur Arm.
Avant de commencer
- Si vous utilisez gVNIC avec des VM Windows Server 2022 ou Windows 11, mettez à jour le pilote gVNIC vers le package GooGet version
1.0.0@45
ou ultérieure pour améliorer le débit réseau. Pour en savoir plus, consultez la section Problèmes connus. -
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Tarifs
Pour connaître les derniers tarifs de la mise en réseau Tier_1, reportez-vous à la page Tarifs des instances de VM.
Pour obtenir la liste des méthodes supplémentaires permettant de trouver des informations sur les tarifs, consultez la section Tarifs de Compute Engine.
Systèmes d'exploitation compatibles
Sur Compute Engine, vous pouvez choisir d'utiliser gVNIC sur toutes les images de système d'exploitation (OS) publiques compatibles. Vous pouvez installer manuellement le pilote gVNIC dans les cas suivants:
- L'image de l'OS n'inclut pas le pilote gVNIC
- L'image de l'OS ne dispose pas de la dernière version du pilote gVNIC
Pour connaître les systèmes d'exploitation compatibles, consultez l'onglet Interfaces du système d'exploitation souhaité. Consultez également l'onglet Fonctionnalités de mise en réseau pour connaître la compatibilité des fonctionnalités de mise en réseau.
Utiliser sur des systèmes d'exploitation non compatibles
Pour les images d'OS compatibles avec gVNIC, mais qui n'incluent pas la dernière version du pilote gVNIC, vous pouvez télécharger la dernière version du pilote à partir de GitHub.
Vous pouvez configurer et installer manuellement la dernière version du pilote gVNIC sur les VM Linux ou Windows.
Après avoir mis à jour le système d'exploitation sur votre VM pour utiliser gVNIC, créez une image d'OS personnalisée basée sur cette image d'OS. Vous pouvez ensuite utiliser l'image d'OS personnalisée pour créer des VM supplémentaires utilisant gVNIC sur ce système d'exploitation. Pour en savoir plus sur la création de VM à l'aide d'une image d'OS personnalisée, consultez la section Créer une image d'OS personnalisée compatible avec gVNIC sur cette page.
Procédez comme suit pour configurer et installer manuellement la dernière version du pilote gVNIC.
- Pour les VM Linux, consultez la page Pilote pour noyau Linux pour Ethernet virtuel Compute Engine.
- Pour les VM s'exécutant sur FreeBSD, consultez la page Pilote Compute Engine Virtual Ethernet FreeBSD.
- Pour les VM Windows, reportez-vous à la section Pilote Windows pour Ethernet virtuel Compute Engine.
Limites
- Le déchargement de réception volumineux n'est pas disponible. Le déchargement de réception générique est activé par défaut pour les VM utilisant gVNIC.
- La version 2 du déchargement d'envoi volumineux (LSOV2) n'est pas compatible avec les VM Windows 11 ou Windows Server 2022. Les pilotes gVNIC
version
1.0.0@45
et ultérieure désactivent LSOV2. Pour savoir comment vérifier et mettre à jour le pilote gVNIC de votre VM sous Microsoft Windows, consultez la section Problèmes connus.
Présentation de l'utilisation de gVNIC avec des VM Compute Engine
Pour créer une VM qui utilise gVNIC, procédez comme suit :
- Choisissez une image d'OS publique compatible avec gVNIC ou créez une image d'OS personnalisée avec un tag permettant d'utiliser gVNIC.
- Créez une VM à l'aide de l'image d'OS publique ou personnalisée. Lors de la création de la VM, configurez l'interface réseau de sorte qu'elle utilise gVNIC.
- Vérifiez que gVNIC est activé.
Si vous rencontrez des problèmes, consultez la section Dépannage de la carte d'interface réseau virtuelle Google.
Créer une image d'OS personnalisée compatible avec gVNIC
Vous pouvez créer l'image d'OS à l'aide de la Google Cloud CLI ou de REST. Pour obtenir des informations détaillées et des bonnes pratiques sur la création d'images d'OS personnalisées, consultez la page Créer des images d'OS personnalisées.
gcloud
Sélectionnez une image ou une famille d'images d'OS compatibles avec gVNIC. Pour en savoir plus, consultez la page Détails des systèmes d'exploitation.
À l'aide de l'image ou de la famille d'images d'OS sélectionnée à l'étape précédente, créez une image d'OS personnalisée et associez-lui le tag
GVNIC
. Pour créer l'image d'OS personnalisée, exécutez la commandegcloud compute images create
. Par exemple, la commande suivante crée une image d'OS personnalisée compatible avec gVNIC et basée sur une image d'OS spécifique.gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ --source-image-project=SOURCE_IMAGE_PROJECT \ --guest-os-features=GVNIC
Remplacez les éléments suivants :
IMAGE_NAME
: nom de l'image que vous souhaitez créer.SOURCE_IMAGE
: image d'OS spécifique compatible avec gVNIC, par exemplerocky-linux-8-optimized-gcp-v20220719
.Si vous souhaitez utiliser l'image d'OS la plus récente dans une famille d'images, remplacez l'option
--source-image
par l'option--source-image-family
et définissez sa valeur sur une famille d'images compatible avec gVNIC. Par exemple,--source-image-family=rocky-linux-8-optimized-gcp
.SOURCE_IMAGE_PROJECT
: nom du projet contenant l'image ou la famille d'images d'OS source.
Exemple
Pour créer une image d'OS Rocky Linux 8 pour Google Cloud à l'aide de la dernière image d'OS de la famille d'images
rocky-linux-8-optimized-gcp
Compute Engine, exécutez la commande suivante :gcloud compute images create IMAGE_NAME \ --source-image-family=rocky-linux-8-optimized-gcp \ --source-image-project=rocky-linux-cloud \ --guest-os-features=GVNIC
Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
REST
Sélectionnez une image ou une famille d'images d'OS compatible avec gVNIC. Pour en savoir plus, consultez la section Détails du système d'exploitation.
À l'aide de l'image ou de la famille d'images d'OS sélectionnée à l'étape précédente, créez une image d'OS et associez-lui le tag
GVNIC
. Pour créer l'image d'OS, utilisez la méthodeimages.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name":"IMAGE_NAME", "sourceImage":"SOURCE_IMAGE_URI", "guestOsFeatures":[ { "type":"GVNIC" } ] }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel créer l'image.IMAGE_NAME
: nom de l'image personnalisée.SOURCE_IMAGE_URI
: URI de l'image ou de la famille d'images d'OS spécifique que vous souhaitez utiliser.Exemple :
- Image d'OS spécifique :
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
- Famille d'images :
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
Lorsque vous spécifiez une famille d'images, Compute Engine crée une VM à partir de l'image de l'OS non obsolète la plus récente dans cette famille. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
- Image d'OS spécifique :
Créer une VM compatible avec gVNIC
Vous pouvez créer une VM à l'aide de l'une des images d'OS publiques compatibles ou d'une image d'OS personnalisée créée à l'aide de la procédure décrite dans la section Créer une image personnalisée compatible avec gVNIC.
Vous pouvez également activer DPDK sur la VM pour un traitement plus rapide des paquets sur le réseau, une faible latence et des performances constantes.
Pour les VM compatibles avec plusieurs interfaces réseau, vous pouvez associer à la VM des cartes d'interface réseau de différents types, car la compatibilité avec les interfaces est configurée par carte d'interface réseau. Bien que cette configuration soit compatible, nous vous déconseillons d'utiliser cette configuration. Pour les VM compatibles avec plusieurs cartes d'interface réseau, veillez à spécifier nic-type=GVNIC
pour chaque interface réseau lors de la création de la VM.
Créer une VM à l'aide d'une image d'OS publique
Pour créer une VM à l'aide d'une image d'OS publique compatible avec gVNIC, suivez les instructions de la section Créer des VM et des conteneurs avec une configuration de bande passante élevée.
Créer une VM à l'aide d'une image d'OS personnalisée
Si vous n'utilisez pas d'image d'OS publique compatible avec gVNIC, vous devez d'abord créer une image d'OS personnalisée compatible avec gVNIC. Vous pouvez ensuite utiliser cette image d'OS personnalisée pour créer une VM à l'aide de la console Google Cloud, de Google Cloud CLI ou de REST.
Console
Accédez à la page Créer une instance dans Google Cloud Console.
Cliquez sur le Nom de votre instance de VM.
Sélectionnez la Zone dans laquelle créer votre VM.
Dans la section Disque de démarrage, cliquez sur Modifier.
Dans le panneau Disque de démarrage, accédez à l'onglet Images personnalisées, puis procédez comme suit:
- Choisissez le Projet source contenant l'image de l'OS que vous avez créée précédemment.
- Sélectionnez l'image dans la liste déroulante Image.
- Cliquez sur Sélectionner.
Pour définir gVNIC en tant qu'interface réseau, développez la section Options avancées, puis procédez comme suit:
- Développez la section Mise en réseau.
- Pour Carte d'interface réseau, sélectionnez
gVNIC
.
Effectuez des personnalisations supplémentaires de la VM si nécessaire.
Cliquez sur Créer pour créer l'instance de VM.
gcloud
Créez la VM à l'aide de la commande
gcloud compute instances create
. Pour le disque de démarrage, spécifiez l'image d'OS personnalisée que vous avez créée précédemment. Pour l'interface réseau, définissez la valeur de l'optionnic-type
surGVNIC
.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
Remplacez les éléments suivants :
VM_NAME
: nom de la nouvelle VM.ZONE
: zone dans laquelle créer la VM.MACHINE_TYPE
: type de machine à utiliser lors de la création de l'instance de VM. Si vous ne spécifiez pas de type de machine, la valeur par défaut estn1-standard-1
.IMAGE_NAME
: image d'OS créée à l'étape précédente.YOUR_IMAGE_PROJECT
: nom du projet contenant l'image d'OS.
Facultatif : Vérifiez que Compute Engine a créé la VM et que la valeur de
nicType
est définie surGVNIC
.gcloud compute instances describe VM_NAME \ --zone=ZONE
Remplacez les éléments suivants :
VM_NAME
: Nom de la VM.ZONE
: zone dans laquelle vous avez créé la VM.
Exemple
Pour créer une VM Rocky Linux 8 avec un type de machine
n1-standard-1
dans la zoneus-west1-b
à l'aide d'une image d'OS nomméemy-gvnic-rocky8
qui se trouve dans le projetmy-project-12345
, exécutez la commande suivante: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
Éléments à prendre en compte
L'option
--network-interface
comporte des sous-options tels que :--address
: attribue une adresse IP à la VM--network
: réseau auquel l'interface sera associée--network-tier
: niveau de réseau de l'interface--subnet
: sous-réseau auquel l'interface sera associée Si--network
est également spécifié, le sous-réseau doit faire partie du réseau spécifié.--private-network-ip
: spécifie l'adresse IP RFC 1918 à attribuer à la VM.
Pour obtenir la liste complète, consultez l'option
--network-interface
.
REST
Créez la VM à l'aide de la méthode instances.insert
.
- Pour le disque de démarrage, spécifiez l'image d'OS personnalisée que vous avez créée précédemment.
- Pour l'interface réseau, définissez la valeur du champ
nicType
surGVNIC
.
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 } ] }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel créer la VM.ZONE
: zone dans laquelle créer la VM.VM_NAME
: nom de la nouvelle VM.NETWORK
: URL de la ressource réseau pour cette VM. Si ni le réseau, ni le sous-réseau ne sont spécifiés, le réseauglobal/networks/default
par défaut est utilisé.SUBNET_NAME
: nom du sous-réseau. Le réseau est déduit du sous-réseau spécifié. Ce champ est facultatif.YOUR_IMAGE_PROJECT
: nom du projet contenant l'image d'OS.IMAGE_NAME
: image d'OS créée à l'étape précédente.
Vérifier que gVNIC est activé
Linux
Vous pouvez utiliser l'outil lshw
pour extraire des informations détaillées sur la configuration matérielle de la machine virtuelle.
Pour installer l'outil lshw
sur votre instance de VM Linux, ouvrez une connexion SSH à la VM, puis exécutez la commande suivante :
sudo apt-get install lshw -y
Pour déterminer si la VM utilise l'interface réseau gVNIC, exécutez la commande suivante :
sudo lshw -class network
Le résultat se présente comme suit :
*-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
- Dans votre instance de VM Windows, ouvrez le gestionnaire d'appareils.
- Sous "Carte réseau", vous devriez voir :
"Google Ethernet Adapter"
Dépannage
Pour résoudre les problèmes liés à la gVNIC, consultez la section Dépannage de la carte d'interface réseau virtuelle Google.
Étapes suivantes
- Connectez-vous à l'instance.
- Ajoutez des disques persistants à votre nouvelle instance.
- Configurer les performances réseau Tier_1 par VM.
- Modifiez le paramètre de MTU d'un réseau VPC.
- Découvrez les jumbo frames (trames géantes).