课程名称:课程版本(101/201/301)+ 课程名称
学习时长:1hour
课程收获:
了解BR备份还原原理以及一些报错处理
课程内容:
BR备份
BR备份限制:
1、只支持3.1及以上版本
2、只支持在全新的机器上执行恢复操作
3、BR备份最好是串行执行(不同备份之间可能会有影响)
原理:
1、BR会发送备份或恢复命令下发到各个TiKV(实际是BR发送请求给PD获取信息,PD来发命令给TiKV),PD会返回如TSO号、备份时间、TiKV信息等
2、根据PD发送的TiKV节点信息,来给TiKV发送备份请求,TiKV收到命令,会遍历节点上region leader的数据,对对应的版本号生成一个SST文件存放在备份目录下
3、备份完成,备份目录中包含SST文件、备份元信息,元信息可以使用命令解
备份注意:
1、版本老的需要改GC时间,参数是:tikv_gc_life_time
2、支持full、table、数据库级别的备份,备份多个库多个表用逗号隔开
增量备份:
1、需要全量备份作为基础
2、增量备份需要与全量备份在不同目录下
3、GC的safepoint必须在lastbackupts之前
BR还原
必要条件:每个TiKV节点需要能访问全量的备份文件
还原逻辑:
BR发送还原命令,先跟备份目录下的元文件做一个解析,解析完饭回库表信息和内部启动一个TiDB实例,在新集群中创建对应的库和表,再把解析出来的SST文件根据表进行聚合,再根据SST生成的key region,使每个region对应一个SST文件,遍历恢复的每一张表,以及张表对应的SST文件,然后找到该文件对应的region,发送下载文件的请求到对应的TiKV节点上,并在下载成功后,发送下载请求
增量恢复:
必须等全量恢复完,才能进行
BR常见问题处理
1、key locked error
备份中遇见key被锁住,就会报这个信息,BR会尝试把锁清掉,少量报错事不会影响备份正确性的
2、已存在的错误 Already Exists
解决方式是更换备份目录或删除目标目录下的所有文件
3、恢复时,报不能把这个备份文件拷贝下来,如could not read locl ......sst failed
可能是没有权限访问所有的备份文件,检查文件属性,把权限改正确
4、系统root用户执行BR,也无法访问
检查是不是TiKV节点无法访问
5、IO错误,如code 22
换个文件夹或换个盘
学习过程中遇到的问题或延伸思考:
- 问题 1:
- 问题 2:
- 延伸思考 1:
- 延伸思考 2: