Broadcom NetXtreme 1 ギガビット ネットワーク アダプターを使用すると、仮想マシンがネットワーク接続を失う

この記事では、Broadcom NetXtreme 1 ギガビット ネットワーク アダプターを使用すると、仮想マシンがネットワーク接続を失う問題の解決策について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 2986895

現象

Microsoft Windows Server 2012 または Windows Server 2012 R2 で Broadcom NetXtreme 1 ギガビット ネットワーク アダプター (NetXtreme II ネットワーク アダプターではなく) で Hyper-V を実行している場合は、次の 1 つ以上の現象が発生する可能性があります。

  • 仮想マシンは、ネットワーク接続をランダムに失う可能性があります。 ネットワーク アダプターが仮想マシンで動作しているようです。 ただし、仮想マシンからネットワーク リソースに ping またはアクセスすることはできません。 仮想マシンを再起動しても問題は解決しません。

  • リモート コンピューターから仮想マシンに ping または接続することはできません。 これらの現象は、Hyper-V を実行しているサーバー上の一部またはすべての仮想マシンで発生する可能性があります。 サーバーを再起動すると、すべての仮想マシンへのネットワーク接続が直ちに解決されます。

原因

これは、b57nd60a.sys ドライバーを使用する Broadcom NetXtreme 1 ギガビット ネットワーク アダプターに関する既知の問題です。 この問題は、ネットワーク アダプターで仮想マシン キュー (VMQ) が有効になっている場合に発生します。 (既定では、VMQ は Broadcom ネットワーク ドライバーによって有効になっています)。

Broadcom は、これらのネットワーク アダプターに 57xx ベースのチップセットとして名前を付けます。 これには、5714、5715、5717、5718、5719、5720、5721、5722、5723、5780 が含まれます。

これらのネットワーク アダプターは、一部のサーバー OEM によって異なるモデル番号で販売されています。 HP は、モデル番号 NC1xx、NC3xx、NC7xx でこれらのドライバーを販売しています。 ドライバー バージョン 16.2、16.4、または 16.6 を使用している場合は、使用している OEM バージョン、または Broadcom ドライバーバージョンを使用しているかどうかに応じて異なります。

解決方法

この問題は、Broadcom ドライバー b57nd60a.sys バージョン 16.8 以降で解決されています。 2015 年 3 月、Broadcom はダウンロード用のドライバー バージョン 17.0 を公開しました。 2015 年 4 月、HP は影響を受けるネットワーク アダプターのドライバーのバージョン 16.8 を公開しました。 サーバーに固有のドライバーが必要な場合は、サーバー OEM に問い合わせてください。

ネットワーク アダプター ドライバーを更新して問題を解決できない場合は、PowerShell コマンドを使用して、影響を受ける各 Broadcom ネットワーク アダプターで VMQ を無効にすることで、問題を Set-NetAdapterVmq 回避できます。

次のような状況で問題が発生します。

  • デュアル ポート ネットワーク アダプターがあります。
  • ポートの名前は、Windows の NIC 1 と NIC 2 です。

このシナリオでは、次のコマンドを使用して、各アダプターで VMQ を無効にすることができます。

Set-NetAdapterVmq -Name "NIC 1" -Enabled $False
Set-NetAdapterVmq -Name "NIC 2" -Enabled $False

Get-NetAdapterVmq PowerShell コマンドを使用して、VMQ が正しいネットワーク アダプターで無効になっていることを確認できます。

注:

既定では、1 ギガビット ネットワーク アダプターを使用している仮想マシンの Hyper-V 仮想スイッチで VMQ が無効になっています。 VMQ は、システムが 10 ギガビット以上のネットワーク アダプターを使用している場合にのみ、Hyper-V 仮想スイッチで有効になります。 つまり、Broadcom ネットワーク アダプターで VMQ を無効にしても、これが既定であるため、ネットワーク パフォーマンスやその他の利点は失われません。 ただし、ドライバーの問題を回避するには、これを行う必要があります。

Get-NetAdapterVmqQueue には、ネットワーク アダプターに割り当てられている仮想マシン キュー (VMQ) が表示されます。 既定では、1 ギガビット ネットワーク アダプターに割り当てられている VMQ は表示されません。