雷竞技下载官网为MongoDB Percona备份(PBM)是一个开源的、分布式的、高低一致的备份解决方案的MongoDB集群分片和复制集。
PBM v2.0.0,能力物理备份,除了逻辑的,已经投入使用。物理备份以来增加了v1.7.0作为技术预览版。
2023年3月,与物理备份,我们发现一个问题,在一定条件下,可以导致还原失败(pbm - 1058)。
本文包含额外的详细信息如下:
- 错误的条件下pbm - 1058触发。
- 可用的解决方案。
- 如何永久解决这个问题和我们的建议向受影响的用户和客户。
问题描述
如果你使用PBM v2.0.4或更早,你dbPath包含一个末尾斜杠(例如dbPath /var/lib/mongodb/),备份过程未能正确修剪dbPath从文件路径。
因此,当试图恢复备份在上面的场景中,恢复过程将失败,因为它将文件复制到错误的位置dbPath内部。例如,“文件名“将被复制到dbPath / dbPath /文件名,而不是dbPath /文件名,如以下示例:
- dbPath:
- /var/lib/mongodb/
- 文件名:
- 指数- 19 - 2519978004532031907. wt
- 位置恢复后的文件名:
- /var/lib/mongodb/var/lib/mongodb/index - 19 - 2519978004532031907. wt
- 预期位置恢复后的文件名:
- /var/lib/mongodb/index - 19 - 2519978004532031907. wt
我影响吗?
你是受pbm - 1058如果所有条件适用下列两种情况之一:
情形一
- 您正在使用PBM v2.0.4或更早。
- 你物理备份。
- 你的mongoddbPath选项末尾有斜杠。
- 例子:dbPath path-to-some-directory /
两个
- 您正在使用PBM v2.0.4或更早。
- 你是物理或增量备份。
- replset [] .files []。文件名fields in the backup metadata start with a forward slash /.
可用的解决方法
我们已经确定了一些解决方法,可以用于PBM v2.0.4或更早。永久的解决方案,本文中描述的问题是使用PBM v2.0.5更多细节(参见下一节)。
如果您使用的是PBM v2.0.4或更早,你影响pbm - 1058,我们建议以下解决方法之一,这取决于如果你能重新启动MongoDB,采取一个新的备份。
解决方案一
如果你可以把一个新的备份,请遵循以下步骤:
- 计划一个短的停机时间窗口。
- 改变你的mongod dbpath(在你使用任何脚本启动MongoDB和配置文件/etc/mongo.conf)删除任何末尾斜杠。
- 重新启动mongod。
- 新的物理备份。
在这个时候,你的新物理备份将不会受到影响pbm - 1058,其恢复正常工作。
解决方案2
如果新的备份是不可能的,你在需要恢复一个已经备份所影响的pbm - 1058,请遵循以下步骤:
- 在备份存储元(< backup_name > .pbm.json)削减前缀在所有“path-to-some-directory /文件名”字段。
- 相应的移动这些文件在磁盘上。
- 例子:移动“时间戳/ Shard_0 / path-to-some-directory /文件名”“时间戳/ Shard_0 /文件名”
- 运行该命令pbm配置-force-resync。
- 恢复备份。
永久的问题解决
永久的解决pbm - 1058已经通过合并把请求# 802。
PBM v2.0.5包括此修复和3月23日发布的2023年。包可以从下载这个链接和发行说明在这里。
从PBM v2.0.5开始,任何新备份将不会受到影响pbm - 1058,即使你dbPath包含一个末尾斜杠。
此外,从v2.0.5开始,在恢复过程中,PBM将确定如果备份(用PBM v2.0.4或更早)的影响pbm - 1058。如果是的,它将尝试auto-resolve在恢复过程中这个问题(把请求# 805)。
前面提到的解决方案两个仍在所有其他情况下是有用的。
建议
我们建议所有PBM用户和客户的影响pbm - 1058升级到PBM v2.0.5或更高版本,新的备份尽快。在未来这将避免任何可能的问题。
额外的问题
任何其他问题,Percona客户可以打开一个新的雷竞技下载官网支持的票。
社区用户可以使用通常的社区支持通道请求帮助。
雷竞技下载官网MongoDB Percona分布是一个免费的MongoDB数据库选择,给你一个解决方案,结合了最好的和最重要的开放源码社区的企业组件,设计和测试一起工作。






