某一主两次备份是从22:50开始备份
收到告警:22:00开始开始出现同步延迟,发现产生大量的binlog,从
information_schema.processlist查看是
批量删除的大事务,导致主从延
收到备份失败告警,
查看备份日志:
xtrabackup: error: log block numbers mismatch:
xtrabackup: error: expected log block no. 330490608, but got no. 338879208 from the log file.
xtrabackup: error: it looks like InnoDB log has wrapped around before xtrabackup could process all records due to either log copying being too slow, or log files being too small.
xtrabackup: Error: xtrabackup_copy_logfile() failed.
从以上错误日志可以看出,大概的意思是说:
XtraBackup在顺序拷贝完redo log末尾的数据后,重新从redo log的起始位置去拷贝时,发现起始位置的log block no.与刚才尾部的no.不连续。
当然日志里也进一步给出了解释:
在XtraBackup处理完所有的redo log数据之前,redo log起始位置的数据就被后续写入的log覆盖掉了。原因可能是拷贝redo log的速度太慢了,或者redo log文件的大小设置太小了。
失败原因:
Innodb产生日志的速度远超于Xtrabackup复制的速度,部分Innodb日志被截断,
导致备份失败。