gpt4 book ai didi

mongodb - 如何为单节点设置获取一致的 MongoDB 备份

转载 作者:可可西里 更新时间:2023-11-01 09:45:27 26 4
gpt4 key购买 nike

我在非常简单的设置中使用 MongoDB,并且需要一致的备份策略。我发现在锁定/解锁中包装 mongodump 是个坏主意。然后我读到 --oplog 选项应该能够在没有锁定/解锁的情况下提供一致性。但是,当我尝试这样做时,它说我只能在“完全转储”上使用 --oplog 选项。我浏览了文档和很多文章,但似乎仍然不清楚如何从单个时间点转储 mongo 数据库。

现在我只是进行正常的转储,但我假设如果在转储期间有写入,它会使备份不是来自单个时间点,对吗?

mongodump -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE -o ./${EXPORT_FILE} -u backup -p password --authenticationDatabase admin

最佳答案

在生产环境中,MongoDB 通常部署为副本集,以确保冗余和高可用性。如果您正在运行独立的 mongod 实例,则有几个选项可用于时间点备份。

您提到的一个选项是使用 –oplog 选项执行 mongodump。但是,此选项仅在您运行副本集时可用。您可以轻松地将独立的 mongod 实例转换为单节点副本集,而无需添加任何新的副本集成员。详情请查看以下文档。

http://docs.mongodb.org/manual/tutorial/convert-standalone-to-replica-set/

这样,如果在 mongodump 运行时有写入,它们将成为您备份的一部分。请从以下链接查看使用 Oplog 的时间点操作部分。

http://docs.mongodb.org/manual/tutorial/backup-databases-with-binary-database-dumps/#point-in-time-operation-using-oplogs

请注意,使用 mongodump 和 mongorestore 备份和恢复 MongodDB 可能会很慢。

文件系统快照是另一种选择。来自以下链接的信息详细介绍了执行 MongoDB 热备份的两个快照选项。

http://docs.mongodb.org/manual/tutorial/backup-databases-with-filesystem-snapshots/

您还可以查看 MongoDB 备份服务。

http://www.10gen.com/products/mongodb-backup-service

此外,带有 oplog 选项的 mongodump 目前不适用于单个数据库/集合。有计划实现该功能。您可以关注票证并在“更多操作”按钮下为该功能投票。

https://jira.mongodb.org/browse/SERVER-4273

关于mongodb - 如何为单节点设置获取一致的 MongoDB 备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17458124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com