web-dev-qa-db-ja.com

PCIパススルーを使用したESXiハードウェアフリーズのトラブルシューティング

Atheros AR5008 PCI Expressカード(D-LINK DWA-556、Device = 0024&Vendor = 168C)を搭載したSupermicroX9SCMボードを持っています。カードはESXi(バージョン4.1および5.0を試しました)でPCIパススルーのマークを付けることができますが、Wifiカードを関連付けてVMを開始するたびに、ホスト全体がフリーズし、ハードリセットが必要になります) 。

このカードが何らかの理由で互換性がない可能性は十分にあります-少なくともあるようですが 1つのレポート 「機能している」、または少なくともゲストが起動できることがわかりました。 なぜ失敗するのかを本当に理解したいと思います。いくつかのログファイルやその他のリソースを調べて、知識を収集できるかどうかを確認しました。私はVMWareツールの専門家からはほど遠いですが、これを最もよくトラブルシューティングする方法。

これが私がこれまで見てきたことです:

  • BIOS、最新バージョン(1.1a)と1つの古いバージョン(1.0c)を試しました。
  • BIOSには、このフリーズイベントが発生するたびに「PCIERR」または「PCIERR-Asserted」を報告するログがあります。
  • ESXiホストの/ var/logからさまざまなログを取得しましたが、まだそれらからあまり有用なものを実際に確認することはできませんでした。どこを見ればいいのかわからないかもしれません。
  • PCIカードをpassthru.mapファイルに追加して、ESXiが運が悪ければどのように動作するかを示唆できるかどうかを確認しました。 (注:リセット方法/ fpt共有可能のすべての組み合わせをまだ試していません)
  • 「アクティブ」PCIExpressカードとの違いがあるかもしれないと読みました。これは Active State Power Management を参照している可能性があると思いますが、これを確認する方法すらわかりません。
  • 返信はありませんが、BIOS /ハードウェアに既知の問題があるかどうかを確認するためにSupermicroサポートに連絡しました。また、なんらかの奇妙な理由でアカウントをアクティブ化できませんでしたが、VMWareコミュニティに参加してフォーラムに投稿しようとしました。

繰り返しますが、私の本当の質問は、どうすればこのデバイスがゲストに割り当てられたときにハイパーバイザーをロックアップさせるのかを理解するのですか?

1
Goyuix

ロックアップしているのはハイパーバイザーではなく、ある種のハードウェア(PCIeスイッチなど)である可能性があります。 PCIeデバッグハードウェア とPCIe固有の知識がないと、これをデバッグするのに苦労するでしょう。したがって、おそらく追求する価値はありません。一般に、PCIパススルーは、十分な考慮なしに使用する必要があるものではありません。

仮想マシンでワイヤレス接続インターフェイスが必要な場合は、ワイヤレスネットワークを有線デバイスにブリッジする外部デバイス(ルーター/ブリッジ)を使用し、このネットワークに接続する仮想マシン内から仮想インターフェイスを使用することを検討してください。別のオプションは、USBプラグインターフェイスを SBネットワークリダイレクタ と一緒に使用することです。

1
the-wabbit

この質問は古くなっているかもしれませんが、私がこの問題にぶつかったとき、それでもトップのグーグル結果として出てきたことを理解してください。ここで解決策を見つけたので、共有したいと思いました。

私の環境:

  • VMware ESXi 6.5
  • SuperMicro SYS-E300-8D
  • OPNsense(FreeBSDベース)ゲスト
  • Qualcomm Atheros AR9462

仮定:

  • カードを物理的にインストールしました。
  • ESXiでパススルーを有効にして、再起動しました
  • このPCIデバイスをVMに追加しました

回答:

/etc/vmware/passthru.mapに正しいパススルーパラメータを設定し、そのようなエントリを追加します。

# passthrough attributes for devices
# file format: vendor-id device-id resetMethod fptShareable
# vendor/device id: xxxx (in hex) (ffff can be used for wildchar match)
# reset methods: flr, d3d0, link, bridge, default
# fptShareable: true/default, false

# Atheros Wireless
168c  0034  d3d0     false

次に、ホストを再起動します。

注1:ここの最初と2番目のフィールドはベンダーとデバイスに固有ですが、ESXi Webインターフェイスの[ホスト]> [管理]> [ハードウェア]> [PCIデバイス]から値を取得しました(すでに16進数です)。

注2:passthru.mapにはすでに他の便利なものがあるので、単に上書きするのではなく、追加してください。

私も設定しました

pciPassthru0.msiEnabled=false

ゲストの.vmxファイルにありますが、passthru.mapを修正する前に、私はそれが必要であると確信していません。

カードの構成や便利さを完了していませんが、VMが起動し、ゲストがカードを検出すると、ホストは実行を続けます。

2
Sean Morgan

あなたの計画がここにあるのか知りたいです。ワイヤレスNICのゲスト仮想マシンへのESXiPCIパススルーを実行しようとしていますか?ゲストOSとは何ですか?このセットアップの目的は何ですか?

すべてのPCIeデバイスがVMDirectPathと互換性があるわけではありません。これは単にそれらの1つかもしれません。

1
ewwhite