Online Unsafe Recovery恢复时出现ERROR 9001 (HY000): PD server timeout
【TiDB 使用环境】生产环境
【TiDB 版本】v7.5.7
【部署方式】机器部署
【遇到的问题:问题现象及影响】
tidb集群版本为v7.5.7,部署了3个tidb server、3个pd server、10个tikv server。模拟宕机2台tikv server使用 Online Unsafe Recovery 功能进行数据有损恢复。
在进行 第 3 步:检查数据索引一致性(RawKV 不需要)时,执行ADMIN CHECK TABLE table_name;命令报错
建议检查PD集群状态和网络连接。先执行 pd-ctl health 确认PD节点是否正常,如果某个PD节点未响应,可以尝试重启该节点。另外,检查TiKV和PD之间的网络延迟,超时可能是网络抖动导致。
如果PD正常,可以调大PD的RPC超时参数,在PD配置文件中增加:
[rpc]
timeout = "30s"
然后滚动重启PD。
建议在低峰期重试Unsafe Recovery,并确保PD Leader稳定。
OUR 执行阶段,PD 内部存在大量 Region 副本异常处理任务,PD CPU/etcd 磁盘被打满
- 2 台 TiKV 离线后,大量 Region 副本缺失,PD 后台不停执行:副本缺失检测、peer 销毁、Region 状态刷新、OUR 的 recovery 记录持久化写入 etcd;
- PD 的 etcd 持续高写入压力,PD 对外 API 响应延迟飙升,TiDB 的 ADMIN CHECK TABLE 请求等待超时抛出 9001;
- OUR 未完整走完全部流程(commit recovery),PD 会一直维护异常 Region 列表,调度线程被占满。
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。

