【TiDB 4.0 PCTA 学习笔记】- 3.4 Data Backup and Restore (BR)(备份恢复工具 BR)@2班+董沛霖

课程名称:301 + 3.4 Data Backup and Restore (BR)(备份恢复工具 BR)

学习时长:20min

课程收获:掌握如何使用 BR 快速对 TiDB 集群进行备份还原

课程内容:

使用 BR 进行备份与恢复

Backup & Restore(以下简称 BR)是 TiDB 分布式备份恢复的命令行工具,用于对 TiDB 集群进行数据备份和恢复。相比 dumpling mydumper ,BR 更适合大数据量的场景。本文档介绍了 BR 的使用限制、工作原理、命令行描述、备份恢复用例以及最佳实践。

使用限制

  • BR 只支持 TiDB v3.1 及以上版本。
  • BR 支持在不同拓扑的集群上执行恢复,但恢复期间对在线业务影响很大,建议低峰期或者限速 ( rate-limit ) 执行恢复。
  • BR 备份最好串行执行,否则不同备份任务之间会相互影响。

原理

  • 它首先与 PD 交互,获取集群信息。
  • 再根据 PD 返回的 TiKV 信息,将备份或恢复操作命令下发到各个 TiKV 节点。
  • TiKV 收到命令后,遍历各个 region 的 leader,根据 TSO 生成 SST 备份文件,存放于备份目录下。

全量备份

  • 备份将自动过滤系统库。
  • 还原需要访问所有 SST 文件,建议在备份时从各个 TiKV 节点通过网络直接备份到同一块共享盘中。
  • 如果 BR 的版本低于 v4.0.3,而且备份时间可能超过设定的 tikv_gc_life_time (默认 10m0s ,即表示 10 分钟),需要手动将该参数调大。 自 v4.0.3 起 BR 已经支持自适应 GC,无需手动调整。
    mysql -h${TiDBIP} -P4000 -u${TIDB_USER} ${password_str} -Nse "update mysql.tidb set variable_value='720h' where variable_name='tikv_gc_life_time'";
  • 常用命令及参数:
    image

    更多信息请参阅备份恢复设计方案

增量备份:

  • 增量备份需要与前一次全量备份在不同的路径下
  • GC safepoint 必须在 lastbackupts 之前
  • 增备命令:
    br backup incr --pd ${PDIP}:2379 -s local:///home/tidb/backupdata/incr --lastbackupts ${LAST_BACKUP_TS}
    其中 LAST_BACKUP_TS=br validate decode --field="end-version" -s local:///home/tidb/backupdata
    此备份命令意为:备份 lastbackupts 到 current PD timestamp 之间的数据

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