拍摄运行MongoDB的EC2实例快照的最佳方式是什么?

拍摄运行MongoDB的EC2实例快照的最佳方式是什么?,mongodb,amazon-web-services,amazon-ec2,aws-cli,Mongodb,Amazon Web Services,Amazon Ec2,Aws Cli,我想自动拍摄连接到运行生产MongoDB replicaSet主节点的EC2实例的卷的快照。在试图评估谷歌的陷阱和最佳实践时,我发现,在创建快照时,数据不一致和损坏是非常可能的,但在我们的案例中,日志记录是不启用的 所以我的问题是——继续执行aws ec2 create snapshot--volume id以获得数据的干净备份是否安全? 此外,我计划通过每周运行一次的cron作业来运行相同的命令。这是一个足够好的计划来安排备份吗 对于EC2实例上的MongoDB,我执行以下操作: mongod

我想自动拍摄连接到运行生产MongoDB replicaSet主节点的EC2实例的卷的快照。在试图评估谷歌的陷阱和最佳实践时,我发现,在创建快照时,数据不一致和损坏是非常可能的,但在我们的案例中,日志记录是不启用的

所以我的问题是——继续执行aws ec2 create snapshot--volume id以获得数据的干净备份是否安全?
此外,我计划通过每周运行一次的cron作业来运行相同的命令。这是一个足够好的计划来安排备份吗

对于EC2实例上的MongoDB,我执行以下操作:

  • mongodump到EBS卷上的备份目录
  • 压缩mongodump输出目录
  • 将zip文件复制到S3存储桶(启用加密和版本控制)
  • 启动EBS卷的快照
  • 我编写了一个脚本来执行上述任务,并通过cron安排它每天运行。现在,您将在EC2实例、EBS快照和S3上备份数据库。通过在S3存储桶上启用跨区域复制,您可以更进一步

    此设置提供了多个级别的备份。现在,您应该能够在发生EC2故障、EBS故障、AWS可用性区域故障甚至是完全的AWS区域故障时恢复数据库

    我建议您阅读有关EC2部署的官方MongoDB文档:

    非常感谢,这听起来是一个更好的备份计划。我要试试这个。但我的部分问题仍然没有得到回答-在启动mongodump或创建ebs卷快照之前,我是否需要停止mongod进程,或者在mongod运行并更新/查询集合的情况下运行这些进程是否安全?在使用数据库时运行mongodump应该是安全的。此外,如果数据库停止,则无法运行它。关于快照,我利用了转储文件在快照中这一事实,因此我不担心活动数据库文件。如果要确保在从快照创建服务器时,工作数据库立即可用,则需要遵循我链接的说明,其中描述了暂停写入文件系统的过程。