在EC2上托pipeMongoDB时select正确的存储空间

我正在Amazon EC2实例上设置一个MongoDB集群,文档说…

为获得最佳性能,我们build议为数据文件,日志和日志分别存储卷。 每个具有不同的写入行为,并将它们放在不同的卷上,可减lessI / O争用。

然后跟着…

注意:使用不同的存储设备会影响您创build快照式数据备份的能力,因为这些文件将位于不同的设备和卷上。

但是它并没有说出可能的影响。

我猜测这样做的影响是,它完全消除了在实例运行时执行快照样式备份的能力?

如果我要停止MongoD服务,以便数据文件,日志和日志不再被写入并快照所有这三个,我仍然会得到一个安全的可恢复备份?

根据Mongo的回答是:

刷新并locking数据库

必须将写入挂起到文件系统才能创build数据库文件的稳定副本。

在MongoDB 2.0之前,这是通过使用fsync和lock的MongoDB shell实现的:

mongo shell> use admin mongo shell> db.runCommand({fsync:1,lock:1}); { "info" : "now locked against writes, use db.$cmd.sys.unlock.findOne() to unlock", "ok" : 1 } 

MongoDB 2.0添加了db.fsyncLock()方法来locking数据库并刷新写入磁盘,并在快照完成后添加db.fsyncUnlock()方法来解锁数据库。

在数据库被locking的时候,这个数据库收到的任何写请求都会被拒绝。 任何应用程序代码都需要适当地处理这些错误。

如何在EC2中设置Mongo,请参阅https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/

备份覆盖在这里: https : //docs.mongodb.org/ecosystem/tutorial/backup-and-restore-mongodb-on-amazon-ec2/#ec2-backup-and-restore