Google Virtual NIC のトラブルシューティング


以下に 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 は、イメージの名前に置き換えます。

    コマンドの出力は、guestOsFeaturesGVNIC と表示されます。

    nic-typegVNIC に設定された状態で VM が作成されたかどうかを確認することもできます。これを行うには、次のコマンドを実行します。

    gcloud compute instances describe VM_NAME

    VM_NAME は実際の VM 名に置き換えます。

  • 解決策: サポートされているイメージを使用している、またはカスタム イメージで適切に gVNIC ドライバの設定を実施済みであることを確認します。

VM インスタンスは起動したが、ネットワーク経由でアクセスできない

  • 原因: 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 を設定済みであることを確認します。

VPC で設定された MTU 値がコンピューティング インスタンスで使用されない

手順に沿って MTU 値を 8, 896 に変更しても、インスタンスの MTU 構成で同じ MTU 値が使用されません。たとえば、インスタンスで /sbin/ifconfig | grep mtu コマンドを実行して MTU 設定を確認できます。インスタンスを再起動しても、インスタンス構成が更新されない。

原因: gVNIC ドライバのバージョンが古すぎます。

解決策:

  1. インスタンスが公開イメージを使用している場合は、[オペレーティング システムの詳細] ページで、OS バージョンの [ネットワーク機能] タブを確認します。ジャンボ フレームが完全にサポートされていることを確認します。
  2. 公開イメージがジャンボ フレームを完全にサポートしていない場合、またはカスタム OS イメージを使用している場合、インストールされている gVNIC ドライバのバージョンが古すぎて、MTU 値が大きい値をサポートしていません。サポートされていないオペレーティング システムでの使用のセクションの手順に沿って、コンピューティング インスタンスの gVNIC ドライバを更新します。
  3. gVNIC ドライバを更新したら、インスタンスを再起動して MTU 構成を再確認します。

Windows Server 2022 と Windows 11 VM のネットワーク スループットが低下する

gVNIC ドライバの GooGet パッケージ バージョン 1.0.0@44 以前を使用する Windows Server 2022 と Windows 11 VM で Google Virtual NIC(gVNIC)を使用すると、ネットワーク スループットが低下する場合があります。

この問題を解決するには、gVNIC ドライバの GooGet パッケージをバージョン 1.0.0@45 以降に更新します。その手順は以下のとおりです。

  1. 管理者のコマンド プロンプトまたは Powershell セッションから次のコマンドを実行して、VM にインストールされているドライバのバージョンを確認します。

    googet installed
    

    出力は次のようになります。

    Installed packages:
      ...
      google-compute-engine-driver-gvnic.x86_64 VERSION_NUMBER
      ...
    
  2. google-compute-engine-driver-gvnic.x86_64 ドライバのバージョンが 1.0.0@44 以前の場合は、管理者のコマンド プロンプトまたは PowerShell セッションから次のコマンドを実行して、GooGet パッケージ リポジトリを更新します。

    google-compute-engine-driver-gvnic.x86_64