またサーバをすっとばす orz

サーバをすっとばして、1日半止めてしまった。

今回はRAID5の1つが、2DE死んでしまったということ。ログを見る限り、縦続けに死んだようだ。「RAIDを安定させるための常識」的なことは、ほとんど実施しているのだが、一時にDEを増やした時のロットの問題やらソフトエラーやらは、なかなか解決が出来ないものだ。

このサーバ、/, /var, /homeのいずれもnfsだし、Xenの仮想化もしているということで、復旧の手順そのものはそう面倒臭いことではない。問題は「2DE飛んだ」ということにある。普通RAID5は2DE飛ぶとおしまいだ。ではどうやって復旧したかと言えば、RAID5は2DE飛ぶと「おしまい」ということで、そこで閉塞してしまう。これを逆に利用した。

今回の飛び方もどうもソフトエラー(ハードとの相性?)っぽいもので、プラッタが壊れたものじゃない(気持ち悪いからDEは予備役に回したが)。だから、一度電源断すれば正常に動いたりする。ところが、RAIDは閉塞されているから、全く動かない。そこで、

最初に死んだDEは捨てて、残りのDEで無理やり再起動する

ことをしてやる。なぜなら、1DE死んだ状態ならRAID5は正常に読める。また、さらに1DE死んだ時にはRAID5は閉塞する。つまり、「エラーである」という情報だけを除いてしまえば、なんとか正常に読めるかも知れないということだ。

と書けば「なーんだ」なのだが、死んでいる時にはあわてているので、最初に死んだDEまで組み込んで再起動してしまった。それを元に復旧したので、一部のファイルは壊れている。それでも全体の1%程度で済んでいるのが不幸中の幸いだった。まぁ全体がデカけりゃデカいだけ、変化する部分は少ないってことだな。

今はちょっと片肺状態の運用になっているので、後でちゃんとした環境に戻してやるつもり。

しかし、なんだかんだ言って、

経験値とはトラブルシュートの数のこと

なのだなぁと、「技術者としての私」は思うわけだな。

「RAID5を無理やり復旧させるノウハウが何の役に立つの?」「それはかけがえのない技術なの?」と「経営者としての私」に問われると、今のところ

Yes

なのだ。なぜそうなのかというのは、いずれまた機会があったら書きたいと思う。

まーそれにしても、ファイルが致命的な状態になり、サーバを再インストールするハメになっても、1日程度で復旧出来たというのは、まだまだやれるなと自己満足してみる。