Fehlerbehebung bei Netzwerktreibern für Compute Engine-Instanzen

Hier finden Sie einige Tipps zur Fehlerbehebung bei Netzwerktreibern für Google Virtual NIC (gVNIC) und Infrastructure Data Plane Function (IDPF).

Häufige Fehler beim gVNIC-Treiber

Das folgende Problem tritt auf, wenn das zum Erstellen der VM-Instanz verwendete Image nicht für die Verwendung von gVNIC getaggt ist.

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.

Um dieses Problem zu beheben, sollten Sie ein Image verwenden, das mit gVNIC getaggt ist. Weitere Informationen finden Sie unter Benutzerdefiniertes Image erstellen.

Die VM-Instanz konnte nicht gebootet werden

  • Ursache: gVNIC ist auf dem Image nicht aktiviert.

  • Diagnose: Prüfen Sie, ob gVNIC für das Image aktiviert ist. Überprüfen Sie das Ergebnis mit folgendem Befehl:

    gcloud compute images describe IMAGE_NAME

    Ersetzen Sie IMAGE_NAME durch den Namen des Images. Eine Anleitung zum Ermitteln des Imagenamens finden Sie unter Quell-Image einer VM ansehen.

    Die Ausgabe des Befehls sollte unter guestOsFeatures GVNIC enthalten.

    Sie können auch prüfen, ob bei der Erstellung der VM-Instanz nic-type auf gVNIC gesetzt war. Führen Sie hierzu den folgenden Befehl aus:

    gcloud compute instances describe VM_NAME

    Ersetzen Sie dabei VM_NAME durch den Namen Ihrer VM-Instanz:

  • Lösung: Vergewissern Sie sich, dass Sie ein unterstütztes Image verwenden oder dass Sie den gVNIC-Treiber in Ihrem benutzerdefinierten Image richtig eingerichtet haben.

Die VM-Instanz wurde gebootet, ist aber über das Netzwerk nicht erreichbar

  • Ursache: gVNIC wurde nicht installiert und geladen.

  • Diagnose: Führen Sie die folgenden Schritte aus, um zu prüfen, ob der Treiber installiert und geladen ist:

    Linux

    1. Prüfen Sie, ob der Treiber installiert ist.

      modinfo gve

      Die Ausgabe sollte in etwa so aussehen:

      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. Prüfen Sie, ob der Treiber geladen ist.

      lsmod | grep gve

      Die Ausgabe sollte in etwa so aussehen:

      gve                    49152  0

    Windows

    1. Stellen Sie über SAC die Verbindung zur Instanz her.
    2. Melden Sie sich mit Ihrem Nutzernamen und Ihrem Passwort an.
    3. Führen Sie in der Eingabeaufforderung den folgenden Befehl aus:

      dism /online /get-drivers | findstr gvnic
    4. Sehen Sie sich das Ergebnis an.

      • Wenn der Treiber installiert ist, sollte der Text Original File Name : gvnic.inf ausgegeben werden.
      • Wenn der Treiber nicht installiert ist, wird keine Nachricht zurückgegeben.
  • Lösung:Wenn gVNIC nicht verfügbar ist, achten Sie darauf, dass Sie ein unterstütztes Image verwenden und ob Sie gVNIC auf Ihrem benutzerdefinierten Image richtig eingerichtet haben.

Schlechter Netzwerkdurchsatz für Windows Server 2022- und Windows 11-VMs

Bei Verwendung von Google Virtual NIC (gVNIC) mit Windows Server 2022- und Windows 11-VM-Instanzen, die die GooGet-Paketversion 1.0.0@44 von gVNIC-Treibern oder eine frühere Version verwenden, kann es zu einem schlechten Netzwerkdurchsatz kommen.

Aktualisieren Sie das gVNIC-Treiber-GooGet-Paket auf Version 1.0.0@45 oder höher, um dieses Problem zu beheben:

  1. Prüfen Sie, welche Treiberversion auf Ihrer VM-Instanz installiert ist. Führen Sie dazu den folgenden Befehl über eine Administrator-Eingabeaufforderung oder eine PowerShell-Sitzung aus:

    googet installed
    

    Die Ausgabe sieht dann ungefähr so aus:

    Installed packages:
      ...
      google-compute-engine-driver-gvnic.x86_64 VERSION_NUMBER
      ...
    
  2. Wenn die Treiberversion google-compute-engine-driver-gvnic.x86_64 1.0.0@44 oder früher ist, aktualisieren Sie den Treiber über das GooGet-Paket-Repository. Führen Sie dazu den folgenden Befehl über eine Administrator-Eingabeaufforderung oder PowerShell-Sitzung:

    googet install google-compute-engine-driver-gvnic
    

Häufige Fehler beim IDPF-Treiber

Das folgende Problem tritt auf, wenn das zum Erstellen einer Bare-Metal-Instanz verwendete Image nicht für die Verwendung von IDPF getaggt ist.

ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - Invalid value for field 'resource.machineType': ...
NetworkInterface NicType can only be set to IDPF on instances with
IDPF GuestOsFeature.

Um dieses Problem zu beheben, sollten Sie ein Image verwenden, das IDPF unterstützt und mit IDPF getaggt ist. Weitere Informationen finden Sie unter Benutzerdefiniertes Betriebssystem-Image erstellen, das IDPF unterstützt.

Bare-Metal-Instanz konnte nicht gebootet werden

  • Ursache:IDPF ist auf dem Image nicht aktiviert.

  • Diagnose: Prüfen Sie, ob IDPF für das Image aktiviert ist. Überprüfen Sie das Ergebnis mit folgendem Befehl:

    gcloud compute images describe IMAGE_NAME

    Ersetzen Sie IMAGE_NAME durch den Namen des Images, das von der Compute-Instanz verwendet wird. Eine Anleitung zum Ermitteln des Bildnamens finden Sie unter Quell-Image einer VM ansehen.

    Die Ausgabe des Befehls sollte unter guestOsFeatures IDPF enthalten.

    ...
    guestOsFeatures:
    ...
        - type: IDPF
        - type: SEV_CAPABLE
        - type: VIRTIO_SCSI_MULTIQUEUE
        - type: SEV_LIVE_MIGRATABLE
    ...
    

    Mit dem folgenden Befehl können Sie auch prüfen, ob die Bare-Metal-Instanz mit nic-type auf IDPF erstellt wurde:

    gcloud compute instances describe INSTANCE_NAME
    

    Ersetzen Sie INSTANCE_NAME durch den Namen Ihrer Compute-Instanz.

    Suchen Sie in der Ausgabe nach dem Abschnitt networkInterfaces:

    ...
    name: instance-20260319-221828
    networkInterfaces:
      - accessConfigs:
        - kind: compute#accessConfig
          networkTier: PREMIUM
          type: ONE_TO_ONE_NAT
      name: nic0
      network: https://www.googleapis.com/compute/v1/projects/my-project/global/networks/default
      networkIP: 203.0.113.8
      nicType: IDPF
      stackType: IPV4_ONLY
      subnetwork: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default
    
  • Lösung:Vergewissern Sie sich, dass Sie ein unterstütztes Image verwenden oder dass Sie den IDPF-Treiber in Ihrem benutzerdefinierten Image konfiguriert haben.

Die Bare-Metal-Instanz wurde gebootet, ist aber über das Netzwerk nicht erreichbar

  • Ursache:IDPF wurde nicht installiert und geladen.

  • Diagnose:Informationen dazu, wie Sie prüfen, ob der Treiber installiert und geladen ist, finden Sie unter Prüfen, ob IDPF aktiviert ist.

  • Lösung:Wenn IDPF nicht verfügbar ist, prüfen Sie, ob Sie ein öffentliches Image verwenden, das IDPF unterstützt, oder ob Sie den IDPF-Treiber in Ihrem benutzerdefinierten Image richtig konfiguriert haben.

In der VPC festgelegter MTU-Wert wird von der Compute-Instanz nicht verwendet

Nachdem Sie der Anleitung zum Ändern des MTU-Werts gefolgt sind, wird in der MTU-Konfiguration der Instanz nicht derselbe MTU-Wert verwendet. Sie können beispielsweise den Befehl /sbin/ifconfig | grep mtu auf Ihrer Instanz ausführen, um die MTU-Einstellung zu prüfen. Sie haben die Instanz neu gestartet, aber die Instanzkonfiguration wurde nicht aktualisiert.

Ursache:Die Version des Netzwerktreibers ist nicht aktuell genug, um die MTU-Funktion zu unterstützen.

Lösung:

  1. Wenn für Ihre Instanz ein öffentliches Image verwendet wird, sehen Sie sich auf der Seite Details zu Betriebssystemen den Tab Netzwerkfunktionen für Ihre Betriebssystemversion an. Achten Sie darauf, dass Jumbo Frames vollständig unterstützt werden.
  2. Wenn das öffentliche Image Jumbo Frames nicht vollständig unterstützt oder Sie ein benutzerdefiniertes Betriebssystem-Image verwenden, ist die installierte Version des Netzwerktreibers zu alt und unterstützt die höheren MTU-Werte nicht.

  3. Nachdem Sie den Netzwerktreiber aktualisiert haben, starten Sie die Instanz neu und prüfen Sie die MTU-Konfiguration noch einmal.