将AWS EC2 Instance上安装的MongoDB的存储位置设置为EBS存储。如何在实例停止/终止后恢复它?

时间:2016-09-16 14:55:31

标签: mongodb amazon-web-services amazon-ec2 amazon-ebs

Hello everone我是AWS的新手。我已经创建了Instance并在其上安装了MongoDB。但我从EC2文档中了解到,一旦停止或终止,存储在EC2机器上的数据就会被破坏。所以我必须使用EBS进行数据存储。

在创建EC2实例的第4步中,我选择了卷enter image description here

但我不知道如何使用它。它是由EC2-Instance自动用于存储数据还是我们必须手动执行。 我知道要更改数据库存储,我们必须更改名为mongod.conf的文件并在那里修改dbpath,但我不知道在那里提供什么路径。之后,如果我将EBS存储器取回,那么我也会销毁该实例。 提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

在屏幕截图中,EBS卷是实例的根卷。因此,除非您向实例添加其他卷,否则该实例上持久存储到磁盘的所有内容都将存储在EBS卷上。您可以选择(或创建)任何存储数据库的位置。

答案 1 :(得分:0)

按照说明 here 正确挂载 EBS 卷后,您可以使用以下步骤将数据存储到 EBS 卷。

  • 编辑 mongod.conf 文件。
    sudo nano /etc/mongod.conf

  • 将行 dbpath=/var/lib/mongodb 更改为新的路径存储位置,例如dbpath=/data/mongodb

  • 更新您选择的路径的权限以允许 MongoDB 用户对其进行写入,例如chown $USER -R /home/user/data/mongodb
    在大多数情况下,您的用户是 mongodb。所以你可以用 mongodb:mongodb

    替换 $USER
  • 重启服务
    sudo service mongod stop 然后 sudo service mongod start

注意,请注意,如果您在旧位置有任何数据要保留,则需要先停止 MongoDB 服务,手动移动文件,然后再次启动该服务。