Hyper-V ServerとWindows Server 2008 R2、IIS 7.0で構築していたWebサーバーがいつのまにか起動しなくなっていた。再起動をかけると最初は動いているのだけど、数分で無反応に。
Hyper-Vの管理ツールで見ると、ディスクが壊れている旨警告が出て、なにをやっても手詰まり。
仕方ないので、数ヶ月前の状態のスナップショットを使ってロールバックさせる。
その間に更新されたファイルはすべてなくなってしまった。残念。
原因は、どうやらログファイルがディスクの容量をオーバーしたための模様。
毎日数百Mバイトの容量のファイルができていたのだから、いつかは限界に達するわけで。
IISでは、自動でローテートしてくれないのだな。UNIX系環境なら自動で毎日のログを圧縮、ある程度の期間で削除、みたいなことは当たり前にされていたのだけど、こうした機能はIISにはない模様。こうした機能が標準で用意されていないのは、Webサーバーとしてどうかと思う。
まあ、そうはいってもいられないので、対策を探す。なんらかのスクリプトやプログラムを利用すればいいのだという。そんなプログラムがあった形跡はあるのだけど、すでに該当ページがなくなってたり。
とりあえず、ログを記録するディレクトリをシステムとは別のディスクに移動。あらかじめ別ドライブを作っておいてよかった(まあ、これも仮想的なドライブなんだけども)。これで、システムが壊れるという最悪の事態は避けられるはず。
そんなわけで、知人とのファイルのやりとり用にアップしたデータは消えてしまったわけですが、これはもう事故なんであきらめていただきます。あしからず。