單機環境下使用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中文社区
三月份杭州站在即!!! 感兴趣的朋友火速报名!!!