tidb v5.4.1 集群使用br 备份出来的文件无法恢复

直接备份到本地是没有 tmp文件的,看着是正常的

除了升级 TiDB 版本,us3 是否做过什么变更,可以描述下这个 s3 的实现机制吗,我们在 aws s3 没遇到这个问题

1 个赞

请问一下,题目描述是备份到 s3 中,但是看起来你使用的是 local:// 开头的目录。是用某种方式将 S3 以文件系统的形式挂载了吗?

为了确保备份到本地的文件系统的原子性,BR 会先在本地文件系统生成一个临时文件(就是你看到的 tmp 文件),等待文件全部写完之后,BR 会调用文件系统的 rename API 来实现原子性地写入。

如果文件系统对 rename 的支持有限的话,可能就会出现类似的问题。

2 个赞

另外,我发现 us3 的文档里面提到挂载的文件系统不支持追加写,这对备份也可能造成一些影响。如果可能的话,请尽量优先使用 s3:// 的实现来备份到 S3,可以参考这里

1 个赞

好的,我先看看,非常感谢

请问下, BR 的s3 在哪里可以设置分片大小

是说 multi-part 的大小吗?看起来目前没有太合适的方法来修改它。

作为参考,TiKV 有一个内部配置项(backup.s3-multi-part-size),但是这个只是用来处理超大规模集群中遇到的请求数量过多的问题的,目前不建议依赖这个配置项。

我用这个解决问题了

但是我觉得这个参数如果可以放在br 备份的时候动态发送给tikv 会比较好点

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