Linux inode索引節點使用率100%解決


Linux的inode節點中記錄了文件的類型、大小、權限、所有者、文件連接的數目、創建時間與更新時間等重要的信息,還有一個比較重要的內容就是指向數據塊的指針。一般情況不需要特殊配置,如果存放文件很多,則需要配置。有時磁盤空間有剩余但是不能存放文件,可能是由於inode耗盡所致。

# df -i 可查看當前inode占用情況

解決方法:

一、清除inode占用高的文件或者目錄(推薦)
1、、登錄服務器,執行如下命令,分析根目錄下的每個二級目錄下有多少個文件
# for i in /*; do echo $i; find $i | wc -l; done
2、逐層進入inode占用最高的目錄,繼續執行上述指令,逐步定位占用過高空間的文件或目錄,最后進行相應清理。

本次故障經查發現 /var/spool/postfix/maildrop 目錄占用 inode 最高,經過清理后,恢復正常。

該目錄之所以占用大量inode 是由於linux在執行cron定時任務時,會將cron執行腳本中的output和warning信息,都會以郵件的形式發送cron所有者,這些小文件就會堆積在maildrop目錄下面。

永久性解決該問題需要進行如下配置修改

修改 /etc/crontab 將 MAILTO=root 替換成 MAILTO= "",然后 crontab -e 在最前面直接加入MAILTO="",最后重啟crond服務,之后執行crond定時任務時將不會再發送郵件。

 

二、修改inode數量
如果不允許清理磁盤中的文件,或者清理后inode使用率仍然較高,則需要通過如下步驟,增加inode節點數量。
注:inode的調整需要重新格式化磁盤,請確保數據已經得到有效備份后,再進行以下操作。
1、執行如下命令,卸載系統文件
# umount /home
2、執行如下命令,重新建立文件系統,指定inode節點數
# mkfs.ext3 /dev/vda -N 2621440
注:本文指定inode節點數2621440,現場實際環境請以實際為准。
3、執行如下命令,查看修改后的inode節點數
# dumpe2fs -h /dev/xvdb | grep node

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM