現実的に正しいreiserfsの復旧方法

日曜のたびにサーバが落ちてるわけだが…

もう慣れてしまったので、落ちても大丈夫。ということを散々経験したところで会得した、今のところの多分間違いのないreiserfsの復旧方法を紹介する。

まずサーバが落ちた時のfsckなのだけど、reiserfsckのオプションは、

–fix-fixable

だけを知っておけばいい。これ以外のオプションはいらない。

オプションなしで起動した場合、–checkを指定したとみなされるのだけど、これでは何も修復してくれない。あくまでもチェックだけだ。だから、これは時間のムダでしかない。「復旧」は急ぐわけなので、異常を発見するためだけにfsckを走らせるのは馬鹿げている。なので、いきなり–fix-fixableで走らせる。

これで特に致命的なエラーが出なかったら、それで完了。普通にサーバを起動すればいい。

致命的っぽいメッセージが出て「復旧出来るのは–rebuild-treeだけだ」みたいなことを言われても、

これはスルー

だ。とは言え、復旧しないわけには行かないので、

  1. 新しい領域を確保してmkfs
  2. 元の領域を-r付きでmount(read only mount)
  3. cp -aでまるっと新しい領域に複写
  4. 古い領域を捨てて新しい領域を現用に

ということをやる。なぜなら、

–rebuild-treeは失敗したら何も出来なくなる

からだ。

運が良ければ–rebuild-treeで問題なく復旧出来るのだけど、運が悪いとfsckが異常終了してしまう。その時に出来るのは、–rebuild-tree付きのfsckだけだ。他のことは一切出来なくなってしまう。しかも、これはreiserfsckのバグのせいで、しばしば起きる。私も何度か経験していることは、ここで書いている。

そこで、–rebuild-treeが必要になったら、その領域は潔く捨ててしまう。

–fix-fixableが正常終了すれば、仮に致命的な問題があっても、read only mountは出来るようになる。逆に、–fix-fixableが終了してないと、read only mountは出来ない。生きているファイルを救出する時に、何かおかしなことが起きても困るので、最低限のfsckは完了してread only mountは出来るようにしておきたい。ということを合わせると、この手順しかないということになる。

–rebuild-treeはもう他に何の手もなくて、–fix-fixableした後にread only mountも出来ないとか、lost&foundにアホみたいに落ちてどうしようもないとか、そういった

本当にどうしようもない時に、一か八か

で使うオプションだと思っておいた方がいい。本当はもうちょっとマシな見方が出来るはずなんだけど、–rebuild-treeの失敗具合からすると、そう思っておいた方が良いようだ。

問題はこれを可能にするということは、ディスク領域が倍必要になってしまうということ。実際にはそうならないように、ディスク領域は分割しておいた方がいい。このためにはlvmを使うわけだけど、Debian etchでXenだと、どうも動きが微妙っぽいというところが、頭が痛い。ただ、–rebuild-treeに頼ると復旧不可能ということが起きかねないので、領域の使い回しを考えておくか、reiserfsを使うのを諦めるかすることになる。本当はreiserfsは捨ててしまいたいところなんだけど、意外にも安定で結構パフォーマンスが良いので、なかなか捨てられないのだよね。

Yahoo Facebook Twitter Digg FriendFeed Delicious Google Translate
This entry was posted on2月 3rd, 2009 at 2:37:39. You can follow any responses to this entry through the RSS 2.0. Both comments and pings are currently closed.

Comments are closed.

  • 私について

    ただのプログラマです、ハッカーではありません。

    秋葉で暮し秋葉で仕事してますが、秋葉系は嫌いです。物事を冷静に分析することは好きですが、ニヒリストは嫌いです。

    秋葉でちっこい会社をやってます。 こーゆーことがお仕事です。

    詳しいことは、自己紹介のページでも見て下さい。また、mixiの方でもいろいろわかるかも知れません。twitterは@ogochanですが、たいしたこと言ってません。近頃はShorplug内の別館で日記書いたりもしてます。だいたいここのコピーだったりしますが、ログインするとコメントがつけられます。

    日経ITProに連載(生越昌己のオープンソースGTD)を書いています。「ちゃんと書いた文章」が読みたい人は、そっちを読む方がいいと思います。

  • このページについて

    ここは私の雑文の置き場です。WordPressを使っていますが、いわゆるblogのつもりで書いているわけではありません。「覗き見のできるチラ裏」くらいの意味しかありません。

    もしかしたら有用なことがあるかも知れません。あるいはむかつくことも書いてあるかもしれません。それらはみな「そんなものだ」と思っておくに留めましょう。

    コメントを書くのは構いませんが、「反論」の類はよそでやって下さい。同意する気のない人達と議論する気は全くありませんので、議論したければよそで勝手にやって下さい。

    と言っても、「読むな」「広めるな」というわけでもありません。リンク、ブクマの類は御自由に。

  • カテゴリ

  • 過去の記事

  • メタ情報