使用BR恢复的问题

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v4.0-rc

tidb-toolkit-v4.0.0-rc-linux-amd64

  • 【问题描述】:

在恢复的时候如果没有事先创建库。那么恢复的时候会在库和表结构恢复了。但数据没有恢复,报如下错误

Error: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: timed out waiting for server handshake

如果事先创建好库了。那么可以正常恢复。但速度很慢。我就一张表,4个字段,3行数据。感觉要恢复一分钟的时间

1、原则上,在使用 BR 恢复时,会自动创建 table ,并将备份出来的 sst 文件导入到 RocksDB,针对上面的报错,请提供下完整的备份和恢复命令,这里测试验证下~~~

2、关于耗时:整个恢复的过程中,需要经历下述的步骤,每一步都会有相应的耗时,在数据量小时,可能 BR 的恢复速度无法更好的体现,建议对大库大表进行备份恢复,以更好的体验 BR 的效率:

1)在 tidb 中创建目标 table,db

2)集群设置为导入模式

3)完成 region 的 split 和 scatter

4)下载 sst 文件,将文件载入 RocksDB

5)将集群设置为 normal 模式

3、BR 相关的原理文档可以查阅:

https://github.com/pingcap/br/tree/master/docs/cn

tidb@tidbser2:/tidb/app/tidb-toolkit-v4.0.0-rc-linux-amd64$ bin/br backup db --pd "10.3.87.221:2379" --db "test" --storage "local:///tmp/backu
p" --log-file backup.logDetial BR log in backup.log
Database backup <--------------------------------------------------------------------------------------------------------------------> 100.00%
Checksum <---------------------------------------------------------------------------------------------------------------------------> 100.00%
[2020/04/28 09:05:26.797 +08:00] [INFO] [collector.go:58] ["Database backup Success summary: total backup ranges: 3, total success: 3, total f
ailed: 0, total take(s): 0.08, total kv: 9, total size(Byte): 342, avg speed(Byte/s): 4283.07"] ["backup checksum"=10.54461ms] ["backup fast checksum"=534.317µs] ["backup total regions"=4]


tidb@tidbser2:/tidb/app/tidb-toolkit-v4.0.0-rc-linux-amd64$ bin/br restore db --pd "10.3.87.221:2379" --db "test" --storage "local:///tmp/back
up" --log-file restore.logDetial BR log in restore.log

如果需要日志

https://asktug.com/uploads/short-url/AtlPw0BT1QmvVKLnBHWDNi3pvRY.log

恢复日志,不过这个是一个正常恢复时的日志。报错了没有保留

restore.log (165.9 KB)

好的,感谢反馈,日志是恢复成功的日志,下次如果再次出现相关报错,请保留相关信息 ,并跟帖回复,这边再看下,感谢测试和关注 TiDB 。