ESXi ホストで "IpmiIfcRhGetOS_Sysname: retrieve sysname failed short buffer read" エラーが記録される
search cancel

ESXi ホストで "IpmiIfcRhGetOS_Sysname: retrieve sysname failed short buffer read" エラーが記録される

book

Article ID: 452423

calendar_today

Updated On:

Products

VMware vSphere ESXi VMware vSphere ESX 8.x VMware vSphere ESX 7.x

Issue/Introduction

免責事項:これは英文の記事 「ESXi host logs "IpmiIfcRhGetOS_Sysname: retrieve sysname failed short buffer read"」 の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

ESXi ホストの /var/log/hostd.log に、以下のエラーメッセージが継続的に記録される。

IpmiIfcRhGetOS_Sysname: retrieve sysname failed short buffer read (18)
IpmiIfcRhGetOS_Name: retrieve os_name failed short buffer read (18)
IpmiIfcRhGetOS_Version: retrieve os_version failed short buffer read (18)

ESXi コマンドラインから localcli hardware ipmi bmc get を実行した際、Hostname Reported OS Name Reported のシステム情報が空欄、または正しく表示されない。

Environment

VMware vSphere ESXi 7.0
VMware vSphere ESXi 8.0

Cause

この事象は、一部のサーバーハードウェアの BMC (Baseboard Management Controller) ファームウェアと ESXi 間における、IPMI 通信フォーマットの実装の差異(非互換性)に起因して発生します。
ESXi が BMC に対してシステム情報を要求した際、一部の BMC ファームウェア環境において、IPMI 仕様に準拠しないデータ構造で応答が返される動作が確認されています。
ESXi の IPMI ドライバは受信したデータのパース(構文解析)を行う際、この構造的な差異によりデータ長などの解釈に齟齬が生じます。結果として ESXi は存在しない後続データを BMC に要求してしまい、「バッファ不足 (short buffer read)」のエラーが発生してシステム情報の取得プロセスが中断されます。

注: 本事象は「表示上の不具合 (Cosmetic Issue)」です。仮想マシンの稼働、ネットワーク、ストレージへの影響は一切ありません。また、温度や電源などのハードウェアセンサー監視 (SDR) は異なるメカニズムを使用しているため、正常に機能します。

Resolution

本事象は純粋に表示上の問題であるため、これらのエラーメッセージは無視していただいて問題ありません。

本事象の根本的な解決には、サーバーハードウェアベンダー (OEM) から提供されるファームウェアのアップデートが必要です。
ハードウェアベンダーにお問い合わせいただき、IPMI のシステム情報取得コマンドに対する応答フォーマットの互換性が向上した最新の BMC ファームウェアへのアップグレードをご検討ください。

回避策:
BMC ファームウェアの更新が直ちに実施できない場合、ESXi 上から BMC に登録する文字列を意図的に調整することでパースエラーを回避しエラーログの出力を停止させることが可能な場合があります。

以下の手順を実行します。

  1. ESXi ホストに SSH などで root ログインします。

  2. 以下のコマンドを実行し、BMC 上のキャッシュ文字列を上書きします。
    【重要】 指定する文字列は、先頭を半角スペースにし、全体の文字数がちょうど 32 バイト(32文字) になるようにパディングする必要があります。

    Sysname (ホスト名) の上書き例:
    localcli hardware ipmi bmc set -H " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    もしくは
    localcli hardware ipmi bmc set -H " esxi-host-01                   "

    OS Name の上書き例:
    localcli hardware ipmi bmc set -n " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    もしくは
    localcli hardware ipmi bmc set -n " VMware ESXi                    "

    OS Version の上書き例:
    localcli hardware ipmi bmc set -v " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    もしくは
    localcli hardware ipmi bmc set -v " 8.0.3                          "


  3. コマンド実行後、hostd.log へのエラー記録が停止したことを確認します。

  4. 以下のコマンドを実行し、設定した文字列で各項目が書き換えられたことを確認します。
    localcli hardware ipmi bmc get