Solucionar problemas de NIC virtual de Google


Aquí tienes algunos consejos para solucionar problemas con NIC virtual de Google (gVNIC).

Errores frecuentes

El problema que se describe a continuación se produce cuando la imagen utilizada para crear la VM no está etiquetada para usar gVNIC.

ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - Invalid value for field 'resource.networkInterfaces[0].nicType': 'GVNIC'.
NetworkInterface NicType can only be set to GVNIC on instances with
GVNIC GuestOsFeature.

Para solucionar este problema, asegúrese de que la imagen que utiliza esté etiquetada para usar gVNIC. Para obtener más información, consulta Crear una imagen personalizada.

Otros problemas

En esta sección se describen otros errores que pueden producirse al usar el controlador gVNIC con tu instancia de Compute Engine.

La instancia de VM no se ha iniciado

  • Causa: gVNIC no está habilitado en la imagen.

  • Diagnóstico: comprueba que la imagen tenga gVNIC habilitado. Si deseas comprobarlo, ejecuta el siguiente comando:

    gcloud compute images describe IMAGE_NAME

    Sustituye IMAGE_NAME por el nombre de tu imagen.

    El resultado del comando debe mostrar GVNIC en guestOsFeatures.

    También puedes comprobar si la VM se creó con el valor nic-type definido en gVNIC. Para ello, ejecuta el siguiente comando:

    gcloud compute instances describe VM_NAME

    Sustituye VM_NAME por el nombre de tu VM.

  • Resolución: asegúrate de que estás usando una imagen compatible o de que has configurado correctamente el controlador gVNIC en tu imagen personalizada.

La instancia de VM se ha iniciado, pero no se puede acceder a ella a través de la red

  • Causa: gVNIC no se ha instalado ni cargado correctamente.

  • Diagnóstico: Para comprobar si el controlador se ha instalado y cargado, sigue estos pasos:

    Linux

    1. Comprueba que el controlador esté instalado.

      modinfo gve

      La salida debería ser similar a la siguiente:

      filename:       /lib/modules/4.15.0-1036-gcp/updates/dkms/gve.ko
      version:        1.1.0
      license:        Dual MIT/GPL
      description:    gVNIC Driver
      author:         Google, XXX.
      srcversion:     5FEFB9DD945EB2DEC94EE09
      alias:          pci:v00001AE0d00000042sv*sd*bc*sc*i*
      depends:
      retpoline:      Y
      name:           gve
      vermagic:       4.15.0-1036-gcp SMP mod_unload
      
    2. Comprueba que el controlador esté cargado.

      lsmod | grep gve

      La salida debería ser similar a la siguiente:

      gve                    49152  0

    Windows

    1. Conéctate a la instancia a través de SAC.
    2. Inicia sesión con tu nombre de usuario y tu contraseña.
    3. En el símbolo del sistema, ejecuta el siguiente comando:

      dism /online /get-drivers | findstr gvnic
    4. Revisa el resultado.

      • Si el controlador está instalado, deberías ver el texto Original File Name : gvnic.inf en el resultado.
      • Si el controlador no está instalado, no se devuelve ningún mensaje.
  • Resolución: si gVNIC no está disponible, asegúrate de que usas una imagen compatible o de que has configurado gVNIC correctamente en tu imagen personalizada.

La instancia de Compute no usa el valor de MTU definido en la VPC

Después de seguir las instrucciones para cambiar el valor de MTU, la configuración de MTU de la instancia no usa el mismo valor de MTU. Por ejemplo, puedes ejecutar el comando /sbin/ifconfig | grep mtu en tu instancia para comprobar el ajuste de MTU. Has reiniciado la instancia, pero no se ha actualizado su configuración.

Causa: La versión del controlador gVNIC es demasiado antigua

Resolución:

  1. Si tu instancia usa una imagen pública, consulta la pestaña Funciones de red de tu versión del SO en la página Detalles del sistema operativo. Asegúrate de que se muestre que los Jumbo Frames son totalmente compatibles.
  2. Si la imagen pública no admite completamente los Jumbo Frames o si usas una imagen de SO personalizada, la versión instalada del controlador gVNIC es demasiado antigua y no admite los valores de MTU más altos. Sigue las instrucciones de la sección Usar en sistemas operativos no compatibles para actualizar el controlador gVNIC de tu instancia de proceso.
  3. Después de actualizar el controlador gVNIC, reinicia la instancia y vuelve a comprobar la configuración de MTU.

Bajo rendimiento de red en VMs de Windows Server 2022 y Windows 11

Es posible que experimentes un rendimiento de red deficiente al usar NIC virtual de Google (gVNIC) con máquinas virtuales de Windows Server 2022 y Windows 11 que usen el paquete GooGet del controlador gVNIC de la versión 1.0.0@44 o anterior.

Para solucionar este problema, actualiza el paquete GooGet del controlador gVNIC a la versión 1.0.0@45 o posterior. Para ello, sigue estos pasos:

  1. Para comprobar qué versión del controlador está instalada en tu VM, ejecuta el siguiente comando desde una sesión de PowerShell o del símbolo del sistema con privilegios de administrador:

    googet installed
    

    El resultado es similar al siguiente:

    Installed packages:
      ...
      google-compute-engine-driver-gvnic.x86_64 VERSION_NUMBER
      ...
    
  2. Si la versión del controlador google-compute-engine-driver-gvnic.x86_64 es 1.0.0@44 o anterior, actualiza el repositorio de paquetes GooGet ejecutando el siguiente comando desde una sesión de símbolo del sistema o de PowerShell de administrador:

    google-compute-engine-driver-gvnic.x86_64