インソースマーケティングデザイン
2011.10.21 システム
メールサーバーが動かない
某レンタルサーバー会社の古いVPSプランで運用していたサーバーを同社の新プランのVPSに乗換えたときの話です。
サーバーで動かしていたものはWebサーバーとメールサーバーくらいでメールの受信には「POP3」と「IMAP」を併用する使い方をしていました。
新プランのVPSは料金も旧プランよりは安く、スペックもグレードアップするので、サーバーの用途が同じなら、何も問題はないと判断し、新プランで契約し、サーバー移行を行いました。
ところが暫く運用した後、メールが送受信できないというトラブルが発生。
maillogを確認したところ「Too many open files in system」のワーニングを確認。
すぐさまサポートセンターに問合せをしてみたところ、VPS毎に「オープンファイル数」の制限を設けているとのこと。
電話で設定値を確認するコマンドを教わり、SSHで確認してみると...
Version: 2.5
uid resource held maxheld barrier limit failcnt
~(省略)~
numfile 1699 2000 2000 2000 52032
※held 現在値
※maxheld 過去に記録した最高値
※barrier、limit 制限値
※failcnt サーバーが起動してからのオープンに失敗した回数
上限2000に対し、現在値が1699なので、約300ファイル分しか余裕がありません。
さらに詳しく話を聞いて分かった事ですが、SSHやFTP等のサービスにログインする際、大体150ファイル程同時にファイルをオープンするらしく、常時ログインを必要とするする「IMAP」を使用しているとそれだけで150ファイル分確保されてしまうみたいです。
PCとスマートフォンにメールの受信設定をしているとそれだけで300ファイル分占有し、ふとした拍子に上限値をオーバーしてしまいます。
古いVPSでは仮想化技術の都合上、「オープンファイル数」を設定できなかったため同時実行プロセス数やメモリなどに制限を掛けていたらしいのですが、VPSプランが一新されてから「オープンファイル数」を設定できるようになったため、VPSのプランに応じて上限値を設定しているみたいです。
運用する側としてはそこのVPSプランはとても良いのですが、今回は「IMAP」を利用しているため慢性的にリソースが不足すると分かったので、結局、別会社のVPSを契約しました。
レンタルサーバー会社のサイトからはこれらの制限は読み取れないのでVPS契約時はサーバーの用途を把握した上で、サポートセンターに問合せを行うと良いかもしれません。