qmail導入・運用関連トラブルシューティング集:実用qmailサーバ運用・管理術(12)(2/2 ページ)
本連載もいよいよ大詰めを迎えるに至った。今回は、qmailの導入や運用時にありがちなトラブルとその解決方法を解説する。あらゆるケースを網羅するのは不可能だが、この記事が何らかの糸口になれば幸いである。
運用開始後のトラブル
インストール以上に、運用のスタイルはさまざまです。そのため十把ひとからげにはできませんが、いくつか例を挙げてみましょう。
ユーザーの受信メールでディスクがあふれてしまった
qmailでMaildirを使用している場合、受信メールは各ユーザーのホームディレクトリに1メッセージ1ファイルで保存されます。ここで問題になるのはディスクの容量ですが、重要なのは物理的な容量よりも、どれだけ多くのファイルを格納できるかです。
Linuxで用いられているext2やext3をはじめとするUNIX FILE SYSTEMを起源に持つファイルシステムでは、データ格納領域とは別に、iノードと呼ばれるファイルの属性を記録する領域があります。具体的には、ファイル所有者、タイムスタンプ、ファイルのデータブロックのアドレスなどの情報が記録されます。
Linuxをインストールする際(ファイルシステムを作成する際)、特に指定しなければiノードは4096bytesごとに作成されます。パーティションに対するiノードの個数が、そのパーティションに保存できるファイルの数に相当します。もし、4096bytes未満のファイルが大量に蓄積されていくと、ディスクの容量が満たされる前にiノードを使い切ってしまうことになります。
まず、現状でどれだけiノードを消費しているか、「df -i」で確認します。
$ df Filesystem 1k-blocks Used Available Use% Mounted on /dev/sda3 10135800 8369536 1251384 87% / /dev/sda1 38859 17523 19330 48% /boot /dev/sda2 20641788 11165928 8427220 57% /var
$ df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 1289280 731407 557873 57% / /dev/sda1 10040 63 9977 1% /boot /dev/sda2 2626560 743039 1883521 29% /var
iノードの使用量が限界に近いようであれば、新たに容量の大きなディスクを用意するか、いったん受信ファイルのバックアップを取った後、再度ディスクに対してmke2fsを実行することになります。
mke2fsでiノードの作成単位を4096bytes以外にする(注)には、次のように-iオプションに続けて数値を指定します。
# mke2fs -i 1024 -c /dev/hdb1
ディスクを増設する手順は、「Linux Tips:HDDを増設するには」を参考にしてください。
/var/qmail/queueがあふれるような場合は、「第3回 SPAMメール徹底対策」で紹介した、qmHandleを有効に活用します。
ログの意味が分からない
/var/log/maillogや/va/log/qmailなど、出力されるログの意味はqmail-logのマニュアルを見ることで解決できます。マニュアルの日本語訳がhttp://www.jp.qmail.org/q103/jman5/qmail-log.htmlにあります。
ログメッセージの重要度は以下のようになっており、下のものほど重要度が高くなります。WARNING以上が出るようなら、対策を講じる必要があります。
- 動作状況(STATUS)
- メッセージ(MESSAGES)
- 配送(DELIVERIES)
- 警告(WARNINGS)
- 重大な問題(SERIOUS PROBLEMS)
- 致命的な問題(FATAL PROBLEMS)
iノードとデータ領域の話を前述しましたが、ディスクの監視を怠ってしまってもログにしっかり証拠が残ります。「trouble writing to ...」と記録された場合の多くはディスクがいっぱいになったときで、「unable to create ...」はiノード不足になったことを意味します。
普段からログに目を通す癖をつけておけば、大きな障害が発生する前にトラブルを解決することで、大事に至らないで済みます。もし、ユーザー全員のMaildirが消失したら……と考えると、身も凍る思いですよね。
トラブルシュートに必要な知識とは
今回はトラブルシューティングとして、いくつかの障害事例と解決策を紹介しました。そのものズバリの解決策が見つかった方は少ないかもしれませんが、せめて解決のきっかけになればと思います。
紹介した事例を見て感じた方も多いと思いますが、qmailの障害対応をうたいながらも、多くはLinuxに対する知識を必要としていることがほとんどです。qmailに対する知識を深める一方で、Linuxに対するそれも同じように深めていければ、初見の障害にも対応できる力がきっと備わるはずです。
Copyright © ITmedia, Inc. All Rights Reserved.