在CentOS上管理MongoDB的磁盤空間可以通過以下幾個步驟來實現:
配置數據目錄:默認情況下,MongoDB的數據文件存儲在 /data/db 目錄下。你可以在啟動MongoDB服務之前,通過修改配置文件 /etc/mongod.conf 來更改數據目錄的位置。
sudo vi /etc/mongod.conf
找到 storage.dbPath 這一行,修改為希望的數據目錄路徑,例如:
storage:
dbPath: /new/data/directory
確保新的數據目錄存在并且MongoDB有權限寫入:
sudo mkdir -p /new/data/directory
sudo chown -R mongod:mongod /new/data/directory
監控磁盤使用率:使用 df -h 命令查看磁盤使用率,找到使用率較高的磁盤路徑。
df -h
備份數據:使用 mongodump 工具來備份數據。
mongodump --out /backup/directory
恢復數據:使用 mongorestore 工具來恢復數據。
mongorestore /backup/directory
刪除數據:可以通過MongoDB shell或者使用 mongoimport 和 mongoexport 工具來刪除或導出數據。例如,刪除某個數據庫:
mongo --eval 'db.dropDatabase()'
或者刪除集合:
mongo --eval 'db.collection.drop()'
使用GridFS存儲大文件:對于大文件存儲,MongoDB提供了名為GridFS的機制。使用 mongofiles 命令行工具上傳大文件。
mongofiles -d dbname put file_path
優化數據文件:定期運行 compact 命令來優化數據文件,減少碎片化。
mongo --eval 'db.runCommand({compact: "collectionName"})'
配置內存分配:在MongoDB的配置文件中設置內存參數,如使用 WiredTiger存儲引擎并設置 cacheSizeGB 參數來指定MongoDB使用的內存大小。
storage:
engine: wiredTiger
cacheSizeGB: 4
通過以上步驟,你可以在CentOS上有效地管理MongoDB的數據文件。