O Google Virtual NIC (gVNIC) é uma interface de rede virtual projetada especificamente para o Compute Engine. A gVNIC é uma alternativa ao driver Ethernet baseado em virtIO.
Como a interface de rede de última geração que tem sucesso no VirtIO, a gVNIC substitui o VirtIO-Net como a única interface de rede compatível no Compute Engine para todos os novos tipos de máquina (geração 3 adiante). Recursos de rede e séries de máquinas mais recentes exigem gVNIC em vez de VirtIO. Consumir a gVNIC como a interface moderna de E/S com VMs do Compute Engine oferece as seguintes vantagens:
- Melhora o desempenho.
- Melhora a consistência ao reduzir a sobrecarga de problemas de vizinho barulhento.
- Apresenta novos recursos de rede além do que o VirtIO é capaz.
A gVNIC é compatível e recomendada para todas as famílias, os tipos e as gerações de máquinas.
A gVNIC é necessária para atingir as seguintes taxas máximas de largura de banda:
- Largura de banda de 50 a 200 Gbps com VMs compatíveis com desempenho de rede por VM de Tier_1.
- Largura de banda de 50 a 1.800 Gbps com VMs que têm GPUs anexadas
Você precisa usar a gVNIC como a interface de rede para instâncias de VMs confidenciais, VMs com séries das máquinas de terceira geração ou posterior e VMS executadas na Plataforma de CPU ARM.
Antes de começar
- Se você usa a gVNIC com VMs do Windows Server 2022 ou do Windows 11, atualize o
driver da gVNIC para a versão do pacote GooGet
1.0.0@45
ou mais recente para melhorar a capacidade da rede. Saiba mais em Problemas conhecidos. -
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- A imagem do SO não inclui o driver da gVNIC
- A imagem do SO não tem a versão mais recente do driver da gVNIC
- Para VMs do Linux, consulte o Ethernet virtual do Compute Engine do driver do Linux.
- Para VMs em execução no FreeBSD, consulte Driver do FreeBSD de Ethernet virtual do Compute Engine.
- Para VMs do Windows, consulte o driver do Windows para a 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 a rede Tier_1 e o gVNIC.
- Suporte a frames Jumbo, exceto no N4.
- Escolha uma imagem do SO pública compatível com o gVNIC ou crie uma imagem do SO personalizada marcada para usar gVNIC.
- Crie uma VM usando a imagem do SO pública ou personalizada. Durante a criação da VM, configure a interface de rede para usar o gVNIC.
- Verifique se o gVNIC está ativado.
Selecione uma imagem do SO ou família de imagens compatível com o gVNIC. Para mais informações, consulte Detalhes do sistema operacional.
Usando a imagem do SO ou a família de imagens selecionada na etapa anterior, crie uma imagem do SO personalizada e marque-a com
GVNIC
. Para criar a imagem do SO personalizada, use o comandogcloud compute images create
. Por exemplo, o comando a seguir cria uma imagem do SO personalizada compatível com gVNIC, baseada em uma imagem específica do SO.gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ --source-image-project=SOURCE_IMAGE_PROJECT \ --guest-os-features=GVNIC
Substitua:
IMAGE_NAME
: o nome da imagem que você quer criarSOURCE_IMAGE
: uma imagem do SO específica compatível com a gVNIC, por exemplo:rocky-linux-8-optimized-gcp-v20220719
Se você quiser usar a imagem do SO mais recente em uma família de imagens, substitua a sinalização
--source-image
pela sinalização--source-image-family
e defina o valor dela como uma imagem família 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 SO de origem ou a família de imagens
Exemplo
Para criar uma imagem Rocky Linux 8 otimizada para imagem do SO do Google Cloud usando a imagem do SO mais recente 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 mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
Selecione uma imagem do SO ou família de imagens compatível com o gVNIC. Para mais informações, consulte Detalhes do sistema operacional.
Usando a imagem do SO ou a família de imagens selecionada na etapa anterior, crie uma imagem do SO e marque-a com
GVNIC
. Para criar a imagem do SO, 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:
PROJECT_ID
: ID do projeto em que a nova imagem será criadaIMAGE_NAME
: um nome para a imagem personalizadaSOURCE_IMAGE_URI
: o URI da imagem do SO ou família de imagens específica que você quer usarExemplo:
- Imagem específica do SO:
"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 do SO mais recente e não obsoleta nessa família. Para mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
- Imagem específica do SO:
No console do Google Cloud, acesse a página Criar uma instância.
Clique no Nome da instância de VM.
Selecione a Zona em que a VM será criada.
Na seção Disco de inicialização, clique em Alterar.
No painel Disco de inicialização, na guia Imagens personalizadas, faça isto:
- Escolha o Projeto de origem que contém a imagem do SO que você criou anteriormente.
- Selecione a imagem no menu suspenso Imagem.
- Clique em Selecionar.
Para definir a gVNIC como a interface de rede, expanda a seção Opções avançadas e faça isto:
- Expanda a seção Rede.
- Em Place de rede, selecione
gVNIC
.
Faça outras personalizações de VM conforme necessário.
Clique em Criar para gerar a instância de VM.
Crie a VM usando o comando
gcloud compute instances create
. Para o disco de inicialização, especifique a imagem do SO personalizada que você criou anteriormente. Para a interface de rede, defina o valor da sinalizaçãonic-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:
VM_NAME
: o nome da nova VM.ZONE
: zona em que a VM será criada.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 SO que foi criada na etapa anterior.YOUR_IMAGE_PROJECT
: o nome do projeto que contém a imagem do SO.
Opcional: verifique se o Compute Engine criou a VM e se
nicType
está definido comoGVNIC
.gcloud compute instances describe VM_NAME \ --zone=ZONE
Substitua:
VM_NAME
: o nome da VM.ZONE
: a zona em que você criou a VM.
Exemplo
Para criar uma VM do Rocky Linux 8 com um tipo de máquina
n1-standard-1
na zonaus-west1-b
usando uma imagem do SO 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
Considerações
A sinalização
--network-interface
tem sinalizações de sub-nível como as seguintes:--address
: atribua um endereço IP à VM--network
: a rede de que a interface fará parte--network-tier
: o nível de rede da interface--subnet
: a sub-rede de que a interface fará parte. Se--network
também for especificado, a sub-rede precisará fazer parte da rede especificada.--private-network-ip
: especifique o IP RFC 1918 para atribuir à VM.
Para uma lista completa, consulte a sinalização
--network-interface
.- Para o disco de inicialização, especifique a imagem do SO personalizada que você criou anteriormente.
- Para a interface de rede, defina o valor do campo
nicType
comoGVNIC
. PROJECT_ID
: ID do projeto em que a VM será criada.ZONE
: zona em que a VM será criada.VM_NAME
: o nome da nova VM.NETWORK
: o URL do recurso de rede para a VM. Se a rede e a sub-rede não forem especificadas, a rede padrãoglobal/networks/default
será usada.SUBNET_NAME
: nome da sub-rede; A rede é inferida da sub-rede especificada; Esse campo é opcional.YOUR_IMAGE_PROJECT
: o nome do projeto que contém a imagem do SO.IMAGE_NAME
: a imagem do SO que foi criada na etapa anterior.- Na instância de VM do Windows, abra o Gerenciador de dispositivos.
- Em "Adaptadores de rede", você verá:
"Google Ethernet Adapter"
- Conecte-se à instância.
- Adicione discos permanentes à nova instância.
- Configurar o desempenho de rede por VM de Tier_1.
- Mude a configuração da MTU de uma rede VPC.
- Saiba mais sobre frames gigantes.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
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 do Tier_1, consulte a página de preços de instância de VM.
Para ver uma lista com outros métodos que podem ser usados para encontrar informações de preços, consulte Preços do Compute Engine.
Suporte ao sistema operacional
No Compute Engine, é possível usar a gVNIC em qualquer imagem de sistema operacional (SO) pública compatível. É possível instalar manualmente o driver da gVNIC nestes casos:
Para ver os sistemas operacionais compatíveis, consulte a guia Interfaces de um sistema operacional. Verifique também a guia Recursos de rede para ver os recursos de rede.
Usar em sistemas operacionais não compatíveis
Para imagens do SO compatíveis com a gVNIC, mas que não incluem a versão mais recente do driver da gVNIC, faça o download da versão mais recente do driver no GitHub.
É possível configurar e instalar manualmente a versão mais recente do driver gVNIC em VMs com Linux ou Windows.
Depois de atualizar o sistema operacional na VM para usar o gVNIC, crie uma imagem do SO personalizada com base nessa imagem do SO. É possível usar a imagem do SO personalizada para criar outras VMs que usem o gVNIC nesse sistema operacional. Para mais informações sobre como criar VMs usando uma imagem do SO personalizada, consulte Criar uma imagem do SO personalizada compatível com o gVNIC nesta página.
Use os procedimentos a seguir para configurar e instalar manualmente a versão mais recente do driver da gVNIC:
Atualizar para o driver mais recente da gVNIC para Windows
Uma versão atualizada do driver da gVNIC para Windows oferece melhor desempenho de rede. Quando instalado em uma instância de computação que usa uma série de máquinas com suporte de terceira geração ou mais recente, o driver oferece as seguintes melhorias:
Para usar a versão atualizada do driver da gVNIC, execute o comando
googet
em uma janela do Powershell para atualizar o driver da gVNIC. O comando lista todas as atualizações disponíveis. Digitey
quando solicitado para o driver da gVNIC.googet update
Depois de instalar e configurar o Windows para usar a versão atualizada do driver da gVNIC, você pode configurar frames jumbo para alcançar a capacidade de processamento ideal. Saiba mais em Unidade de transmissão máxima.
Visão geral do uso do gVNIC com as VMs do Compute Engine
Para criar uma VM que use o gVNIC, conclua as seguintes etapas:
Se você encontrar algum problema, consulte Solução de problemas da NIC virtual do Google.
Criar uma imagem do SO personalizada compatível com gVNIC
É possível criar a imagem do SO usando a Google Cloud CLI ou REST. Para informações detalhadas e práticas recomendadas para criar imagens de SO personalizadas, consulte Criar imagens personalizadas de SO.
gcloud
REST
Criar uma VM compatível com gVNIC
É possível criar uma VM usando uma das imagens do SO públicas compatíveis ou uma imagem do SO personalizada que você criou seguindo as etapas em Criar uma imagem do SO personalizada compatível com gVNIC.
Você tem a opção de ativar o DPDK na VM para um processamento mais rápido de pacotes de rede, baixa latência e desempenho consistente.
Para VMs compatíveis com várias interfaces de rede (NICs), é possível ter NICs de diferentes tipos anexadas à VM, porque a compatibilidade com a interface é configurada por NIC. Embora isso seja possível, não recomendamos essa configuração. Para VMs compatíveis com várias NICs, especifique
nic-type=GVNIC
para cada interface de rede ao criar a VM.Criar uma VM usando uma imagem do SO pública
Para criar uma VM usando uma imagem do SO pública compatível com gVNIC, siga as instruções em Como criar VMs e contêineres com configuração de alta largura de banda.
Criar uma VM usando uma imagem do SO personalizada
Se você não estiver usando uma imagem do SO pública compatível com gVNIC, primeiro crie uma imagem do SO personalizada compatível com o gVNIC. Em seguida, use essa imagem do SO personalizada para criar uma VM usando o console do Google Cloud, a CLI do Google Cloud ou a REST.
Console
gcloud
REST
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:
Verifique se a gVNIC está ativada
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
na instância de VM do 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 será assim:
*-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 resolver problemas do gVNIC, consulte Solução de problemas do NIC virtual do Google.
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 2024-12-22 UTC.
-