Mongodb中回收remove的磁碟空間
-- purge disk space
1 首先使用rs.remove(“ip:port”)移除一個從庫,使其下線。
rs.remove("127.0.0.1:37020");
2 關閉下線的mongod程式,kill -2 pid
kill the pid
3 刪除其datapath下的所有檔案
rm -rf all datafiles
4 重新啟動該mongod
start the mongodb server
5 在主庫上使用rs.add(“ip:port”)重新加回該從庫
rs.add("127.0.0.1:37020");
此從庫將會自動從主庫或者其他從庫同步資料,相當於導資料,不會複製已經刪除的資料,而且將進行空間壓縮,此過程將會顯示recovery或startup狀態,不提供服務,待同步完成之後,角色會自動變為secondary。
6 使用rs.status()對比optime,確保從庫沒有延遲。
rs.status();
7 同樣的,將其它的secondary重新整理一遍
8 在primary上面執行, 主庫降級 rs.stepDown();
rs.remove("127.0.0.1:37017");
config = {_id: 'sso-resti', members: [
{_id: 0, host: '127.0.0.1:37017'},
{_id: 1, host: '127.0.0.1:37018'},
{_id: 2, host: '127.0.0.1:37019'},
{_id: 3, host: '127.0.0.1:37020'}
]};
rs.initiate(config);
rs.status();
rs.add("127.0.0.1:37017");
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26230597/viewspace-1102474/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WSL 回收未使用的磁碟空間
- ORACLE ASM的SSD磁碟空間回收分析OracleASM
- MySQL 可以壓縮或回收磁碟空間嗎MySql
- MongoDB Drop集合不釋放磁碟空間的解決辦法MongoDB
- Oracle 表空間回收Oracle
- 詳解清除MongoDB所佔用的多餘的磁碟空間的方法MongoDB
- 透過壓縮Docker桌面WSL 2 VM回收大量磁碟空間 - NickDocker
- 通過壓縮 Docker 桌面 WSL 2 VM 回收大量磁碟空間 - NickDocker
- ASM磁碟空間的檢視ASM
- Shell磁碟空間和表空間告警程式
- 如何檢查Mac磁碟空間,mac磁碟空間其他怎麼清理Mac
- 檢視系統中磁碟(加磁碟陣列)空間的使用情況陣列
- 給Oracle BIGFILE表空間增加磁碟(通用的LINUX增加磁碟空間方案)OracleLinux
- win10 如何修改磁碟空間 win10修改磁碟空間方法Win10
- windows10磁碟空間不足怎麼清理_win10磁碟空間清理的方法WindowsWin10
- Oracle 擴充磁碟空間Oracle
- ASM磁碟組空間不足ASM
- aix 檢視磁碟空間AI
- ORCLE中ASM磁碟空間使用情況查詢ASM
- 如何解決 Linux 中“磁碟空間不足”的問題Linux
- oracle10g的sysaux空間暴增與空間回收-轉載OracleUX
- undo表空間不能回收的解決方法
- 檢視佔用磁碟空間的程式
- 擴充套件系統的磁碟空間套件
- docker磁碟空間清理辦法Docker
- 檢測磁碟空間問題
- 有效管理 ASM 磁碟組空間ASM
- ubuntu 擴充套件磁碟空間Ubuntu套件
- undo表空間佔用磁碟空間滿案例處理
- oracle 回收表空間的資料檔案大小Oracle
- Delete大量資料後,回收表空間delete
- ORACLE ASM磁碟組空間溢位OracleASM
- 沒有磁碟空間 No space left on devicedev
- 伺服器磁碟空間滿了伺服器
- lsof |grep deleted 釋放磁碟空間delete
- Linux 檢視磁碟空間大小Linux
- linux 獲取磁碟空間大小Linux
- linux 下監控磁碟空間Linux