tidb 单机多实例部署断电后无法启动tikv

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】v4.0.9

【问题描述】

你好,环境是单机多实例部署,集群拓扑如下:

服务器断电后,无法启动tikv角色,三个都无法启动;
20160 & 20161 报duplicated store address
20162 报 ["failed to create raft engine: RocksDb Corruption: Can’t access /000004.sst: IO error: No such file or directorywhile stat a file for size: /tidb/data/tikv3/raft/000004.sst: No such file or directory
"]

部署拓扑文件如下:
tidb-cluster.yml (3.0 KB)

tikv-20160 日志如下:
tikv-20160.log (8.5 MB)

tikv-20162 日志如下:
tikv-20162.log (8.8 MB)

服务器断电之前,服务都是正常的。
感谢。

3 个赞

断电后,文件丢了么?
No such file or directorywhile stat a file for size: /tidb/data/tikv3/raft/000004.sst

2 个赞

我在3个tikv data目录中,都没发现这个sst

2 个赞

我这个环境数据是不是没法恢复了呀。3个tikv 都需要重建。

1 个赞

有发现其他的 SST 么? 估计数据丢了

1 个赞

要恢复集群状态,按这个上面描述的操作

1 个赞

tikv20162 里有很多sst, tikv20160和 tikv20161里面只有几个sst。

1 个赞

我的tikv20160和 tikv20161 是只能rm datadir 重建了吧?那tikv20162 还能抢救下嘛,不然数据就全没了

1 个赞

副本数够,数据副本没全丢,就还好,丢了就。。。。

1 个赞

请教下,为啥我只是断电就导致数据丢失呢?我每个tikv 挂的都是不同的硬盘。怎么样能够避免呢?

1 个赞

你用的系统文件格式是啥? Ext4 还是 XFS?

1 个赞

ext4 使用官方文档的做的硬盘格式化

装个 UPS吧… :sweat:

你们不会是开了raid卡缓存了吧?我们这边测试环境开启raid卡缓存后,经历过断电数据丢失的情况。如果是这种情况建议检查raid卡电池。
如果是生产环境,还是建议加装UPS和集群部署。

这台机器只有系统盘加了raid卡,tikv数据盘没做raid的。

好的,那还是按上面伙伴说的方案去尝试恢复数据吧~
最后,如果是生产环境,一定记得加装UPS和集群化部署~

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。