首页/数据/数据库速查/故障判定与自动切换流程(sdown/odown/选举)
Redis 运维与场景124 条

故障判定与自动切换流程(sdown/odown/选举)

流程:单哨兵主观判定 sdown -> 达到 quorum 后标记 odown -> 选举领头哨兵 -> 挑最优从库提升 -> 重配其它从库与旧主 -> 通知客户端。

数据库速查数据更新于 2026-10-12

阶段

阶段触发/动作
sdown单个哨兵视角:down-after 内无响应
odownquorum 个哨兵都认为挂,才客观下线
选举Raft 风格选举 lead 哨兵(需多数派授权)
提升按优先级/offset/runid 挑从库执行 REPLICAOF NO ONE
重配其它从库 REPLICAOF 新主;旧主恢复后也降级

观察状态

观察状态
redis-cli -p 26379 SENTINEL master mymaster | grep -E 'flags|num-slaves|quorum'
redis-cli -p 26379 INFO sentinel
# 日志追踪:tail -f /var/log/redis/sentinel.log
从库挑选顺序:replica-priority(小者优先)> 复制 offset 大者 > runid 小者;把重要机器 priority 调小可影响结果。

易错点

  • 只设 2 个哨兵:任一挂掉就凑不齐多数派,切换永远流产
  • promoted 从库 priority 与配置不一致:切到最弱机器上

数据来源与参考

  • Redis 官方文档: 故障切换流程
  • Redis 官方文档: sentinel down-after-milliseconds

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌