前回のエントリーで、DELLのPowerEdge1800のHDDがコケて、RAID Arrayの冗長性が失われたのでHDDを交換したところまでは書いた。
ふと、RAID Arrayの状態を確認すると、「Degraded」であって欲しいのに、「Failed」担っていることに気がついた…え。なんで?HDD交換しただけなのに?そういえば、勢い良く警告が鳴ってたので、慌ててHDDを交換したから、故障したHDDを取り出す前にdetachみたいなことをやってなかったかもしれないが…いきなりArray自体がFailedになるものなんだろうか。なんか終わった気がする(遠い目)
で、よーく見ると、謎の設定を見てみると、RAIDカードの管理画面で、FailしたArrayを選択した時に「CTRL」+「R」で「RAIDのEnable/Restore」ができるらしい。で、現実逃避のためにOSを起動してみたが、該当のArrayがOSから見えない。同じRAIDカードに刺さっている他のドライブは見えているので、FailedになったArrayはRAIDカードが隠蔽しているんだろうなぁ。
仕方ないので、RAIDカードの管理画面に戻って、「RAIDのEnable/Restore」を選択したら、とりあえず、「全部データが飛ぶかもよ」と脅されるが、もはや選択肢は無いので実行。そしたら、RAIDが「failed」から「degraded」状態になった。
んで、ホットスペアにしておいたディスクがArrayに組み込まれて、Rebuildが始まった!…が、この”CERC SATA 1.5 6ch”って信じられないくらいにHDDへのアクセスが遅い。たかだか1TBもないArrayのRebuildに丸1日は確実に必要なスピードで、さっぱり進捗しない(Arrayのrebuildが遅いRAIDカードが、普段のIOは速いなんてことはなさそうな気がするから、こんなRAIDカードを売ってて、DELLは大丈夫だったんだろうか)
ま、いろんなリスクはあるけれど、サーバの停止で業務を止めるわけにもいかないので、とりあえずOSをブートして、フルバックアップを取った上で復帰させることにした。ま、冗長性が失われているので、もう1本のHDDが飛んだら改めて終わるけれど(汗)、せめてバックアップ取ってあるしな、ということで。止めておいても怒られるだろうし、無理やり動かしでデータが飛んでも怒られるわけで、それなら後者はデータが飛ばずに済めば怒られないわけだし。
その後、Arrayのrebuildが続くものの、数時間後にOSがなぜかスタックしてしまう。スタックさせとくわけにもいかないから、サーバを強制的に再起動、それに伴って、RAIDのRebuildもやり直すはめになるのだが、その頃はなんにも気づいてもいなかった…。
古いサーバのおもりは、とにもかくにも疲れるので、可能な限り、買った時点から運用時間を決めて予防的にハードウェアを交換しておくのがいいのかもしれないぁ…。なんせ急に対応しなきゃいけなくなるときのコスト感はかなりハンパないからなぁ。。。
しかし、RAID Arrayのrebuildは終わるんだろうか…。