コンテンツにスキップ

KDUMP テーブル

概要

Linux kernel crash dump (kdump) の設定。KDUMP|config の単一 container1hostcfgd がこの container を購読し、/etc/default/kdump-tools の生成・kdump-config の起動を実施する。

データフロー (自動生成)

flowchart LR
  CDB[("CONFIG_DB<br/>KDUMP")]
  DM["hostcfgd"]
  CDB --> DM

凡例

CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。

key 構造

KDUMP|config

(list ではなく単一 container)

主要フィールド

フィールド 説明
enabled boolean kdump メカニズムの有効化
memory string crash kernel に確保するメモリ。512M-2G:64M,2G-:128M 形式または絶対値 (512M)
num_dumps uint8 (1..9) 保持する core file 数
remote boolean リモート (SSH) ダンプ転送の有効化
ssh_string string リモート ssh 接続文字列 (user@host パターン)
ssh_path string リモート ssh 秘密鍵パス

購読者

  • hostcfgd (docker-config-engine): CONFIG_DB/etc/default/kdump-tools

関連 CONFIG_DB / YANG / CLI

  • 関連 CLI: config kdump enable/disable/memory/num_dumps/remote/add ssh_stringshow kdump
  • 関連 YANG: sonic-kdump

関連リファレンス

引用元

関連ページ

運用ヒント

典型値

  • key 形式: KDUMP|config
  • enabled: truememory: 0M-2G:256M,2G-:512Mnum_dumps: 3

よくある誤設定

  • memory が小さすぎると kdump kernel が起動できず crash dump が取れない。

確認コマンド

sonic-db-cli CONFIG_DB hgetall 'KDUMP|config'
show kdump config

値依存挙動マトリクス

このテーブルに strict な enum フィールドはない。boolean と文字列フィールドで動作が決まる。

enabled

挙動
true kdump 有効化。grub パラメータ変更のため次回 reboot 後に有効化
false kdump 無効化(デフォルト)

remote

挙動
true SSH 経由リモートダンプ転送。ssh_string / ssh_path の設定が必要
false ローカル保存のみ(デフォルト)

memory(文字列書式)

書式 挙動
512M-2G:64M,2G-:128M(範囲形式) 実装メモリに応じて確保量を変える
512M(絶対値形式) 固定サイズ確保
小さすぎる値 kdump kernel 起動失敗(DB には書けるが YANG 経由時のみ検証あり)

例外条件・特殊挙動

条件 挙動
enabled 変更は即時反映されない grub エントリ変更のため次回 reboot 後に有効化。現行カーネルへの影響なし
memory の値が小さすぎる DB には書けるが kdump kernel 起動失敗(コード上のバリデーションなし、YANG 経由時のみ検証)
num_dumps が 0 以下 CLI は int として受け取るが下限チェックなし。hostcfgd が kdump-config にそのまま渡すため動作は実装依存
SSH key の不正フォーマット is_valid_ssh_key() で検証 → エラーメッセージ出力して DB 書き込み中断
remote 未 enable 状態で remote サーバ設定 "Remote feature is not enabled. Please enable the remote feature first." を表示して中断
SSH path の不正フォーマット is_valid_ssh_path() で検証 → エラーメッセージ出力して DB 書き込み中断