「HCLに同じだったり似たような名前のHBAがリストされていて、どれを見るべき?」
と質問されましたので、
実際利用しているハードウェアとvSAN HCL記載のデバイスを正しくマッチさせるための調べ方を共有します。
ちょっと分かり難いので、今回は esxcli コマンドと esxcfg コマンドを利用する方法を紹介します。
※ 以前の KB 1031534 の内容は KB 1027206 に統合されたため以下を参照願います。
「認証コンポーネントを基盤とした構築」をクリックして画面を切り替えておきます。
例えば、IO Controller(HBA・RAIDカード)でDellのHBA330やH730などのカードを利用していた時はキーワードで検索すれば対象のHCLがリストされますが、
似ている名称、同名のカードがいくつも出てくる時があります。
ここで重要になるのは、
実際にサーバーに搭載しているカードがどれか、正しく判別するためには上のキャプチャにある「製品の説明」欄、または各カード名をクリックして詳細を表示した際に表示される、VID、SVID、DID、SDIDを実機のものと照らし合わせます。
それぞれの値が各ハードウェア固有の数値となります。
デバイス情報全般を確認する際のesxcliのオプションは以下です。
esxcli hardware pci list
出力される情報が多いので、パイプでlessに渡すか、Teratermなどで結果を貼り付けてデバイス名(HBA330など)で検索するかで絞り込みます。
- Determining Network/Storage firmware and driver version in ESXi (1027206)
https://kb.vmware.com/s/article/1027206
vSAN HCLの最新情報のチェック
vSANのHCL<VMware Compatibility Guide vSAN HCL>は、初期画面だとvSAN Ready Nodeのリストになるので、HBAなど個別コンポーネントをチェックする場合は、上記vSAN HCLページを少し下にスクロールして、「認証コンポーネントを基盤とした構築」をクリックして画面を切り替えておきます。
例えば、IO Controller(HBA・RAIDカード)でDellのHBA330やH730などのカードを利用していた時はキーワードで検索すれば対象のHCLがリストされますが、
似ている名称、同名のカードがいくつも出てくる時があります。
ここで重要になるのは、
実際にサーバーに搭載しているカードがどれか、正しく判別するためには上のキャプチャにある「製品の説明」欄、または各カード名をクリックして詳細を表示した際に表示される、VID、SVID、DID、SDIDを実機のものと照らし合わせます。
それぞれの値が各ハードウェア固有の数値となります。
- VID = ベンダー ID
- SVID = サブベンダー ID
- DID = デバイス ID
- SDID = サブデバイス ID
※ Compatibility List では SSID と記載されていますが、SubDevice ID の略称なので SDID で本投稿では統一しています
デバイス情報全般を確認する際のesxcliのオプションは以下です。
esxcli hardware pci list
出力される情報が多いので、パイプでlessに渡すか、Teratermなどで結果を貼り付けてデバイス名(HBA330など)で検索するかで絞り込みます。
[root@tokyo-esxi01:~] esxcli hardware pci list
~中略~
0000:18:00.0
Address: 0000:18:00.0
Segment: 0x0000
Bus: 0x18
Slot: 0x00
Function: 0x0
VMkernel Name: vmhba0
Vendor Name: Avago (LSI Logic)
Device Name: Dell HBA330 Mini
Configured Owner: VMkernel
Current Owner: VMkernel
Vendor ID: 0x1000
Device ID: 0x0097
SubVendor ID: 0x1028
SubDevice ID: 0x1f53
Device Class: 0x0107
Device Class Name: Serial Attached SCSI controller
~以下略~この様な形で、vSAN HCLのサイトに掲載されているVID、SVID、DID、SDIDを正確に確認する事が出来ます。
もっと簡単に絞り込みができるのが esxcfg-scsidevs コマンドです。
以下の例では PowerEdge に搭載された HBA330 であることもサクッと分かります。
[root@tokyo-esxi01:~] esxcfg-scsidevs -avmhba0 lsi_msgpt3 link-n/a sas.54cd98f047153a00 (0000:17:00.0) Avago (LSI Logic) Dell HBA330 Minivmhba1 vmw_ahci link-n/a sata.vmhba1 (0000:00:11.5) Intel Corporation Lewisburg SATA AHCI Controllervmhba2 vmw_ahci link-n/a sata.vmhba2 (0000:00:17.0) Intel Corporation Lewisburg SATA AHCI Controllervmhba3 vmw_ahci link-n/a sata.vmhba3 (0000:65:00.0) Marvell Technology Group Ltd. Dell BOSS-S1 Adapter
vmhba0 が調べたいデバイスであることがわかり、ドライバ名 (lsi_msgpt3) も確認できます。
ドライババージョンを確認する場合は vmkload_mod コマンドでドライバ名を指定します。
[root@tokyo-esxi01:~] vmkload_mod -s lsi_msgpt3 | grep -i versionVersion: 17.00.02.00-1vmw.670.3.73.14320388
PCI List で確認したデバイスの各 ID を確認するためには vmkchdev を利用します。
[root@tokyo-esxi01:~] vmkchdev -l | grep vmhba00000:17:00.0 1000:0097 1028:1f53 vmkernel vmhba0
左から順番に VID、SVID、DID、SDID で確認できます。
ここまで、HBA など IO controller での確認方法となりますが、KB には NIC などの確認方法も掲載されていますので、詳細は以下の KB を参照願います。
最近のvSAN 6.6.x や vSAN 6.7.x ではvCenter vSphere Client でvSANの構成アシストやヘルスチェックの機能が充実しているので、
利用中のHBAなどのファームウェアやデバイスドライバがきちんとvSAN HCLに準拠したものを利用しているかどうか、明確にわかるようになりました。
最新のvSAN HCLの情報を正しく認識させておくためには、vSAN 健全性サービス - vSAN HCL の健全性 – vSAN HCL DB の最新の状態 (2109870) を参照し
定期的にvSAN HCL DBのファイル
http://partnerweb.vmware.com/service/vsan/all.json
をダウンロードし、vCenter vSAN 健全性情報を更新しておきます。
利用中のHBAなどのファームウェアやデバイスドライバがきちんとvSAN HCLに準拠したものを利用しているかどうか、明確にわかるようになりました。
最新のvSAN HCLの情報を正しく認識させておくためには、vSAN 健全性サービス - vSAN HCL の健全性 – vSAN HCL DB の最新の状態 (2109870) を参照し
定期的にvSAN HCL DBのファイル
http://partnerweb.vmware.com/service/vsan/all.json
をダウンロードし、vCenter vSAN 健全性情報を更新しておきます。