将安装在 AWS EC2 实例上的 MongoDB 的存储位置设置为 EBS 存储。以及如何在实例 stopped/terminated 后恢复它?

Set storage location of MongoDB installed on AWS EC2 Instance to EBS storage. And How do I recover It after instance is stopped/terminated?

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

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

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

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

按照说明正确安装 EBS 卷后here,您可以使用以下步骤将数据存储到 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替换$USER:mongodb

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

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