免責事項:これは英文の記事「hostd core dumps due to file descriptor exhaustion on an ESXi host running VMs with NVIDIA vGPU pass-through configuration (442818)」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
NVIDIA GPU を vGPU モードでパススルーした VM を多数稼働させている ESXi ホストにおいて、hostd プロセスがコアダンプし異常終了します。
hostd のクラッシュ直前に、以下のようなログが hostd.log に出力される場合があります。
Er(163) Hostd[2099490]: [Originator@6876 sub=Libs] error [ConfigStore:41b3d40700] Failed to connect to sqlite /etc/vmware/schemastore/schema-store-1(unable to open database file) rc= 14 (current connections=1)
Er(163) Hostd[2099478]: [Originator@6876 sub=Libs] error [ConfigStore:41b2b87700] [2000] Failed to connect to database
VMware ESXi 8.0 Update 3
hostd プロセスが NVIDIA コンポーネントと連動して vmgfx キャラクタデバイスのファイルディスクリプタ(FD)をオープンし、FD を上限まで使用します。
FD が枯渇すると、hostd は内部の SQLite データベース(/etc/vmware/schemastore/schema-store-1)への接続に失敗し、コアダンプを生成して再起動します。
解消策:
この問題はブロードコムのエンジニアリング部門で調査中です。この問題に関する最新情報を受け取るには、このナレッジ記事を購読してください。
回避策:
vmkvsitools lsof | grep hostd-worker | grep vmgfx | wc -l
コアダンプからの問題判別:
生成された hostd のコアダンプ(zdump)に対して以下のコマンドを実行することで、vmgfx デバイスファイルの FD リークを確認できます。
出力される数字が 4000 に近い場合は本事象に該当する可能性があります。
コマンド実行例:
vmkdump_extract -f /var/core/hostd-zdump.000 |grep -c vmgfx
3960