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

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

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

現象

Microsoft Windows Server 2012 または Windows Server 2012 R2 で Hyper-V を Broadcom NetXtreme 1 ギガビット ネットワーク アダプター (ただし NetXtreme II ネットワーク アダプターではなく) と共に実行している場合は、次の現象が 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 で販売しています。 使用している OEM バージョンや Broadcom ドライバー バージョンを使用しているかどうかに応じて、ドライバー バージョン 16.2、16.4、または 16.6 を使用している場合があります。

解決方法

この問題は、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 が無効になっていることを確認できます。

注:

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

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