1、故障现象
某天巡检时发现有TeleDB实例备份失败,报错:wait: remote command exited without exit status or exit signal
2、故障分析
该报错由备份进程backuprecovery抛出,需要查询详细backuprecovery.log来确定问题。
3、故障处理
- 通过查询配置库确定具体set对应的backuprecovery进程,SQL如下:
- 根据控制台备份失败时间点定位log位置,报错如下:
[ERROR] (teledb/pkg/backuprecovery/backup.(*basicBackupManager).logErrorAndReport:161) [set_1972382838801]backup end because run xtrabackup failed, run innobackup failed, wait: remote command exited without exit status or exit signal
[ERROR] (teledb/pkg/backuprecovery/backup.(*basicBackupManager).Cancel:280) try to kill innobackup failed!, wait: remote command exited without exit status or exit signal
……
- 日志中是连接zk异常,导致备份进程中断。
- 检查客户环境发现网络延时较大,查看zk集群配置,ticktime默认2s。修改tickTime为20s后重启zk集群,在下次备份时没有再报错。
4、故障总结
- 备份过程中,控制台仍需要连接zk写心跳,如果连接zk异常,可能会导致进行中的所有备份任务失败。(中止xtrabackup进程)