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 は表示されません。