# 副本无盘复制失败：等待主节点 RDB 文件超时

- **ID:** `redis/replica-diskless-replication-timeout`
- **领域:** redis
- **类别:** network_error
- **错误码:** `ERM`
- **验证级别:** ai_generated
- **修复率:** 82%

## 根因

副本在无盘复制期间未在 repl-timeout 内收到完整的 RDB 文件，通常由于网络拥塞或主节点 I/O 缓慢。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 6.0 | active | — | — |
| 7.0 | active | — | — |
| 7.2 | active | — | — |

## 解决方案

1. ```
   使用 'redis-cli --latency' 检查主节点和副本之间的网络延迟。如果超过 100ms，考虑将其放在同一数据中心或使用更快的链路。
   ```
2. ```
   在主节点上运行 'CONFIG SET repl-timeout 120' 和 'CONFIG SET repl-backlog-size 100mb' 以容纳更大的 RDB 文件。
   ```

## 无效尝试

- **** — Falls back to disk-based replication, which can be slower and cause disk I/O spikes. (55% 失败率)
- **** — May mask underlying network issues; can cause long failover delays. (65% 失败率)
- **** — Temporary fix; timeout will recur if network or master issues persist. (75% 失败率)
