【TiDB 4.0 PCTA 学习笔记】- 3.4 Data Backup and Restore (BR)(备份恢复工具 BR)@1班+赵燕雄

课程名称:课程版本(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:

学习过程中参考的其他资料