サーバーのディスクがログであふれてシステムが動作しない

Hyper-V ServerとWindows Server 2008 R2、IIS 7.0で構築していたWebサーバーがいつのまにか起動しなくなっていた。再起動をかけると最初は動いているのだけど、数分で無反応に。

Hyper-Vの管理ツールで見ると、ディスクが壊れている旨警告が出て、なにをやっても手詰まり。

仕方ないので、数ヶ月前の状態のスナップショットを使ってロールバックさせる。

その間に更新されたファイルはすべてなくなってしまった。残念。

原因は、どうやらログファイルがディスクの容量をオーバーしたための模様。

毎日数百Mバイトの容量のファイルができていたのだから、いつかは限界に達するわけで。

IISでは、自動でローテートしてくれないのだな。UNIX系環境なら自動で毎日のログを圧縮、ある程度の期間で削除、みたいなことは当たり前にされていたのだけど、こうした機能はIISにはない模様。こうした機能が標準で用意されていないのは、Webサーバーとしてどうかと思う。

まあ、そうはいってもいられないので、対策を探す。なんらかのスクリプトやプログラムを利用すればいいのだという。そんなプログラムがあった形跡はあるのだけど、すでに該当ページがなくなってたり。

とりあえず、ログを記録するディレクトリをシステムとは別のディスクに移動。あらかじめ別ドライブを作っておいてよかった(まあ、これも仮想的なドライブなんだけども)。これで、システムが壊れるという最悪の事態は避けられるはず。

そんなわけで、知人とのファイルのやりとり用にアップしたデータは消えてしまったわけですが、これはもう事故なんであきらめていただきます。あしからず。