單機環境下使用mongodb快取爬蟲抓取的網頁的源碼,沒有複製集、分片等,使用mongodb純粹為了取用方便並提升儲存效率。
現在一個collection佔用了50多G的空間,已將資料提取完畢,短期內不會用到它了,但抓取下來十分不容易,後面可能還用得到,所以不想刪掉,問題是硬碟沒空間了,我想把collection和index文件轉移到移動硬碟上,需要時再拷回來或將移動硬碟目錄當作資料目錄。但拿一個新建的測試集合測試發現,一旦將這些檔案移走,mongod就無法啟動了,必須再轉移回來才能啟動。
我的問題是:
1、如何保證將佔空間的collection及其對應的index文件移走後,不影響mongod的啟動和其他collection的使用(資料目錄下還有其他collection)
2、如果不是拷貝整個資料目錄,只將collection和index文件拷貝到新目錄,後面如果將新目錄作為資料目錄,是不是也無法啟動
3、資料目錄下的collection、index、日誌、鎖定文件以外的文件,是不是有些是類似登錄的作用,怎麼實現類似綁定、解除綁定的操作
我查看了db、collection相關的操作,沒發現文檔中有做上述工作的函數,所以請知者指教。
附資料目錄截圖:
可以考慮這邊文章所講的兩種資料遷移的方法。
文章
一種簡單的做法供參考:
1、假設資料檔案和相關日誌放置在data資料夾;
2、正常關閉MongoDB資料庫;
3、拷貝data資料夾到便攜式磁碟;
4、修改mongod.conf中相關參數,例如
5、正常啟動MongoDB
在你的描述中,可能是沒有修改mongod.conf設定文件,或是沒有重新設定data/log的路徑吧。
供參考。
Love MongoDB! Have Fun!
------------------------華麗的分割符--------------------- -----------
MongoDB中文社群線下活動繽紛,請猛戳下方:
2017華山論劍|MongoDB中文社群
三月杭州站在即! ! ! 有興趣的朋友火速報名! ! !