tidb删除备份日志报错: backup GC safepoint exceeded

tidb@1 ~]$ tiup br log start --task-name pitr --storage /backup/tidb/log

Error: failed to check gc safePoint, checkpoint ts 433177834291200000: GC safepoint 433193092308795392 exceed TS 433177834291200000: [BR:Backup:ErrBackupGCSafepointExceeded]backup GC safepoint exceeded

官方文档:
https://docs.pingcap.com/zh/tidb/v6.5/backup-and-restore-faq/

文档写着"先执行 br log stop 命令来删除当前的任务",文档是不是写得不够完善?

即将按文档所说stop删除这个任务,但重新执行仍然会报错:
[tidb@1 ~]$ tiup br log start --task-name pitr --storage /backup/tidb/log --pd 192.168.1.31:2379

Checking updates for component br… Timedout (after 2s)
Starting component br: /home/tidb/.tiup/components/br/v7.5.1/br log start --task-name pitr --storage /backup/tidb/log --pd 192.168.1.31:2379
Detail BR log in /tmp/br.log.2026-01-06T16.51.31+0800
[2026/01/06 16:51:34.369 +08:00] [INFO] [collector.go:77] [“log start failed summary”] [total-ranges=1] [ranges-succeed=0] [ranges-failed=1] [unit-name=“log start”] [error=“failed to check gc safePoint, ts 462307356278259715: GC safepoint 463388882672287744 exceed TS 462307356278259715: [BR:Backup:ErrBackupGCSafepointExceeded]backup GC safepoint exceeded”] [errorVerbose=“[BR:Backup:ErrBackupGCSafepointExceeded]backup GC safepoint exceeded\nGC safepoint 463388882672287744 exceed TS 462307356278259715\ngithub.com/pingcap/tidb/br/pkg/utils.CheckGCSafePoint\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/utils/safe_point.go:78\ngithub.com/pingcap/tidb/br/pkg/task.(*streamMgr).setGCSafePoint\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/task/stream.go:394\ngithub.com/pingcap/tidb/br/pkg/task.RunStreamStart\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/task/stream.go:601\ngithub.com/pingcap/tidb/br/pkg/task.RunStreamCommand\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/task/stream.go:534\nmain.streamCommand\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/stream.go:232\nmain.newStreamStartCommand.func1\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/stream.go:70\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:940\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068\ngithub.com/spf13/cobra.(*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992\nmain.main\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/main.go:58\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:267\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_arm64.s:1197\nfailed to check gc safePoint, ts 462307356278259715”]
Error: failed to check gc safePoint, ts 462307356278259715: GC safepoint 463388882672287744 exceed TS 462307356278259715: [BR:Backup:ErrBackupGCSafepointExceeded]backup GC safepoint exceeded

终极解决方法:
rm -rf *

你这个启动的时间戳有问题啊

MySQL [(none)]> select tidb_parse_tso(462307356278259715);
+------------------------------------+
| tidb_parse_tso(462307356278259715) |
+------------------------------------+
| 2025-11-19 22:30:07.873000         |
+------------------------------------+
1 row in set (0.00 sec)

MySQL [(none)]> select tidb_parse_tso(463388882672287744);
+------------------------------------+
| tidb_parse_tso(463388882672287744) |
+------------------------------------+
| 2026-01-06 16:31:43.651000         |
+------------------------------------+
1 row in set (0.00 sec)

–storage /backup/tidb/log
这个换个路径启动应该就可以了

1.删除现在的pitr task
2.重新创建指定一个新的 storage 路径

1 个赞

可能是BR 要备份的起始时间戳早于 GC safepoint,对应日志已被 GC 清理

这可能会导致严重问题

1 个赞

定期检查 PITR 任务的存储路径磁盘使用率,避免因磁盘满导致任务异常,进而影响 TiKV 节点运行。

1 个赞

路径权限问题吗

1 个赞

直接删除掉原来路径下的所有文件就可以了,更换路径和清空文件一样。

2 个赞

清理备份路径残留元数据,重启日志备份任务,搭配全量备份,监控 GC 阈值防日志清理。

1 个赞

这是pitr的问题,nfs 3个tikv都挂载了磁盘,重启服务器有先后顺序,而pitr进程启动后就会检查3个tikv磁盘是否存在,如果不存在就会启动失败,而且pitr没有自动重试机制,pitr日志记录会保留24小时,超过24小时,控制文件中的记录就清掉了,就所以就会出现这样的问题。

2 个赞

先停止旧任务(即使提示失败也要执行):tiup br log stop --task-name pitr --storage /backup/tidb/log --pd 192.168.1.31:2379

2 个赞

先停止旧任务(即使提示失败也要执行):tiup br log stop --task-name pitr --storage /backup/tidb/log --pd 192.168.1.31:2379

清理下之前备份,重新发起备份任务试试