一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • 「systemd-pstore.service」について

systemd-pstore.service は、Linux 永続ストレージ ファイルシステム pstore の内容を他のストレージにアーカイブするシステム サービスです。
これにより、pstore に含まれる既存の情報が保存され、将来のエラー イベントに備えて pstore ストレージがクリアされます。

Linux は、カーネルが停止したとき (または再起動または電源がオフになったとき) にエラー レコードを保存できる永続ストレージ ファイル システム pstore を提供します。
これらのレコードは、カーネルの問題をデバッグするために参照できます (現在、カーネルはスタック バックトレースも含むカーネル ログの末尾を pstore に保存します)。

pstore ファイル システムは、ACPI ERST 変数や UEFI 変数など、永続ストレージにマップされるさまざまなバックエンドをサポートします。
通常、pstore バックエンドは、比較的少量の永続ストレージ (64KiB など) を提供しますが、すぐにいっぱいになるため、記録エラーによる後続のカーネル クラッシュを防ぐことができます。
したがって、将来のカーネルの問題でも pstore に情報が記録されるように、pstore の内容を監視して抽出する必要があります。

pstore サービスは kdump サービスから独立しています。
特にクラウド環境では、ホストおよびゲストのファイルシステムはリモート ファイルシステム (iSCSI や NFS など) 上にあるため、kdump はネットワーク ソフトウェア * および* ハードウェア * および* インフラストラクチャの適切な動作に (暗黙的および/または明示的に) 依存します。
したがって、ネットワーク経由での書き込みができない可能性があるため、カーネル コアダンプをファイルにキャプチャできない可能性があります。

一方、pstore バックエンドは完全にローカルであり、再起動後も存続し、事後デバッグに役立つエラー レコードを保存するパスを提供します。

systemd -pstore実行可能ファイルが実際の作業を行います。
起動時に、pstore.conf ファイルが読み取られ、/sys/fs/pstore/ ディレクトリの内容がオプションに従って処理されます。
Pstore ファイルはジャーナルに書き込まれ、オプションで /var/lib/systemd/pstore/ に保存されます。

構成
systemd-pstoreの動作は、構成ファイル /etc/systemd/pstore.conf および対応するスニペット /etc/systemd/pstore.conf.d/*.conf によって構成されます。pstore.confを参照してください。

pstore 処理の無効化
systemd-pstoreによる pstore 処理を無効にするには、次のように設定します。

ストレージ=なし
pstore.conf内。

カーネルパラメータ
カーネルには、pstore への書き込みを制御する 2 つのパラメーター /sys/module/kernel/parameters/crash_kexec_post_notifiers および /sys/module/printk/parameters/always_kmsg_dump があります。

1 つ目は、パニックまたはクラッシュ時にカーネル ログ (スタック トレースを含む) を pstore に保存できるようにします。
2 つ目は、通常のシャットダウン (シャットダウン、再起動、停止) 時にカーネル ログを保存できるようにします。
これらのパラメータは、tmpfiles.dメカニズム、特にファイル /usr/lib/tmpfiles/systemd-pstore.conf を介して管理できます。

使用法
ジャーナルに保存されたデータは、通常どおりjournalctlで表示できます。

関連項目
pstore.conf

The following two tabs change content below.

久米 大輔

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア