以下提示有助于排查 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
检查驱动程序是否已安装。
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
检查驱动程序是否已加载。
lsmod | grep gve
输出应类似于以下内容:
gve 49152 0
Windows
- 通过 SAC 连接到实例。
- 使用您的用户名和密码登录。
在命令提示符下,运行以下命令:
dism /online /get-drivers | findstr gvnic
查看结果。
- 如果驱动程序已安装,您应该会在输出中看到文本
Original File Name : gvnic.inf
。 - 如果驱动程序未安装,则不会返回任何消息。
- 如果驱动程序已安装,您应该会在输出中看到文本
Windows Server 2022 和 Windows 11 虚拟机的网络吞吐量不佳
将 Google 虚拟 NIC (gVNIC) 与使用 gVNIC 驱动程序 GooGet 软件包版本 1.0.0@44
或更低版本的 Windows Server 2022 和 Windows 11 虚拟机搭配使用时,您可能会遇到网络吞吐量不佳问题。
如需解决此问题,请通过执行以下操作将 gVNIC 驱动程序 GooGet 软件包更新到 1.0.0@45
或更高版本:
从管理员命令提示符或 Powershell 会话中运行以下命令,检查虚拟机上安装了哪个驱动程序版本:
googet installed
输出类似于以下内容:
Installed packages: ... google-compute-engine-driver-gvnic.x86_64 VERSION_NUMBER ...
如果
google-compute-engine-driver-gvnic.x86_64
驱动程序版本为1.0.0@44
或更早版本,请通过管理员命令提示符或 Powershell 会话运行以下命令来更新 GooGet 软件包代码库:google-compute-engine-driver-gvnic.x86_64