請參考下列提示,協助排解 Google Virtual NIC (gVNIC) 的問題。
常見錯誤
如果用來建立 VM 的映像檔未標記為使用 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 的映像檔。詳情請參閱「建立自訂映像檔」。
其他問題
本節說明您在 Compute Engine 執行個體中使用 gVNIC 驅動程式時,可能會遇到的其他錯誤。
VM 執行個體未啟動
原因:映像檔上未啟用 gVNIC。
診斷:檢查映像檔是否已啟用
gVNIC
。如要確認,請執行下列指令:gcloud compute images describe IMAGE_NAME
將您的映像檔名稱替換為
IMAGE_NAME
。指令的輸出結果應在
guestOsFeatures
底下顯示GVNIC
。您也可以檢查 VM 是否在
nic-type
設為gVNIC
的情況下建立。如要執行這項操作,請執行下列指令:gcloud compute instances describe VM_NAME
將
VM_NAME
替換為您的 VM 名稱。解決方法:請確認您是否使用了支援的映像檔,或者是否有在自訂映像檔上正確設定 gVNIC 驅動程式。
已啟動 VM 執行個體,但無法透過網路連線
原因:未成功安裝及載入 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
這段文字。 - 如果未安裝驅動程式,則不會傳回任何訊息。
- 如果已安裝驅動程式,輸出內容應會顯示
在 VPC 中設定的 MTU 值未被 Compute Engine 執行個體使用
按照指示將 MTU 值變更為 8896 後,執行個體的 MTU 設定並未使用相同的 MTU 值。舉例來說,您可以在執行個體上執行 /sbin/ifconfig | grep mtu
指令,檢查 MTU 設定。您已重新啟動執行個體,但執行個體設定未更新。
原因:gVNIC 驅動程式版本過舊
解決方法:
- 如果執行個體使用公開映像檔,請在「作業系統詳細資料」頁面上,查看作業系統版本的「網路功能」分頁。確認系統是否顯示 Jumbo Frames 已完全支援。
- 如果公開映像檔無法完全支援 Jumbo Frames,或是您使用的是自訂 OS 映像檔,則已安裝的 gVNIC 驅動程式版本過舊,無法支援較高的 MTU 值。請按照「在不支援的作業系統上使用」一節中的操作說明,為 compute 執行個體更新 gVNIC 驅動程式。
- 更新 gVNIC 驅動程式後,請重新啟動執行個體,並重新檢查 MTU 設定。
Windows Server 2022 和 Windows 11 VM 的網路傳輸量不佳
如果您在使用 Google 虛擬網路介面卡 (gVNIC) 時,搭配使用採用 gVNIC 驅動程式 GooGet 套件 1.0.0@44
以上版本的 Windows Server 2022 和 Windows 11 VM,可能會發生網路傳輸效能不佳的情形。
如要解決這個問題,請按照下列步驟將 gVNIC 驅動程式 GooGet 套件更新至 1.0.0@45
以上版本:
在管理員 Command Prompt 或 Powershell 工作階段中執行下列指令,檢查 VM 上安裝的驅動程式版本:
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