# 哨兵：故障转移中止 - 主节点变更后无法达到仲裁数

- **ID:** `redis/redis-sentinel-down-after-master-failover`
- **领域:** redis
- **类别:** runtime_error
- **错误码:** `SENTINEL`
- **验证级别:** ai_generated
- **修复率:** 85%

## 根因

在主节点故障转移后，新主节点的配置纪元不一致，导致哨兵实例失去仲裁并中止故障转移过程。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| redis 6.2 | active | — | — |
| redis 7.0 | active | — | — |
| redis 7.2 | active | — | — |
| redis 7.4 | active | — | — |

## 解决方案

1. ```
   Manually reset the sentinel state for the affected master: `SENTINEL RESET mymaster` on each sentinel. Then monitor with `SENTINEL MASTER mymaster` to verify quorum.
   ```
2. ```
   Force a new failover by running `SENTINEL FAILOVER mymaster` on the leader sentinel after ensuring all sentinels agree on the new master's configuration.
   ```
3. ```
   Check and synchronize sentinel configuration files across all nodes, ensuring `sentinel monitor` and `sentinel auth-pass` are identical, then restart sentinels one by one.
   ```

## 无效尝试

- **Restarting all sentinel instances simultaneously** — Simultaneous restart can cause all sentinels to lose state, delaying failover detection and potentially causing split-brain scenarios. (75% 失败率)
- **Manually setting the old master back as leader** — The old master may be unreachable or have stale data; forcing it back can cause data loss and inconsistency with replicas. (95% 失败率)
- **Increasing sentinel quorum to 5** — Higher quorum makes it harder to reach consensus, especially in degraded networks, and does not fix the epoch mismatch. (80% 失败率)
