サーバダウンからの復帰
- 公開日: 2009/09/22(火) 07:39[JST]
ちょうど一週間ほど前、サーバの調子がおかしいことに気づいた。具体的には、
このサイトでcssを読んでくれなくなったり、blogがエラーをリポートするようになった。
メールを受信してくれない。
1.の方は、たぶんデータ(zopeのData.fsってやつ)が壊れたんだと思う。2.の方は、ログを見たところpostfixは動作している。てことで、たぶんスパムメールフィルタとして使っているscmailのスパム判定データベースが大きくなりすぎて動作不良を起こしていたものと予想。
で、古いメールを整理してscmailのデータベースを造ろうとしたところ、なぜか他のメールまで消えてしまった(実は消えておらず、大量のメールを処理したのでsylpheedが固まっていただけだったことが後に判明)ので、とりあえず一週間ほど前のバックアップからrestoreしてみることに。
ところが、/usrのレベル0リストアに失敗。サーバが勝手にリブートしてしまう。何で?何で? ディスクの寿命? 取り合えずハードディスクを買い換えてみる。って今日びPATAのHDDって売ってないのかよ。しょうがないのでSATAのハードディスクとSATA-PATA変換器をかった。で、このディスクでrestoreしてみたんだが、やっぱり/usrのリストア中にリブートしてしまう。さてどうしたものか。
たぶん、DMAで動作させているのがまずいのかな・・ ということで、PIO4モードでリストアしてみる。今度はうまくリストアしたようだ。
で、このサイトのデータだが、一週間前のデータでも動作がおかしい、というか、スパムトラックバックを消しているうちに勝手にzopeが落ちる。zopeを再インストールしても同様。ぐぐっていろいろ調べてみたところ、zopeのlib/python/ZODB/fsrecover.fsを実行してData.fsを修正できることが分かった。あーでも元データから更新されちゃったし、念のためもう一回リストアか・・・
ということで、何とか復活できました。まだ、scmailのデータベース構築中なのでメールは読めないけど。