事象
障害復旧で ESXi を再インストールした際などに、vCenter 上で以下のメッセージが表示される場合があります。
「ホスト <esxiのホスト名> のシステム ログは非持続性ストレージに格納されます。」
「System logs on host <esxi hostname> are stored on non-persistent storage.」
原因
ESXi の syslog 設定で、出力先とされていた SSD 上のデータストアが存在しなくなったため、デフォルト設定(/tmp/scratch/log/)となったことに起因します。
対処法
この状態では、ESXi の再起動後にログが消失してしまうため、システムログをデータストアなどの恒久的ストレージに格納するように変更します。
- 対象となる ESXi を予め HX メンテナンスモードに入れます。
以降は、この ESXi に SSH 接続にて root ユーザでログインし実施します。
- /vmfs/volume/SpringpathDS-XXXXXXXXXXX/ 配下に「.locker」ディレクトリが有るかを確認します。
# ls -al /vmfs/volume/SpringpathDS-XXXXXXXXXXX
- 無ければ、「.locker」ディレクトリを作成します。
また、オリジナルのPATHを確認します。
# mkdir /vmfs/volume/SpringpathDS-XXXXXXXXXXX/.locker
# readlink -f /vmfs/volume/SpringpathDS-XXXXXXXXXXX/.locker
/vmfs/volumes/584a783f-c9f9ce8d-xxxx-0025b599a10c/.locker ← 実際のPATH
- 現在の /scratch ディレクトリのリンク先を確認します。
# readlink -f /scratch
/tmp/scratch
- vSphere Web Client にて、ESXi の「システム詳細設定」より、Scratch ディレクトリの PATH を上で確認したPATHに変更します。
ScratchConfig.ConfiguredScratchLocation = /vmfs/volumes/584a783f-c9f9ce8d-xxxx-0025b599a10c/.locker
- 念のため、以下の項目の内容も確認します。
Syslog.global.logDir = [] /scratch/log
- ESXi を 再起動します。
- /scratch ディレクトリのリンク先が変更されたことを確認します。
# readlink -f /scratch
/vmfs/volumes/584a783f-c9f9ce8d-xxxx-0025b599a10c/.locker
- vSphere Web Client にて、ESXi の「システム詳細設定」の内容が変更後の値となっていることを確認します。
ScratchConfig.CurrentScratchLocation = /vmfs/volumes/584a783f-c9f9ce8d-xxxx-0025b599a10c/.locker
- ESXi の HX メンテナンスモードを解除します。
参考情報
VMware KB: System logs are stored on non-persistent storage (2032823)