searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

记一次锁超时导致TeleDB备份失败的处理过程

2023-10-30 07:50:17
14
0

1、故障现象

某天巡检时发现有TeleDB实例备份失败,报错backup end because run xtrabackup failed.error: run backup failed, can’t find completed OK! In last half ret,如图

 

2、故障分析

导致xtrabackup备份失败的原因有很多,比如xtrabackup版本不匹配、ssh连不上备份机、锁超时等。这里从监控页面展示的部分信息暂时无法判断,需要通过查询backuprecovery.log来确定具体原因。

 

3、故障处理

  • 查看历史备份发现set只有最近一次备份失败,之前备份都正常。
  • 查询配置库确定set对应的backuprecovery进程,SQL如下:select distinct a.user_id,a.tags,b.seq_number,b.prod_db_engine from db_resource a left join data_genius_thread b on a.user_id = b.user_id where b.prod_db_engine='xxx' and a.tags = 'set名';(xxx对应替换为7或8.0)
  • 根据备份时间定位日志中的具体位置,详细信息如下:
  • 日志报错是获取锁失败,备份时数据库实例应该有慢查询或者其他SQL导致。
  • 连上备份节点(一般是从库)检查processlist,发现当前没有慢SQL。
  • 等下次触发备份时再观察是否能备份成功。经过观察,下次备份可以成功。

 

4、故障总结

  • 实例在某次备份失败,但以往备份都正常,可能原因是:①备份过程中控制台连接zk超时导致失败 ②从库有慢查询导致备份失败。这两种原因都需要检查控制台log来进一步确认。
  • 备份命令中--ftwrl-wait-timeout=20,该选项指定innobackupex阻塞执行flush table with read lock;语句的时长以等待查询执行完成,如果等待时间超过20秒之后仍然有查询在执行,则报错终止备份过程。
0条评论
0 / 1000
1****n
19文章数
0粉丝数
1****n
19 文章 | 0 粉丝
原创

记一次锁超时导致TeleDB备份失败的处理过程

2023-10-30 07:50:17
14
0

1、故障现象

某天巡检时发现有TeleDB实例备份失败,报错backup end because run xtrabackup failed.error: run backup failed, can’t find completed OK! In last half ret,如图

 

2、故障分析

导致xtrabackup备份失败的原因有很多,比如xtrabackup版本不匹配、ssh连不上备份机、锁超时等。这里从监控页面展示的部分信息暂时无法判断,需要通过查询backuprecovery.log来确定具体原因。

 

3、故障处理

  • 查看历史备份发现set只有最近一次备份失败,之前备份都正常。
  • 查询配置库确定set对应的backuprecovery进程,SQL如下:select distinct a.user_id,a.tags,b.seq_number,b.prod_db_engine from db_resource a left join data_genius_thread b on a.user_id = b.user_id where b.prod_db_engine='xxx' and a.tags = 'set名';(xxx对应替换为7或8.0)
  • 根据备份时间定位日志中的具体位置,详细信息如下:
  • 日志报错是获取锁失败,备份时数据库实例应该有慢查询或者其他SQL导致。
  • 连上备份节点(一般是从库)检查processlist,发现当前没有慢SQL。
  • 等下次触发备份时再观察是否能备份成功。经过观察,下次备份可以成功。

 

4、故障总结

  • 实例在某次备份失败,但以往备份都正常,可能原因是:①备份过程中控制台连接zk超时导致失败 ②从库有慢查询导致备份失败。这两种原因都需要检查控制台log来进一步确认。
  • 备份命令中--ftwrl-wait-timeout=20,该选项指定innobackupex阻塞执行flush table with read lock;语句的时长以等待查询执行完成,如果等待时间超过20秒之后仍然有查询在执行,则报错终止备份过程。
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0