0

我将 Percona 5.7.18-16 用于我的 MySQL (Percona) 数据库服务器。

我正在使用 Percona xtrabackup 2.4.8 对正在运行的服务器进行实时备份。

我已经设置了一个测试服务器来验证从上述主服务器进行的备份。

测试服务器也在运行 Percona 5.7.18-16。

我发现 Percona xtrabackup 2.4.8 几乎 - 从来没有 - 做一个可行的备份......即使它报告“完成正常!” 完成备份阶段时在 CLI 中。在测试服务器上,大约有 80% 的时间在备份损坏时损坏索引,有时在恢复备份时表本身也损坏。

在验证服务器上运行“检查表表名”会使 innodb 中的验证服务器崩溃,每次备份都会出现各种表和索引损坏。

实时数据库的大小约为 400GB。我通过 sha256sum 确保我在测试服务器上恢复的 .tar 与源/主服务器上的二进制完全相同。我用

rsync -avh --progress --no-whole-file --partial user@source_server/path_to_tar.tar .

将 xtrabackup 生成的目录的 .tar 传输到验证/测试服务器。

我通过 innobackupex 符号链接调用它,例如

innobackupex --user=myuser --password=mypass --parallel=4 --rsync ...

接着

innobackupex --apply-log --user=myuser --password=mypass --use-memory=2GB ...

以这种方式生成的备份中约有 90% 已损坏,xtrabackup 在生成备份后没有报告任何错误或故障。对于企业应用程序来说,这是一个惊人的失败率。

关于我可以尝试解决这个问题的任何想法?Xtrabackup 似乎是一种常见且流行的工具。

我在实时服务器的表上运行了一个“检查表......”,它很干净。此时其上的 5.7 Percona 实例运行了大约 370 天。在过去的一年里,它每 24 小时处理大约 2500 万次插入和大约 3000 万次更新。

但事实证明,使用 xtrabackup 进行一致备份是不可能的。

任何指针?有人遇到过这种情况吗?如何获得 xtrabackup 以对 Percona 5.7 实例进行一致的备份?

谢谢!

斯特凡

4

0 回答 0