8.5.3 pitr checkpoint不推进

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v8.5.3
【复现路径】版本由v7.1.3升级到v8.5.3, 之前的版本pitr正常,但是br log truncate无法删除数据,升级之后现象相同,于是删除之前的pitr,重建了个新的,结果checkpoint死活不推进
【遇到的问题:问题现象及影响】
新建pitr, 状态: NORMAL, 但是checkpoint 死活不走, 重启多次,重建多次都没用, 请问要如何排查问题。

PS: 备份存储使用的是局域网ntfs,共享盘访问正常

补充: pitr启动之后,我的tikv就开始异常,资源空闲,但是前端的写请求被大量堵塞,pitr关闭也不会自动恢复,必须重启tikv才能解决

强烈建议立即停止在 NTFS 共享盘上运行 TiDB(特别是涉及大量小文件读写的 BR/PITR 组件)

TiDB 官方明确:日志备份(Log Backup)不支持 Windows 局域网 SMB/NFS 共享文件系统作为存储后端,生产推荐对象存储 S3/GCS/Azure Blob,本地存储仅支持 Linux 本地 EXT4/XFS SSD 磁盘。

  • 文件锁、原子写机制缺失 TiKV 多节点并发写备份元文件(global_checkpoint.meta分片文件)时,SMB/NTFS 共享没有 Linux 原生文件锁,出现文件覆盖、元数据写入失败:TiKV 本地生成了新日志段,但无法成功更新存储上的 checkpoint 元文件,本地 TS 无法同步至全局,全局 Checkpoint 卡死。
  • 缓存延迟问题 Windows NTFS 共享存在服务端写入缓存延迟,TiKV 写入元文件后,立刻读取校验时读到旧数据,判定备份写入失败,放弃更新 Checkpoint;你看到任务状态NORMAL是因为 TiKV 自身进程无崩溃,但持久化元数据逻辑静默失败。
  • 权限隐性缺陷 即使能读写文件,SMB 共享对文件删除、覆盖、重命名的权限校验逻辑和 POSIX 标准不兼容,v8.5 的 BR 对元数据一致性校验比 v7.1 更严格,升级后直接暴露该底层存储缺陷(v7 校验宽松,仅 truncate 失效,v8 直接 Checkpoint 卡死)。

建议先检查br log目录的写入权限和挂载参数,NTFS共享盘可能存在POSIX权限兼容问题。试试在br log任务启动时加 --status-addr :6090 参数单独起服务查看实时日志输出。

PITR checkpoint 不推进通常是有大量变更日志未完成扫描。先检查 br log status 的 lag 和进度,确认共享存储权限无变化;v8.5.3 可尝试调整 --concurrency 参数并观察日志中是否有 scan/merge 阶段的报错信息。

TiDB v8.5.3 升级后 PITR checkpoint 停滞,根源多是存储介质不匹配。NTFS 共享盘大量小文件读写性能差,会阻塞 BR 日志截断与位点推进,即便重建 PITR、重启集群也无法解决。

好像没用,端口都没起来

兄弟 你应该是遇到BUG了,我之前也遇过过,你看下你的tikv 内存有没有上涨,最终导致卡死

论坛上也有其它人遇到了的,但是我搜索不到了

tikv的资源使用没看到明显变化, 好像也不是所有的kv都有问题, 也没法确认是哪一个或者几个有问题,只能挨个全部重启后,集群才能恢复正常

学习了

1 个赞

我估计大概率是BUG了
我们之前也是pitr的checkpoint 不动,最后导致卡死