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\n”]

部署拓扑文件如下:
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和集群化部署~