Warm-Reboot / Fast-Reboot 関連¶
概要¶
Warm Reboot はデータパス維持(無瞬断)を目標とした SONiC 再起動方式、Fast Reboot は数十秒〜数分のサービス停止を許容しつつ通常 reboot より高速にイメージを切り替える方式です。両者とも kexec で新カーネルにジャンプし、SWSS / syncd / orchagent / BGP / LACP などのプロセスを warm restart モード で再立ち上げして、ASIC の状態を可能な限り再利用します。
このカテゴリは、warm/fast reboot に関わるページを area 横断でまとめます。system(warm-reboot 全体順序・SWSS docker warm restart・libsairedis idempotence・Multi-ASIC warm-reboot)・switching(LACP retry 拡張・ProducerStateTable view switching)・routing(BGP テストプラン)・reference(reboot / fast-reboot / warm-reboot CLI)に分散しています。
歴史的に warm-reboot は「syncd view comparison 方式」と「libsairedis idempotence 方式」の 2 系統で発展しており、現行マスターは後者ベースです。設計の経緯は what-are-the-development-phases-and-scope-for-warm-reboot.md を参照すると理解しやすいです。
主要キーワード: warm reboot, fast reboot, warm restart, kexec, SWSS, docker, libsairedis idempotence
関連ページ¶
system(HLD / 全体順序)¶
- SONiC Warm Reboot(要件・順序・docker 別 warm restart) (area:
system, verification:code-verified) — まずこれ - Warm Reboot 開発フェーズと OID 復元戦略(idempotent libsairedis vs syncd view comparison) (area:
system, verification:code-verified) - Fast-reboot Flow Improvements(finalizer / reconciliation) (area:
system, verification:hld-only) - Multi-ASIC warm reboot(namespace 横断の協調 shutdown / boot) (area:
system, verification:code-verified) - SWSS docker warm restart(state restore / consistency / sync up) (area:
system, verification:code-verified) - SWSS docker の Warm Restart 実装メモ(開発時リファレンス) (area:
system, verification:discrepancy-found) - libsairedis API idempotence(warm restart 用 OID キャッシュと duplicate 抑止) (area:
system, verification:discrepancy-found) - kdump(kexec ベース kernel crash dump / makedumpfile) (area:
system, verification:code-verified)
switching(LACP / view switching)¶
- Warm-reboot 中の LACP retry count 拡張(LACP version 0xf1 / 新規 TLV) (area:
switching, verification:code-verified) - ProducerStateTable の view switching(warm reboot 用の差分適用) (area:
switching, verification:code-verified)
routing / reference¶
- VRF Ansible テストプラン(T0 上で BGP/ACL/loopback/warm-reboot 含む E2E 検証) (area:
routing, verification:hld-only) - reboot / fast-reboot / warm-reboot コマンド (area:
reference, verification:code-verified)
典型的な読み進め方¶
- 全体像 →
sonic-warm-reboot.mdで warm reboot 全体の要件・順序・docker 別動作 - 設計の経緯 →
what-are-the-development-phases-and-scope-for-warm-reboot.mdで idempotent libsairedis 方式の前提 - docker レベル →
sonic-swss-docker-warm-restart.mdで state restore / consistency / sync up - 特殊ケース →
multi-asic-warm-reboot.md(Multi-ASIC)・increasing-lacp-pdu-timeout-during-warm-reboot.md(LACP) - Fast Reboot →
fast-reboot-flow-improvements-hld.mdで finalizer / reconciliation - CLI →
reboot-fast-warm.mdで実機でのwarm-reboot/fast-rebootコマンド
関連 Topics 章¶
- Topics 11: Reboot / Upgrade — Reboot 系を段階的に学ぶ章(
concept→setup→operations→internals→advanced→upgrade) - Topics 12: Multi-ASIC / VOQ — Multi-ASIC warm reboot の前提
- Topics 20: SWSS / SAI / Redis — libsairedis idempotence の前提
verification ステータス注意点¶
- hld-only:
fast-reboot-flow-improvements-hld.md,vrf-feature-ansible-test-plan-omit-in-toc.md - discrepancy-found:
swss-docker-warm-restart-code-reference.md,sonic-libsairedis-api-idempotence-support.md(HLD と現行コードの差異)