[FAQ] TiDB v2.1.13,TiKV 掉电如何恢复正常。

【问题澄清】

  • tidb 版本:v2.1.13
  • 集群状态:
    pd-ctl store 情况:

tikv.log 报错位置截图:

【解决方案】

  • sync_log 设置为 false,机器掉电后可能导致启动时 panic,建议修改 sync_log 为 true

对于报错 commit index is out of range ,可以通过如下步骤恢复

1.滚动重启所有可以正常启动的 TiKV

2.尝试启动这个 TiKV

如果仍有其他类似 last index,commit index 报错,则需要

1.把 Raft 状态机损坏的 Region 找出来

tikv-ctl --db /path/to/tikv-data/db bad-regions

2.把 Region 设置为 tombstone 状态

tikv-ctl --db /path/to/tikv-data/db tombstone -r --force

说明:上述命令在掉电故障的 TiKV 上执行,且TiKV 处于 stop 关闭状态

tikv-ctl 使用说明参考 https://pingcap.com/docs-cn/stable/tikv-control/

【相关链接】

【经典案例】