i-nodeの空きがなくなり、dovecotのサービスが落ちてしまうトラブルがありました。
ディスクのi-node使用量はdfコマンドで知ることができます。
1 2 3 4 5 6 7 8 9 |
# 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を消費しているかわかります。
1 2 |
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を使いまくっている部分を調べて、対処することができます。
1 2 3 4 5 6 7 8 |
# 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の設定等を適切に入れていかないとだめですね。