排查 Google 虚拟 NIC 问题

以下提示有助于排查 Google 虚拟 NIC (gVNIC) 问题。

常见错误

如果用于创建虚拟机的映像未标记为使用 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.

如需解决此问题,请确保您使用的是标记为使用 gVNIC 的映像。如需了解详情,请参阅创建自定义映像

其他问题

虚拟机实例未启动

  • 原因:映像上未启用 gVNIC。

  • 诊断:检查映像是否已启用 gVNIC。要进行验证,请运行以下命令:

    gcloud compute images describe IMAGE_NAME

    IMAGE_NAME 替换为映像名称。

    命令的输出应在 guestOsFeatures 下显示 GVNIC

    您还可以检查虚拟机是否已创建,并且 nic-type 设置为 gVNIC。要执行此操作,请运行以下命令:

    gcloud compute instances describe VM_NAME

    VM_NAME 替换为虚拟机名称。

  • 解决办法:确保您使用的是受支持的映像,或者您已在自定义映像上正确设置 gVNIC 驱动程序

虚拟机实例已启动,但无法通过网络访问

  • 原因:未成功安装和加载 gVNIC。

  • 诊断:如需检查驱动程序是否已安装和加载,请完成以下步骤:

    Linux

    1. 检查驱动程序是否已安装。

      modinfo gve

      输出应类似于以下内容:

      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. 检查驱动程序是否已加载。

      lsmod | grep gve

      输出应类似于以下内容:

      gve                    49152  0

    Windows

    1. 通过 SAC 连接到实例。
    2. 使用您的用户名和密码登录。
    3. 在命令提示符下,运行以下命令:

      dism /online /get-drivers | findstr gvnic
    4. 查看结果。

      • 如果驱动程序已安装,您应该会在输出中看到文本 Original File Name : gvnic.inf
      • 如果驱动程序未安装,则不会返回任何消息。
  • 解决方法:如果 gVNIC 不可用,请确保您使用的是受支持的映像,或者已在自定义映像上正确设置了 gVNIC