2016年02月25日
_ [computer] FreeNAS HDD障害発見
先日、電脳売*で、現在NASに使っているHPのMicroServerが、1万3千円程で売って居るのが目につきました。以前買った時も2万円をかなり切っていたのだけど、これは相当安いと思い、内容をよく確かめず、急いで購入してしまいました。まだ在庫が有ったんだぁ、と思っていたら、簡易な包装であちらこちらに傷のついた中古品が届き、ちょっと驚きました。何と、中古品の販売だったのですね!。
使用目的もなく勢いで買ったのですが、やはりFreeNASを入れようかととか、色々考えつつ、昨晩、現在使用中のFreeNASの管理画面をだしてストレージの詳細をみていると、状態の所の表示が"DEGRADED"になっているのに、ふと気がつきました。
「えっと、これって、何かトラブル?、でもアラートの表示は緑のままだし」って思いつつも調べてみると、やはり3台のHDDの内1台が壊れている様です。報告のmailも届く様にはしていなかったみたいで、全く気がつきませんでした。これって結構危ない状態でした。このNASのデータがとぶのは、流石にちょっと困ります。しっかし、HDDが1台死んだなら、Web管理画面右上のアラートの信号は赤にしてもらいたいなぁ、、。まぁ、この事が早めに判っただけでも、意図せず中古のMicroServerを買ってしまった、「ちょい失敗」の見返りにはなるでしょう。
PC98に繋いでいるRAIDのHDDドライブは、障害のディスクを引き抜いて交換すると、後は自動で勝手に復旧してくれますが、普通のサーバー機のハードを流用するFreeNASは無理でして、色々と手順が必要な様です。
まず、生きている各HDDのシリアルナンバーをFreeNAS上から調べます。シャットダウンの後、HDDを引き抜いてシリアルナンバーを照合し、死んでいるHDDを特定し、それを新しいHDDに交換します。ずっとNAS用HDDには、単に一番安いと言う理由でシーゲートの2Tを使っています。他の使用していないNASにも、リプレース用途にも使えるという理由で、全て同じにしていましたが、後で調べると、シーゲートはすぐ壊れると言う事で、結構評判は悪いですね。それでも1年以上は稼働していますが。そう言う訳で、同じHDDは手元に幾つかあるので、使用していない他の個体から引き抜いて、すぐ交換出来ました。
その後の復旧方法の手順は、ネットで調べるとコマンドラインからやっている例が多いようですが、GUIからの方が簡便で間違いが少なかろうと、Webの管理画面から行いました。2Tx3台のRAID−Zで実効サイズ3.6Tの内、約2T使用でしたが、およそ3、4時間で復旧できたみたいです。
しかし同じ時期に買ったHDDです、他の2台はまだ暫く大丈夫という保証は何処にも無いため、一応データのバックアップをとる事にしました。ついでに、FreeNASのバージョンも上げるつもりです(現在Ver.8)。その為には3T程のHDDが必要なので、往復1時間半かけて、最寄りのパソコンショップに出かけて、バックアップ用のHDDを買ってきました。NAS用としてはWDのレッドシリーズが評判が良い様ですが、主に価格が理由でブルーの3Tにしました(シーゲートの3Tの方が更に安かったけど、流石に避けました)。
普通にLAN経由で全データのバックアップを取ると、1日以上はかかるかも知れません。こういう点は、サーバー機のFreeNASによる転用では融通が利きまして、要はFreeBSDなので、新しい3Tを空いているHDDケースに設置してマウントし、あとはコマンドラインで、ボリューム間でコピーするだけです。
普通にcpでもよいのでしょうが、UNIXではこういう時は昔からtarを使う事が多いので、完全に備忘録なのですが、
# tar cf - . | (cd /mnt/ZFS-3T/; tar xvf - )
としてみました。結果、約2Tのデータを8時間少々で、コピー完了しました。
追記1: その後、FreeNASを9.3にアップデートしようととしましたが失敗してしまいました。理由は良く分かりませんが、アップデート途中で5分ぐらい止まってしまったので、ハングしたと思いリセットしてしまったからかも知れません。また、更にその理由は、はっきりしませんが、多分バックアップ用の3Tをつなげていたのを、取ってしまったからかも知れません。デタッチしておけば良かったかな?
アップデート失敗とのメッセージが出てどうにもならないので、OSをインストールし直す事にしました。途中で修復の選択が出たので、そちらにしました。進行をみると、それでもOS自体のインストールは初めらかやるみたいで、前の設定を保持するだけみたいです(確信はありまえんが)。OSのアップデートでかなり手間取りましたが、無事復帰しました。
追記2: 先日復帰したばかりのMicroServerのFreeNASですが、復帰直後から、
Device: /dev/ada2, 80 Currently unreadable (pending) sectors
Device: /dev/ada2, 80 Offline uncorrectable sectors
のエラーメッセージが出ています。
これって交代セクタにマッピングしてくれるやろ?、、と軽く思って暫く無視して居たのですが、どうもそうでは無いようです。検索してみた所、やはりHDD交換した方が良さそうです。しかし、これって交換したばかりの新しいHDDなんですが、、
先にHDDを交換したときは、Webの管理画面からでとても簡単だったので、同様に、該当HDDを交換してから早速やってみましたが、「Replace」のボタンを押しても、なにやらエラーが出てすぐ終わってしまいます。HDDを余所でフォーマットし直しても同じです。理由は不明です、FreeNASのバージョンを上げたからでしょうか?、、
仕方ないので、ちょっと調べて、コマンドラインのzpoolでReplaceをやってみました。
# zpool status、で新しいHDDのデバイス名を確かめて、
# zpool replace RAIDZ-4T /dev/gptid/xxx-xxx-xxx-xxx-xxx /dev/ada2
の様に入力しました。新HDDに割り振られたデバイス名が、有料ソフトのシリアルコードみたいにやたら長くて、入力がえらく面倒です。直接モニタとキーボードを繋いで作業しましたが、SSHで他のパソコンから操作すると、コピペが使えてすこしは楽だったかもしれません。
作業中は「Resilver」中になっています。「再銀メッキ」って事で、再構成中との事なのでしょうが、何で銀なんだろう?、重要な所なんだから、もちょっと直截な分かりやすい言葉を使うべきではないでしょうか?。だいたい"DEGRADED"からして、分かりづらい言葉使いです。このFreeNASの管理ソフトを書いた人の嗜好が反映しているとしか思えませんが、、。このResilverは3時間ほどで終わりました、意外と早かったです。