2016-01-21 50 views
0

我在mongo中执行了db.copyDatabase()命令并且磁盘空间不足。现在mongo不会重新启动。我在AWS上运行mongo。由于新数据库中的数据只是一个副本,转到dbpath并删除与新数据库相关的文件,然后重新启动mongo还是可以的,否则会更糟?执行db.copyDatabase()命令后,Mongodb将不会重新启动

有问题的文件以datasetCopy.0,datasetCopy.1,datasetCopy.2结尾,并且有一个datasetCopy.ns文件。

+0

请确保数据集仍然存在,可能将某些内容复制/转储到某个外部,然后用另一台机器戳到它,但我并不觉得超级舒服,告诉人们无需仔细观察就可以删除内容。 – kpie

回答

0

我设法让mongo再次备份。以下是我采取的步骤。请记住,来自复制数据库的数据是多余的,可以在不造成数据丢失的情况下移除,因此这是一个非常特殊的情况。另外我们的数据库是只读的,这可能使危险性较小做到这一点..

使用亚马逊AWS控制台:

  • 创建其中MongoDB的数据存储备份卷的快照。
  • 删除了与复制的数据库关联的数据文件。这些文件命名为:datasetCopy.0,datasetCopy.1,...,datasetCopy.ns - 非常仔细地做了这个操作,以确保我没有意外删除错误的文件。
  • 重新启动mongod的服务与命令:service mongod的重新启动

它的工作!我重新启动备份后为卷创建了另一个快照。

相关问题