现象
在使用Percona MongoDB时在对线上MongoDB进行热备时出错,导致热备失败。日志报如下信息:
1 | >db.runCommand({createBackup: 1, backupDir: "/data/backup"}) |
原因
由于历史的原因,存在多个不版本的MongoDB,并为了方便管理,在库中配置了下列两个参数:
1 | directoryPerDB: true |
这两个参数对于热备存在兼容性问题。
解决方案
- 使用更高版本的Percona MongoDB
- 如果一定要保留directoryPerDB和directoryForIndexes,需要重新进行初始化同步。