i-nodeの空きがなくなり、dovecotのサービスが落ちてしまうトラブルがありました。
ディスクのi-node使用量はdfコマンドで知ることができます。
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/root
3276800 466270 2810530 15% /
tmpfs 128814 1 128813 1% /dev/shm
/dev/vda1 128016 50 127966 1% /boot
/dev/mapper/home
3121152 53569 3067583 2% /home
しかし、dfコマンドはディスク全体のi-node使用量はわかっても、
各ディレクトリがどの程度i-nodeを使用しているかまではわかりません。
以下のワンライナーでカレントディレクトリ以下のディレクトリが
どの程度i-nodeを消費しているかわかります。
for dir in `ls -atl | grep -G "^d" | grep -v "./" | awk \'{print $9}\'`; do echo `find ./$dir -true | wc -l` `pwd`/$dir; done | sort -nr
df -iでiノードが減少しているディスクを探して
そこのディレクトリにcdし、肥大化しているディレクトリを調べる。
その肥大化しているディレクトリにcdして、いらないファイルを消す。
の繰り返しで、i-nodeを使いまくっている部分を調べて、対処することができます。
# for dir in `ls -atl | grep -G "^d" | grep -v "./" | awk \'{print $9}\'`; do echo `find ./$dir -true | wc -l` `pwd`/$dir; done | sort -nr
1195566 /home/mike
297540 /home/tora
235670 /home/kuro
19933 /home/shiro
19603 /home/sabatra
8397 /home/kijitora
ちなみにi-nodeがギリギリまで使われた原因はメールの溜まり過ぎでした。
メーラーの設定でサーバーにメールを残すようにしていて、ブクブクふくれあがっていました。
運用でカバーできないのであればquotaの設定等を適切に入れていかないとだめですね。