Google Virtual NIC (gVNIC) é uma interface de rede virtual projetada especificamente para o Compute Engine. gVNIC é uma alternativa ao driver Ethernet baseado em virtIO .
Como interface de rede de próxima geração que sucede ao VirtIO, o gVNIC substitui o VirtIO-Net como a única interface de rede compatível no Compute Engine para todos os novos tipos de máquinas (geração 3 e posteriores). As séries de máquinas e os recursos de rede mais recentes exigem gVNIC em vez de VirtIO. Consumir gVNIC como interface de E/S moderna com VMs do Compute Engine oferece as seguintes vantagens:
- Oferece melhor desempenho.
- Melhora a consistência reduzindo problemas de vizinhos barulhentos.
- Introduz novos recursos de rede além do que o VirtIO é capaz.
O gVNIC é compatível e recomendado em todas as famílias, tipos de máquinas e gerações.
O gVNIC é necessário para atingir as seguintes taxas máximas de largura de banda:
- Largura de banda de 50 a 200 Gbps com VMs que suportam desempenho de rede por VM Tier_1
- Largura de banda de 50 a 1.800 Gbps com VMs que possuem GPUs anexadas
Você deve usar gVNIC como interface de rede para instâncias de VM confidenciais , VMs de série de máquinas de terceira geração ou posteriores e VMs executadas na plataforma Arm CPU .
Antes de começar
- Se você usar gVNIC com VMs do Windows Server 2022 ou Windows 11, atualize o driver gVNIC para o pacote GooGet versão
1.0.0@45
ou posterior para melhorar o rendimento da rede. Para obter mais informações, consulte problemas conhecidos . - Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
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.
- A imagem do sistema operacional não inclui o driver gVNIC
- A imagem do sistema operacional não tem a versão mais recente do driver gVNIC
- Para VMs Linux, consulte Driver do kernel Linux Compute Engine Virtual Ethernet .
- Para VMs em execução no FreeBSD, consulte Driver FreeBSD de Ethernet Virtual do Compute Engine .
- Para VMs do Windows, consulte Driver do Windows para Ethernet virtual do Compute Engine .
- Até 200 Gbps de largura de banda de rede quando instalado em uma instância do Windows configurada para usar rede Tier_1 e gVNIC.
- Suporte para quadros Jumbo, exceto no N4.
- Escolha uma imagem de sistema operacional pública compatível com gVNIC ou crie uma imagem de sistema operacional personalizada marcada para usar gVNIC.
- Crie uma VM usando a imagem de sistema operacional pública ou personalizada. Durante a criação da VM, configure a interface de rede para usar gVNIC.
- Verifique se o gVNIC está habilitado.
Selecione uma imagem de sistema operacional ou família de imagens compatível com gVNIC. Para obter mais informações, consulte Detalhes do sistema operacional .
Usando a imagem do sistema operacional ou a família de imagens selecionada na etapa anterior, crie uma imagem do sistema operacional personalizada e marque essa imagem do sistema operacional com
GVNIC
. Para criar a imagem personalizada do sistema operacional, use o comandogcloud compute images create
. Por exemplo, o comando a seguir cria uma imagem de sistema operacional personalizada compatível com gVNIC e baseada em uma imagem de sistema operacional específica.gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ --source-image-project=SOURCE_IMAGE_PROJECT \ --guest-os-features=GVNIC
Substitua o seguinte:
-
IMAGE_NAME
: o nome da imagem que você deseja criar SOURCE_IMAGE
: uma imagem de sistema operacional específica que suporta gVNIC — por exemplo:rocky-linux-8-optimized-gcp-v20220719
Se você quiser usar a imagem do sistema operacional mais recente em uma família de imagens , substitua o sinalizador
--source-image
pelo sinalizador--source-image-family
e defina seu valor como uma família de imagens compatível com gVNIC. Por exemplo:--source-image-family=rocky-linux-8-optimized-gcp
.SOURCE_IMAGE_PROJECT
: o nome do projeto que contém a imagem do sistema operacional de origem ou família de imagens
Exemplo
Para criar um Rocky Linux 8 otimizado para Google Cloud Imagem do SO usando a imagem mais recente do SO da família de imagens
rocky-linux-8-optimized-gcp
do Compute Engine, execute o seguinte comando:gcloud compute images create IMAGE_NAME \ --source-image-family=rocky-linux-8-optimized-gcp \ --source-image-project=rocky-linux-cloud \ --guest-os-features=GVNIC
Para obter mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens .
-
Selecione uma imagem de sistema operacional ou família de imagens que suporte gVNIC. Para obter mais informações, consulte Detalhes do sistema operacional .
Usando a imagem do sistema operacional ou a família de imagens selecionada na etapa anterior, crie uma imagem do sistema operacional e marque essa imagem do sistema operacional com
GVNIC
. Para criar a imagem do sistema operacional, use o métodoimages.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name":"IMAGE_NAME", "sourceImage":"SOURCE_IMAGE_URI", "guestOsFeatures":[ { "type":"GVNIC" } ] }
Substitua o seguinte:
-
PROJECT_ID
: o ID do projeto no qual será criada a nova imagem -
IMAGE_NAME
: um nome para a imagem personalizada SOURCE_IMAGE_URI
: o URI da imagem do sistema operacional ou da família de imagens específica que você deseja usarPor exemplo:
- Imagem específica do sistema operacional:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
- Família de imagens:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
Quando você especifica uma família de imagens, o Compute Engine cria uma VM a partir da imagem de sistema operacional mais recente e não obsoleta dessa família. Para obter mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens .
- Imagem específica do sistema operacional:
-
No console do Google Cloud, acesse a página Criar uma instância .
Insira o nome da sua instância de VM.
Selecione a zona para criar sua VM.
Na seção Disco de inicialização , clique em Alterar .
No painel Disco de inicialização , na guia Imagens personalizadas , faça o seguinte:
- Escolha o projeto de origem que contém a imagem do sistema operacional criada anteriormente.
- Selecione a imagem no menu suspenso Imagem .
- Clique em Selecionar .
Para definir gVNIC como interface de rede, expanda a seção Opções avançadas e faça o seguinte:
- Expanda a seção Rede .
- Para placa de interface de rede , selecione
gVNIC
.
Faça personalizações adicionais de VM conforme necessário.
Clique em Criar para criar a instância de VM.
Crie a VM usando o comando
gcloud compute instances create
. Para o disco de inicialização, especifique a imagem personalizada do sistema operacional criada anteriormente. Para a interface de rede, configure o valor do sinalizadornic-type
comoGVNIC
.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
Substitua o seguinte:
-
VM_NAME
: o nome da nova VM. -
ZONE
: a zona na qual criar a VM. -
MACHINE_TYPE
: o tipo de máquina a ser usado ao criar a instância de VM. Se você não especificar um tipo de máquina, o padrão serán1-standard-1
. -
IMAGE_NAME
: a imagem do sistema operacional criada na etapa anterior. -
YOUR_IMAGE_PROJECT
: o nome do seu projeto que contém a imagem do sistema operacional.
-
Opcional: verifique se o Compute Engine criou a VM e se o
nicType
está definido comoGVNIC
.gcloud compute instances describe VM_NAME \ --zone=ZONE
Substitua o seguinte:
-
VM_NAME
: o nome da VM. -
ZONE
: a zona em que você criou a VM.
Exemplo
Para criar uma VM Rocky Linux 8 com um tipo de máquina
n1-standard-1
na zonaus-west1-b
usando uma imagem do sistema operacional chamadamy-gvnic-rocky8
que está no projetomy-project-12345
, execute o seguinte 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
Coisas a considerar
O sinalizador
--network-interface
possui sinalizadores de subnível, como os seguintes:-
--address
: atribui um endereço IP à VM -
--network
: A rede da qual a interface fará parte -
--network-tier
: A camada de rede da interface -
--subnet
: A sub-rede da qual a interface fará parte. Se--network
também for especificado, a sub-rede deverá fazer parte da rede especificada. -
--private-network-ip
: Especifique o IP RFC 1918 para atribuir à VM.
Para obter uma lista completa, consulte o sinalizador
--network-interface
.-
- Para o disco de inicialização, especifique a imagem de sistema operacional personalizada que você criou anteriormente.
- Para a interface de rede, configure o valor do campo
nicType
comoGVNIC
. -
PROJECT_ID
: o ID do projeto no qual criar a VM. -
ZONE
: a zona na qual criar a VM. -
VM_NAME
: o nome da nova VM. -
NETWORK
: o URL do recurso de rede para esta VM. Se nem a rede nem a sub-rede forem especificadas, a rede padrãoglobal/networks/default
será usada. -
SUBNET_NAME
: nome da sub-rede. A rede é inferida da sub-rede especificada. Este é um campo opcional. -
YOUR_IMAGE_PROJECT
: o nome do seu projeto que contém a imagem do sistema operacional. -
IMAGE_NAME
: a imagem do sistema operacional criada na etapa anterior. - Na sua instância de VM do Windows, abra o Gerenciador de dispositivos.
- Em Adaptadores de rede, você deverá ver:
"Google Ethernet Adapter"
- Conecte-se à sua instância .
- Adicione discos permanentes à sua nova instância.
- Configurar o desempenho de rede por VM Tier_1 .
- Altere a configuração de MTU de uma rede VPC .
- Saiba mais sobre quadros jumbo .
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para 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.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Preços
Para ver os preços mais recentes da rede Tier_1, consulte a página de preços de instâncias de VM .
Para ver uma lista de métodos adicionais que podem ser usados para encontrar informações de preços, consulte Preços do Compute Engine .
Suporte ao sistema operacional
No Compute Engine, você pode optar por usar o gVNIC em qualquer imagem de sistema operacional (SO) público compatível. Você pode instalar manualmente o driver gVNIC nestes casos:
Para os sistemas operacionais suportados, consulte a guia Interfaces de um sistema operacional . Verifique também a guia Recursos de rede para obter suporte a recursos de rede.
Use em sistemas operacionais não suportados
Para imagens de sistema operacional que suportam gVNIC, mas não incluem a versão mais recente do driver gVNIC, você pode baixar a versão mais recente do driver no GitHub.
Você pode configurar e instalar manualmente a versão mais recente do driver gVNIC em VMs Linux ou Windows.
Depois de atualizar o sistema operacional em sua VM para usar gVNIC, crie uma imagem de SO personalizada com base nessa imagem de SO. Você pode então usar a imagem do sistema operacional personalizada para criar VMs adicionais que usam gVNIC nesse sistema operacional. Para obter mais informações sobre como criar VMs usando uma imagem de sistema operacional personalizada, consulte Criar uma imagem de sistema operacional personalizada compatível com gVNIC nesta página.
Use os procedimentos a seguir para configurar e instalar manualmente a versão mais recente do driver gVNIC.
Atualize para o driver gVNIC mais recente para Windows
Uma versão atualizada do driver gVNIC para Windows oferece desempenho de rede aprimorado. Quando instalado em uma instância de computação que usa uma série de máquinas suportadas de terceira geração ou posterior, o driver fornece as seguintes melhorias:
Para usar a versão atualizada do driver gVNIC, em uma janela do Powershell, execute o comando
googet
para atualizar o driver gVNIC. O comando lista todas as atualizações disponíveis. Digitey
quando solicitado pelo driver gVNIC.googet update
Depois de instalar e configurar o Windows para usar a versão atualizada do driver gVNIC, você poderá configurar quadros Jumbo para obter a taxa de transferência ideal. Para mais informações, veja Unidade máxima de transmissão .
Visão geral do uso do gVNIC com VMs do Compute Engine
Para criar uma VM que use gVNIC, conclua as seguintes etapas:
Se você encontrar algum problema, consulte Solução de problemas do Google Virtual NIC .
Crie uma imagem de sistema operacional personalizada compatível com gVNIC
Você pode criar a imagem do sistema operacional usando a Google Cloud CLI ou REST . Para obter informações detalhadas e práticas recomendadas para criar imagens de sistema operacional personalizadas, consulte Criar imagens de sistema operacional personalizadas .
gcloud
DESCANSAR
Crie uma VM com suporte gVNIC
Você pode criar uma VM usando uma das imagens de sistema operacional públicas suportadas ou usando uma imagem de sistema operacional personalizada criada usando as etapas em Criar uma imagem de sistema operacional personalizada compatível com gVNIC .
Opcionalmente, você pode habilitar o DPDK na VM para processamento mais rápido de pacotes de rede, baixa latência e desempenho consistente.
Para VMs que suportam diversas interfaces de rede (NICs), você pode ter NICs de tipos diferentes anexados à VM porque o suporte de interface é configurado por NIC. Embora isso seja compatível, não recomendamos essa configuração. Para VMs que suportam vários NICs, certifique-se de especificar
nic-type=GVNIC
para cada interface de rede ao criar a VM.Crie uma VM usando uma imagem de sistema operacional público
Para criar uma VM usando uma imagem de sistema operacional público compatível com gVNIC, siga as instruções em Criando VMs e contêineres com configuração de alta largura de banda .
Crie uma VM usando uma imagem de sistema operacional personalizada
Se você não estiver usando uma imagem de sistema operacional pública compatível com gVNIC, primeiro crie uma imagem de sistema operacional personalizada compatível com gVNIC . Em seguida, você usa essa imagem de sistema operacional personalizada para criar uma VM usando o console do Google Cloud , a CLI do Google Cloud ou o REST .
Console
gcloud
DESCANSAR
Crie a VM usando o método
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 } ] }
Substitua o seguinte:
Verifique se o gVNIC está habilitado
Linux
Você pode usar a ferramenta
lshw
para extrair informações detalhadas sobre a configuração de hardware da máquina virtual.Para instalar a ferramenta
lshw
em sua instância de VM Linux, abra uma conexão SSH com a VM e execute o seguinte comando:sudo apt-get install lshw -y
Para determinar se a VM está usando a interface de rede gVNIC, execute o seguinte comando:
sudo lshw -class network
A saída é semelhante à seguinte:
*-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
Solução de problemas
Para solucionar problemas do gVNIC, consulte Solução de problemas do Google Virtual NIC .
O que vem a seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-17 UTC.
-