我已经为mongo dbdir创建了一个备份过程。 恢复过程将获取rsync创建的一个备份,并将其复制到新磁盘并将其安装在数据目录上。
在该过程之后,我仍然看到在恢复过程之前存在的集合和数据库(数据库显示为空),直到我重新启动mongo。 如果可能的话,我想避免重启,
有没有办法让mongo动态重新加载其数据文件? (我没有使用mongodump,因为它出于某种原因在mongorestore之后将数据库从4GB膨胀到40GB,但这是一个不同的问题)
答案 0 :(得分:1)
在正在运行的mongod dbpath上使用 rsync 可能会导致损坏或意外错误。有关支持的备份和还原备选方案,请参阅MongoDB Backup Methods。
使用 rsync 时,请考虑MongoDB manual中的以下建议:
如果存储系统不支持快照,则可以使用cp,rsync或类似工具直接复制文件。由于复制多个文件不是原子操作,因此必须在复制文件之前停止对mongod的所有写入。否则,您将以无效状态复制文件。