MongoDB Flunted - 硬碟空間不足,異常排除 (2)

摘要:MongoDB Flunted - 硬碟空間不足,異常排除 (2)

記得之前有寫過一次,

但實在是不怎麼方便處理,所以我開始想寫一個簡單的SOP. 

因為Log Server的硬碟空間爆炸,開始查原因

兩種原因發生了。

一、MongoDB的Log佔滿了硬碟

二、MongoDB實體佔滿了硬碟

 

問題一的解決方法是

先查詢LOG檔在哪裡。

可以從

/etc/mongodb.conf 查到 實體檔位置與log檔位飛

dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongodb.log
 
使用
sudo rm /var/log/mongodb/mongodb.log 刪除 log檔。或則
sudo $ > mongodb.log 將log檔變成一個空檔。
 
查詢硬碟誰佔最多有一個方法
 
df -h 查硬碟空間剩下多少。
du -h 查哪個目錄或檔案佔量最大。
 
第二個問題,實體檔佔滿了硬碟空間
就跑去 /var/lib/mongodb 處理
因為硬碟空間滿了,就會產生mongod.lock,
所以先刪除最沒有用的資料庫檔案,
然後執行修復程序
 
sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
sudo start mongodb
 
再使用RockMongo重建資料庫與設定使用者權限
 
這是使MongoDB復活的程序。
 
但 Flunted,還是掛掉的狀態下
 
使用以下程序,讓Flunted 重啟
 
sudo rm /var/log/td-agent/td-agent.log
sudo /etc/init.d/td-agent restart 
cat /var/log/td-agent/td-agent.log
 

除了Log Server需要重啟外,所有導向Log Server的機器,也要重啟Flunted

到現在應該也處弄完了。

 

只是沒想到連MySQL 也爆了。

所以也要重啟MySQL

sudo /etc/init.d/mysql restart

 

這次解救Log Server 也花不少時間。所以留個筆記下來。讓後續維護人員可以參考。(發現之前的筆記,連我也看不懂,真糟糕)