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