KDUMP テーブル¶
概要¶
Linux kernel crash dump (kdump) の設定。KDUMP|config の単一 container1。hostcfgd がこの 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 構造¶
(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_string、show kdump - 関連 YANG:
sonic-kdump
関連リファレンス¶
- YANG:
sonic-kdump - CLI:
config kdump
引用元¶
関連ページ¶
運用ヒント¶
典型値¶
- key 形式:
KDUMP|config。 enabled:true、memory:0M-2G:256M,2G-:512M、num_dumps:3。
よくある誤設定¶
- memory が小さすぎると kdump kernel が起動できず crash dump が取れない。
確認コマンド¶
値依存挙動マトリクス¶
このテーブルに 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 書き込み中断 |