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

将安装在AWS EC2实例上的MongoDB的存储位置设置为EBS存储。实例停止/终止后如何恢复?,mongodb,amazon-web-services,amazon-ec2,amazon-ebs,Mongodb,Amazon Web Services,Amazon Ec2,Amazon Ebs,大家好,我是AWS的新手。我已经创建并安装了MongoDB。但我从EC2文档中了解到,EC2机器上存储的数据一旦停止或终止就会被销毁。因此,我必须使用EBS进行数据存储 在创建EC2实例的第四步中,我选择了卷 但我不知道如何使用它。EC2实例是自动使用它来存储数据,还是我们必须手动执行。 我知道要更改数据库存储,我们必须更改名为mongod.conf的文件,并在那里修改dbpath,但我不知道在那里给出什么路径。在那之后,如果我销毁了那个实例,那么我将取回EBS存储。 提前感谢您的帮助。在您的屏

大家好,我是AWS的新手。我已经创建并安装了MongoDB。但我从EC2文档中了解到,EC2机器上存储的数据一旦停止或终止就会被销毁。因此,我必须使用EBS进行数据存储

在创建EC2实例的第四步中,我选择了卷

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

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

按照说明正确安装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。因此,您可以将
    $USER
    替换为mongodb:mongodb

  • 重新启动服务
    sudo service mongod stop
    然后
    sudo service mongod start


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

ok,那么您是说问题中的是根卷而不是EBS卷,对吗?因此,如果我添加另一个通用SSD的EBS卷,那么在我必须做的事情之后,我会问这个问题。在您的屏幕截图中,根卷是一个EBS卷。如果您添加了更多卷,您将在操作系统中装载该卷,然后使用装载点作为数据库的位置。这已经有很好的文档记录了hello@MarkB,正如您所说,我创建了一个卷并将其装载到名为data的目录中,因此现在如果我将我的db存储到data文件夹中,那么它将正确地存储在EBS卷上。抱歉,我知道这是一个尴尬的问题,但我对AWS非常陌生,并且对数据感到担忧。还有一件事,如果我的实例位于不同的区域/子区域,并且我想要连接到EBS卷(其中包含数据),那么有什么方法可以做到这一点呢。再次感谢。是的,没错。如果将EBS卷装载到/data,则/data中存储的文件将位于EBS卷上。