# SENTINEL：故障转移未达到法定人数

- **ID:** `redis/sentinel-quorum-failure`
- **领域:** redis
- **类别:** runtime_error
- **错误码:** `ERM`
- **验证级别:** ai_generated
- **修复率:** 85%

## 根因

哨兵节点因网络分区或哨兵实例不足无法就主节点故障达成一致，阻止了故障转移。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| Redis 6.2.0 | active | — | — |
| Redis 7.0.0 | active | — | — |
| Redis 7.2.0 | active | — | — |

## 解决方案

1. ```
   Ensure at least 3 sentinel instances are running with quorum set to 2. Use SENTINEL SET <master-name> quorum 2 and verify connectivity with INFO sentinel.
   ```
2. ```
   Check network connectivity between sentinels: use redis-cli -h <sentinel-ip> -p 26379 PING to each sentinel. Fix firewall rules or DNS resolution.
   ```
3. ```
   If a sentinel is down, restart it individually and wait for it to rejoin the quorum. Monitor with SENTINEL MASTER <master-name>.
   ```

## 无效尝试

- **** — Manual failover bypasses sentinel checks and can cause split-brain if the original master recovers. (75% 失败率)
- **** — A high quorum makes failover harder to achieve, increasing downtime during real failures. (70% 失败率)
- **** — Simultaneous restart can cause all sentinels to lose state and delay failover; it does not fix network issues. (80% 失败率)
