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