课程名称:3.4 Data Backup and Restore (BR)(备份恢复工具 BR)
学习时长:
35分钟
课程收获:
掌握如何使用 BR 快速对 TiDB 集群进行备份还原
课程内容:
一、 BR备份
- 注意事项:
- 当前BR支持TiDB3.1或以上版本
- 目前支持在全新的环境进行恢复操作
- BR备份建议串行操作以免不同备份任务相互影响
- 原理
- BR将备份恢复命令发送到各个TiKV
- 收到命令后TiKV执行相应的备份或恢复操作,并将数据备份到各自的备份的目录中去
- 备份自动过滤系统库
- 备份操作
- 因BR还原需要新集群都需要访问到备份文件,建议备份到一个公共的网络盘
- 如果为了更快的备份,可以在TiKV节点挂载第二块盘,备份完成后将备份文件移动到备份盘(收益不大)
- 备份前需要将GC time 时间调大,大于备份时间;新版会在开始前自动调大,完成后自动恢复原配置
update mysql.tidb set variable_value=‘30m’ where variable_name=‘tikv_gc_life_time’; - 备份命令
- 增量备份
- 增量备份需要基于上次的全量备份为基础,且在不同的路径下
- GCSafePoint必须在LastBackup TS之前
- 备份命令
br backup full --pd ${PDIP}:2379 -s local:///home/tidb/backupdata --lastbackupts ${LAST_BACKUP_TS}
二、BR恢复
- 需注意每个TiKV均需能访问到备份目录
- 原理
- 恢复操作
- 如果使用本地存储,需要在恢复之前把所有备份的SST文件全量恢复到每个TiKV节点上
- 每个TiKV节点最终只读取SST文件,这些节点对SST有完全访问权,原因有两点:一是数据在多个对等节点中复制,当读取SST文件时,它存在与所有对等节点中,这与备份数据是不同的,备份数据只需要从每个节点把数据读出来 ;二是数据恢复过程中每个对等节点分布的位置是随机的,无法预知哪个节点读取SST文件。
- 恢复命令
- 增量恢复
- 与全量恢复没有太多不同
- 需注意全量恢复完之后才能增量恢复
三、常见问题排查