意外断电导致sst文件丢失,集群不可用

【TiDB 使用环境】测试环境
【TiDB 版本】7.1.5
【部署方式】本地虚拟机部署
【操作系统/CPU 架构/芯片详情】
【集群数据量】6G
【集群节点数】3
【问题复现路径】集群电源故障导致3个节点数据库意外断电,数据文件丢失
【遇到的问题:问题现象及影响】


创建丢失文件重启发现丢失文件大小如下图

集群目前的状态如下:

这种情况如何恢复集群

1 个赞

还有一个tikv活着,估计得走 Unsafe Recovery

1 个赞

tikv竟然还有一个活的,这比较意外啊,先尝试下能不能正常扩容tikv,如果不能正常扩容tikv再考虑unsafe recover

1 个赞

11、 12节点的tikv能启动起来吗

1 个赞

我发现你们都不做备份的吗?
发生这种事要么Unsafe Recovery,要么重建集群从备份恢复

1 个赞

已无法启动集群

1 个赞

所有的region都损坏了吗这是

如果是每天凌晨备份,但不是实时备份的话,从备份恢复会不会也有数据丢失?

有参考文档吗,现在服务除了上面活着的,都无法启动了

那就没有更好的办法了,参考如下链接进行处理吧:
https://docs.pingcap.com/zh/tidb/stable/online-unsafe-recovery

3个节点只有1个可用,只能考虑做有损恢复了。

全量+实时增量备份都是现成的功能。

按照官方文档做 Unsafe Recovery吧

看这个样子要进行恢复了,使用 Online Unsafe Recovery 工具恢复

如果业务的新增或者修改操作,集群记录了元数据信息,但是对应的数据还在内存中没有及时刷新到新增的sst文件上,突然断电,就算有数据备份机制,此时会不会仍会导致sst文件缺失?还是说我这种表述有问题,只有生产sst文件才会记录元数据信息,如果是这种情况,那么生成的sst文件没来得及将数据刷新到对应sst文件上,此时又会导致什么问题?