現場(環境): CentOS 6 套件:Squid 、sarg
原因:
設計的網路架構內,所有使用者都會導向Proxy伺服器,
但某一天卻出現使用者有些網站可以連接,有些不行的狀況。
該怎麼處理?
處理方式:
squid - Proxy Server 。
sarg - 將Proxy上資料變成可視化的圖形。
先檢查是否為「效能問題」或者「空間儲存問題」
察看空間是沒有滿的
#df -Th
如果空間是滿的,檢查空間使用超過1GB有哪些。
#find -type f -size +1G | xargs du -h | sort -h
但是使用proxy + sarg 時你要特別留意inode 。
#df -ih
仔細一看,inode使用已經接近100%
當inode空間用滿了,就算你還有磁碟空間也是沒辦法寫入資料的。
這部份應該主要是由Sarg造成的,
因為他會定期將我們的Proxy log彙整出日、週、月、年的資料。
使用inode情況非常頻繁。
這次清理完空間後,下次記得寫好Script來自動清理這一塊。
這樣才不會造成問題一再發生。
後記:
inode 作用在於紀錄檔案的權限及屬性,
一個inode會對應到很多的block,
而這個才是真正資料的儲存位置。
今天inode滿的狀況下,
就表示他已經沒有辦法再幫你紀錄檔案的相關細節,
所以就算你還有空間,也是沒辦法儲存資料的。
分享兩個方法:
# find /var/www/html/sarg -type f -size 0 -exec rm {} \;
找到路徑下檔案大小為0的檔案,並將他刪除掉。
如果有多個inode對應到檔案大小為0的檔案時,
這樣清理可以釋放出大量 inode空間
# find /var/www/html/sarg -type f -mtime +365 -delete
找到使用時間在365天之前的檔案,將他清理掉。
一樣的道理,要將較舊的資料清理掉,
用以釋放block 與 inode 的空間。
(本篇完)
inode 相關資訊請參閱鳥哥
http://linux.vbird.org/linux_basic/0230filesystem.php#inode