2008/01/12(土)Linuxが止まった

ちょっと他人のサーバのメンテナンスを頼まれて停止したというLinuxを見てきました。比較的古いサーバで /home の使用率が90%を超えていました。おそらくこれが原因だろうと、"du -h" としたらあるディレクトリで動作が止まる。

postmaster

何事だろうと思い、Maildir の中で ls をしてみると

# ls
drwx------  postmaster postmaster      512  cur/
drwx------  postmaster postmaster 26123454  new/
drwx------  postmaster postmaster      512  tmp/

ディレクトリファイルが2MBという前代未聞の数値。"ls new/"としたら何分経ってもかえってきません。"rm -rf new/" とすると自動リブート。ディスク容量を食いつぶす以前にファイル数が多すぎてシステムを圧迫するとはあっぱれすぎます。さすがは Linux 2.2 時代の ext2 ファイルシステムです。

仕方ないのでシングルユーザーモードで起動して、ファイルの削除*1を開始したのですが、一向に終わる気配がありません。ざっと概算したら、ファイルの削除だけで2時間もかかることに。メーリングリストのようなシステムに使うメールサーバのpostmasterを数年放置するといかに大変なことがおこるか良くわかりました……。*2


もっともサーバというものは、定期的にチェックかけないと本当は駄目なんですけど、その辺動いてれば気にしないという感じでおざなりにされることが多い。トラブルで困るのは使ってる人なんですけどね……。*3

*1 : "rm -rf new/"

*2 : 新しく届いたファイル1個書き込むだけでも相当の負荷が掛かっていたと予想されます。

*3 : このあたりの事情は車とかと一緒。車は法律で車検制度があるから良いですけど(^^;