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 Erm0}itteln des Image-Namens finden Sie unter Quell-Image einer VM ansehen.

    Die Ausgabe des Befehls sollte unter guestOsFeatures den Eintrag GVNIC enthalten.

    Sie können auch prüfen, ob die VM-Instanz mit nic-type auf gVNIC gesetzt erstellt wurde. Führen Sie hierzu den folgenden Befehl aus:

    gcloud compute instances describe VM_NAME

    Ersetzen Sie 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: Ist gVNIC nicht verfügbar, achten Sie darauf, dass Sie ein unterstütztes Image verwenden und ob Sie gVNIC richtig eingerichtet haben auf Ihrem benutzerdefinierten Image.

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 oder eine frühere Version des gVNIC-Treibers 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 aus dem GooGet-Paket-Repository . Führen Sie dazu den folgenden Befehl über eine Administrator-Eingabeaufforderung oder PowerShell-Sitzung aus:

    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.

Die Bare-Metal-Instanz konnte nicht gebootet werden

  • Ursache:IDPF ist auf dem Image nicht aktiviert.

  • Diagnose:Prüfen Sie, ob für das Image IDPF 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 Image-Namens finden Sie unter Quell-Image einer VM ansehen.

    Die Ausgabe des Befehls sollte unter guestOsFeatures den Eintrag 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 gesetzt 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 zum Prüfen, ob der Treiber installiert und geladen ist, finden Sie unter Prüfen, ob IDPF aktiviert ist.

  • Lösung:Ist IDPF nicht verfügbar, achten Sie darauf, dass Sie ein öffentliches Image verwenden, das IDPF unterstützt, und ob Sie den IDPF-Treiber auf Ihrem benutzerdefinierten Image richtig konfiguriert haben.

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

Nachdem Sie die Anleitung zum Ändern des MTU-Werts ausgeführt haben, verwendet die MTU Konfiguration auf der Instanz nicht denselben MTU-Wert. 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 das MTU-Feature zu unterstützen.

Lösung :

  1. Wenn Ihre Instanz ein öffentliches Image verwendet, sehen Sie sich auf der Seite Details zu Betriebssystemen den Tab Netzwerkfeatures für Ihre Betriebssystemversion an. Dort muss angegeben sein, 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. Starten Sie nach dem Aktualisieren des Netzwerktreibers die Instanz neu und prüfen Sie die MTU-Konfiguration noch einmal.