免責事項:これは英文の記事「 One or more HBAs do not come online after upgrade to ESXi 8.0 U1 or 8.0 U2 」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
Symptoms :
ESXi 8.0 U1(インボックス lpfc ドライバ 14.2.560.8-23vmw)または 8.0 U2(インボックス lpfc ドライバ 14.2.641.5-32vmw)へのアップグレード後、1つ以上の HBA が検出されません。
lpfc ドライババージョン 14.2.560.8 および 14.2.641.5 は、最大 256 個のハードウェアキューをサポートできます(以前は 64 個がサポートされていました)。作成されるキューの数は、ESXi ホスト上の CPU 数に依存します。
CPU 数が多い ESXi サーバーでは、すべての HBA に対してキューが作成される前に、lpfc ヒープが使い果たされる可能性があります。
/var/log/vmkernel.log におけるログ出力例:
WARNING: Heap: 3646: Heap lpfc already at its maximum size. Cannot expand.
WARNING: Heap: 4106: Heap_Align(lpfc, 8384/8384 bytes, 8 align) failed. caller 0:0x4200411fe97
WARNING: lpfc: _lpfc_HeapAlloc:1612L 3:3309 Alloc failure. Caller <lpfc_sli4_queue_alloc:14990>
WARNING: lpfc: lpfc_alloc_nvme_wq:11070: 3:0509 Failed allocate fast-path NVME WQ (202)
WARNING: lpfc: lpfc_sli4_hba_setup:8120: 3:3089 Failed to allocate queues
WARNING: lpfc: lpfc_pci_probe_one_s4:15474: 3:1421 Failed to set up hba
この問題は ESXi 8.0 U3 で修正されています。
この問題を回避するには、NVMe I/O キューの最大数を 64 に設定してください:
$ esxcli system module parameters set -p "lpfc_nvme_io_channel=64" -m lpfc -a
変更を有効にするには、ホストの再起動が必要です。
注:
修正が含まれるビルドへ ESXi をアップグレードした後は、モジュールパラメータの変更を手動で元に戻す必要があります
$ excli system module parameters clear -m lpfc
変更を有効にするには、ホストの再起動が必要です。