NAS(FreeNAS)のHDD交換
社内では、NASを使っています。NASはそのまま使えるものや、HDD別売のものでHDDを購入して使うものや、またPC(サーバ)をNASにするものまでいろいろあります。
今回は、PC(サーバ)でFreeNASのHDDが一台だけ壊れた時の対応について説明します。
そのNASの環境は、
- OS: FreeNAS(v8.3)
- HDD: 3台( 3TB x 3 ) ATA(SATAをATA Emulation)
- ZFSで RAIDZ(3台)で1 volumeです。
- 古いPCサーバ(XEONx4, Memory 8GB、本当はSASですがSASは使っていません)
という環境です。ZFSのRAIDZの特徴としては、3台以上であれば1台故障しても完全復旧できるというものです。当然ですが、HDD全体合計容量の33%は使えないとはなるのですがMirroring(50%使えない)よりはましかなと思います。ZFSでは、RAIDZ2,RAIDZ3もあるので、2,3台壊れても復旧できるということなりますが、それにはHDDが何台マザーボードに接続できるかというのがネックになってきます。拡張ボードを入れない限りは最大4台くらいなのでRAIDZくらいがちょうどよいかと思います。
事件は以下のように起こりました。 NASのバックアップの通知が来なくなりました。そのためログインしてみると、ログインできたわけです。しかしちょっとコマンドをいくつかたたいていると無反応に。ということでNASの再起動のため電源ブチでした。BIOSでの確認ではPortAが認識できないエラーとなっていて起動には少し時間がかかりましたがNASのOS起動し、ZFS管理コマンドで確認します。(画面のscreenshotがありません)。
このサーバは5台のHDDを接続できることにはなっているのですが、実質4台のケースの空間があるのですが、使っていないSASの問題があり3台しか入れられません。よって壊れたHDDを交換のHDDを入れかえ作業となります。PortA が壊れているのでマザーボードからPort Aのコネクタが接続されているHDDを探してそのHDDと交換します。今回は同じ型番のHDDがあったので同じものを購入して交換しています。
それで、電源をいれます。BIOSでの起動は以前よりもかなり速くなっていてPortAも認識されていることをBIOSで確認します。そして、起動します。
[root@freenas]~# zpool replace a ….
とするのですが、このページを参考にGUIで行います。
そのまま終わるということのようですが、さらにこの場合には以下のコマンドを入力
しました。まずはこのような状況から進まなくなりました。
[root@freenas] ~# zpool status
pool: a
state: DEGRADED
scan: resilvered 592G in 2h0m with 0 errors on Fri May 1 13:25:57 2015
config:NAME STATE READ WRITE CKSUM
a DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
replacing-0 UNAVAIL 0 0 0
18239375717158106387 UNAVAIL 0 0 0 was /dev/gptid/2f6d61fa-0620-11e2-a980-0024e8764402
gptid/59690064-efa9-11e4-9c8c-0024e8764402 ONLINE 0 0 0
gptid/300420ba-0620-11e2-a980-0024e8764402 ONLINE 0 0 0
gptid/30996c05-0620-11e2-a980-0024e8764402 ONLINE 0 0 0errors: No known data errors
replaceは行われていてまだDEGRADEDの状態です。以前の壊れたHDDの情報を
コマンドで消してみます。
[root@freenas] ~# zpool detach a gptid/2f6d61fa-0620-11e2-a980-0024e8764402
再度状態を確認します。
[root@freenas] ~# zpool status
pool: a
state: ONLINE
scan: resilvered 592G in 2h0m with 0 errors on Fri May 1 13:25:57 2015
config:NAME STATE READ WRITE CKSUM
a ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
gptid/59690064-efa9-11e4-9c8c-0024e8764402 ONLINE 0 0 0
gptid/300420ba-0620-11e2-a980-0024e8764402 ONLINE 0 0 0
gptid/30996c05-0620-11e2-a980-0024e8764402 ONLINE 0 0 0
これでONLINEになりました。これで元通りに使えるようになりました。
以上がFreeNASでのRAIDZ 3台構成HDDの1台のHDD故障の場合の作業手順となります。