对集群进行备份
开启日志备份
执行 tiup br log start 命令启动日志备份任务,一个集群只能启动一个日志备份任务。
tiup br log start --task-name=pitr --pd "${PD_IP}:2379" \
--storage 's3://backup-101/logbackup?access-key=${access-key}&secret-access-key=${secret-access-key
测试
br log start --task-name=pitr --pd "10.0.8.87:2379" --storage '/backup/diff1021'
日志备份任务启动后,会在 TiDB 集群后台持续地运行,直到你手动将其暂停。在这过程中,TiDB 变更数据将以小批量的形式定期备份到指定存储中。如果你需要查询日志备份任务当前状态,执行如下命令:
tiup br log status --task-name=pitr --pd "${PD_IP}:2379"
● Total 1 Tasks.
> #1 <
name: pitr
status: ● NORMAL
start: 2022-05-13 11:09:40.7 +0800
end: 2035-01-01 00:00:00 +0800
storage: s3://backup-101/log-backup
speed(est.): 0.00 ops/s
checkpoint[global]: 2022-05-13 11:31:47.2 +0800; gap=4m53s
测试
br log status --task-name=pitr --pd "10.0.8.87:2379"
定期执行全量备份
快照备份功能可作为全量备份的方法,运行 tiup br backup full
命令可以按照固定的周期(比如 2 天)进行全量备份。
tiup br backup full --pd "${PD_IP}:2379" \
--storage 's3://backup-101/snapshot-${date}?access-key=${access-key}&secret-access-key=${secret-access-key}
测试
br backup full --pd "10.0.8.87:2379" --storage '/backup/full1022'
进行 PITR
如果你想恢复到备份保留期内的任意时间点,可以使用 tiup br restore point
命令。执行该命令时,你需要指定要恢复的时间点、恢复时间点之前最近的快照备份以及日志备份数据。br 命令行工具会自动判断和读取恢复需要的数据,然后将这些数据依次恢复到指定的集群。
tiup br restore point --pd "${PD_IP}:2379" \
--storage='s3://backup-101/logbackup?access-key=${access-key}&secret-access-key=${secret-access-key}' \
--full-backup-storage='s3://backup-101/snapshot-${date}?access-key=${access-key}&secret-access-key=${secret-access-key}' \
--restored-ts '2022-05-15 18:00:00+0800'
恢复期间,可通过终端中的进度条查看进度,如下。恢复分为两个阶段:全量恢复 (Full Restore) 和日志恢复(Restore Meta Files 和 Restore KV Files)。每个阶段完成恢复后,br 命令行工具都会输出恢复耗时和恢复数据大小等信息。
Full Restore <--------------------------------------------------------------------------------------------------------------------------------------------------------> 100.00%
*** ["Full Restore success summary"] ****** [total-take=xxx.xxxs] [restore-data-size(after-compressed)=xxx.xxx] [Size=xxxx] [BackupTS={TS}] [total-kv=xxx] [total-kv-size=xxx] [average-speed=xxx]
Restore Meta Files <--------------------------------------------------------------------------------------------------------------------------------------------------> 100.00%
Restore KV Files <----------------------------------------------------------------------------------------------------------------------------------------------------> 100.00%
*** ["restore log success summary"] [total-take=xxx.xx] [restore-from={TS}] [restore-to={TS}] [to
测试
/app/tidb-community-toolkit-v8.1.1-linux-amd64/br restore point --pd "10.0.8.87:2379" --storage="/backup/diff1021" --full-backup-storage="/backup/full1021" --restored-ts '2024-10-22 17:02:02+0800'