我使用了MongoDB 3.6,并遵循了MongoDB文档:
https://docs.mongodb.com/manual/tutorial/resync-replica-set-member
若要执行从主节点到另一个单神实例的数据的完整副本,请执行以下操作。我将admin和local以及所有数据库文件夹复制到新节点中。在所有数据准备就绪后,将新节点添加到复制集中。副本集似乎会启动另一个初始同步,并将数据从主节点复制到新节点。我在主节点上得到了400 GB的数据,所以过了几个小时,次要节点的数据大小达到了600 GB,没有留下磁盘空间,导致同步失败。因此,即使在我手动复制数据之后,MongoDB似乎仍然将所有数据从主数据复制到第二数据。更令人惊讶的是,它使我复制的数据保持同步,并继续进行自己的数据同步。有什么建议吗?
发布于 2019-08-16 03:17:38
您执行重新同步的方式是不正确的。若要执行辅助成员的重新同步(假设它已经是副本集的成员),请从/data目录(包括日记)中删除所有文件夹(包括日志),然后重新加入复制集(停止单神进程)。
一旦它重新加入副本集,mongodb将自动将包括本地数据库在内的所有数据文件复制到辅助数据库中。您不需要手动复制管理或本地数据库,因为mongo会处理它
谢谢!
-Anban
发布于 2021-08-31 10:26:49
https://docs.mongodb.com/v4.0/tutorial/resync-replica-set-member/#copy-the-data-files
您可以将数据文件捕获为快照或直接副本。但是,在大多数情况下,您无法将数据文件从正在运行的单神实例复制到另一个实例,因为数据文件在文件复制操作期间将发生更改。
在这个链接中,也许你需要先停止你的主文件然后复制所有的文件然后呢?
https://dba.stackexchange.com/questions/245262
复制相似问题