# SENTINEL：仲裁节点不可达，针对主节点 'mymaster' 的故障转移延迟

- **ID:** `redis/sentinel-arbiter-unreachable-failover-delayed`
- **领域:** redis
- **类别:** network_error
- **验证级别:** ai_generated
- **修复率:** 82%

## 根因

Sentinel 无法在故障转移超时内连接到仲裁节点（配置为法定人数参与的 Redis 实例），阻止达成法定人数并延迟故障转移。

## 版本兼容性

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

## 解决方案

1. ```
   使用 ping 和 redis-cli -h <arbiter-ip> -p <port> PING 检查仲裁节点的网络连接，然后根据需要修复防火墙规则或 DNS 解析。
   ```
2. ```
   通过将 sentinel monitor mymaster <ip> <port> <quorum> 降低到较小值（例如从 3 降到 2），临时调整法定人数以排除仲裁节点，直到仲裁节点恢复。
   ```
3. ```
   确保仲裁 Redis 实例以最小配置运行（例如端口 26379），并且所有 Sentinel 节点都可访问；验证 sentinel.conf 中的仲裁节点 IP 是否正确。
   ```

## 无效尝试

- **** — Increasing sentinel failover timeout (sentinel failover-timeout mymaster 60000) may allow more time but doesn't fix the underlying network or arbiter issue. (60% 失败率)
- **** — Removing the arbiter from the configuration reduces quorum resilience and may cause split-brain scenarios. (80% 失败率)
- **** — Restarting the arbiter without checking its network connectivity or configuration will result in the same unreachable state. (70% 失败率)
