2016-01-21 49 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的重新啓動

它的工作!我重新啓動備份後爲卷創建了另一個快照。

相關問題