コンテンツにスキップ

config warm_restart サブコマンド

概要

config warm_restart は warm restart の enable 状態と daemon timer を設定する CLI グループ。enable/disable は STATE_DBWARM_RESTART_ENABLE_TABLE|<module> を更新し、timer 系は CONFIG_DBWARM_RESTART を更新する1

コマンド一覧

コマンド 用途
config warm_restart enable [--namespace <ns>] [<module>] module の warm restart を有効化
config warm_restart disable [--namespace <ns>] [<module>] module の warm restart を無効化
config warm_restart neighsyncd_timer [--namespace <ns>] <seconds> swssneighsyncd timer を設定
config warm_restart bgp_timer [--namespace <ns>] <seconds> bgp の timer を設定
config warm_restart teamsyncd_timer [--namespace <ns>] <seconds> teamd の teamsyncd timer を設定
config warm_restart bgp_eoiu [--namespace <ns>] [true|false] BGP EOIU を設定

各コマンドの詳細

enable / disable

<module> を省略すると systemmodule != system の場合は CONFIG_DB FEATURE テーブルに存在する feature 名だけを受け付ける。namespace 指定が無い場合、single-ASIC では default namespace、multi-ASIC では default + ASIC namespace 群に反映する2

timer 系

  • neighsyncd_timerWARM_RESTART|swssneighsyncd_timer を更新する。adhoc validation が有効な場合は 1-9998 秒。
  • bgp_timerWARM_RESTART|bgpbgp_timer を更新する。adhoc validation が有効な場合は 1-3599 秒。
  • teamsyncd_timerWARM_RESTART|teamdteamsyncd_timer を更新する。adhoc validation が有効な場合は 1-3599 秒。
  • bgp_eoiuWARM_RESTART|bgpbgp_eoiutrue / false で更新する。

関連リファレンス

引用元

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

flowchart LR
  CLI["config warm_restart"]
  SC["sonic-cfggen<br/>(config CLI のみ)"]
  CLI --> SC
  CDB0[("CONFIG_DB<br/>WARM_RESTART")]
  SC --> CDB0
  DM0["warmrestart"]
  CDB0 --> DM0
  CDB1[("CONFIG_DB<br/>FEATURE")]
  SC --> CDB1
  DM1["coppmgrd"]
  CDB1 --> DM1

凡例

config 系 (CLI → CONFIG_DB → daemon) のミニ図。テーブル → daemon 対応は docs/reference/config-db-orch-map.md から機械生成。

関連 Topics

運用ヒント

典型的な利用シーン

  • BGP / teamd / swss / syncd の warm-restart 有効化と timer 調整。
  • ソフト再起動前の安全弁としての有効化。

よくある落とし穴

  • warm-restart 中に CONFIG_DB を書き換えると state が破損する。
  • timer を短くしすぎると hardware 復旧前に reconcile が走り経路ドロップ。

関連する show / debug

show warm_restart config
show warm_restart state
sonic-db-cli STATE_DB keys 'WARM_RESTART_TABLE|*'

  1. config warm_restart グループは CONFIG_DB と STATE_DB connector を namespace ごとに初期化する。https://github.com/sonic-net/sonic-utilities/blob/39732bceb8bdefe706518ab40623bbbba6ff33b9/config/main.py#L3940 

  2. enable / disableWARM_RESTART_ENABLE_TABLE|<module>enable フィールドを書き込む。https://github.com/sonic-net/sonic-utilities/blob/39732bceb8bdefe706518ab40623bbbba6ff33b9/config/main.py#L3973