如何安全地轉移mongodb集合的collection和index文件以騰出空間
大家讲道理
大家讲道理 2017-05-02 09:24:50
0
2
717

單機環境下使用mongodb快取爬蟲抓取的網頁的源碼,沒有複製集、分片等,使用mongodb純粹為了取用方便並提升儲存效率。
現在一個collection佔用了50多G的空間,已將資料提取完畢,短期內不會用到它了,但抓取下來十分不容易,後面可能還用得到,所以不想刪掉,問題是硬碟沒空間了,我想把collection和index文件轉移到移動硬碟上,需要時再拷回來或將移動硬碟目錄當作資料目錄。但拿一個新建的測試集合測試發現,一旦將這些檔案移走,mongod就無法啟動了,必須再轉移回來才能啟動。

我的問題是:
1、如何保證將佔空間的collection及其對應的index文件移走後,不影響mongod的啟動和其他collection的使用(資料目錄下還有其他collection)
2、如果不是拷貝整個資料目錄,只將collection和index文件拷貝到新目錄,後面如果將新目錄作為資料目錄,是不是也無法啟動
3、資料目錄下的collection、index、日誌、鎖定文件以外的文件,是不是有些是類似登錄的作用,怎麼實現類似綁定、解除綁定的操作

我查看了db、collection相關的操作,沒發現文檔中有做上述工作的函數,所以請知者指教。

附資料目錄截圖:

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
洪涛

可以考慮這邊文章所講的兩種資料遷移的方法。
文章

淡淡烟草味

一種簡單的做法供參考:

1、假設資料檔案和相關日誌放置在data資料夾;

2、正常關閉MongoDB資料庫;

3、拷貝data資料夾到便攜式磁碟;

4、修改mongod.conf中相關參數,例如

systemLog:
    destination: file
    path: F:\mongodb\data\log\mongod.log
storage:
    dbPath: F:\mongodb\data\db

5、正常啟動MongoDB

在你的描述中,可能是沒有修改mongod.conf設定文件,或是沒有重新設定data/log的路徑吧。

供參考。

Love MongoDB! Have Fun!

------------------------華麗的分割符--------------------- -----------

MongoDB中文社群線下活動繽紛,請猛戳下方:

2017華山論劍|MongoDB中文社群

三月杭州站在即! ! ! 有興趣的朋友火速報名! ! !

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板