FreeNAS のハードディスク交換手順 11.3-U4.1版をアップしました。新しいUIで説明しています。
FreeNAS は RaidZ によるソフトウェアRAIDがあるおかげで、MirrorやRaidZ1/2/3などに設定しておけば、ハードディスクが故障した時もいきなりデータを失うことはありません。
そこで、仮想マシン上の FreeNAS のハードディスクを1本引っこ抜いて交換してみました。
ネット上ではシェルで zpool コマンドを使用する例が多いのですが、ここは FreeNAS の GUI で実行してみようと思います。
仮想マシン上で、オンラインのままハードディスクを1本取り除きました。
右上の「Alert」の信号ランプが通常は緑なのに赤になっています。
クリックするとこんなメッセージ。
今回は取外なので「removed」と書かれていますが、ほかの障害が発生したときはまた違う表示なのでしょうね。
障害の状態を確認します。
上の[Storage]から、当該の Volume (今回は tank )を選択して
[Volume Status]
raidz2-0 の中の da4p2 のところが REMOVED となっています。
[Storage] - [View Disks] で
対象のハードディスクの Serial でシリアルNoを調べられますので、これを手がかりに、交換するドライブを特定すればいいのではないでしょうか?
(画面は仮想マシンなんで何も表示されてないですけど、物理ハードディスクだとシリアルNoが表示されます)
一旦シャットダウンして、障害の発生したハードディスクを交換して、再度起動します。
[Storage] - (対象の Volume 選択) - [Volume Status]
障害の発生しているディスクが [UNAVAIL] になっているので、
選択すると、下に [Replace] が出てくるのでクリック。
交換できるハードディスクが装着されている場合は、プルダウンに表示されるので、選択して、[Replace Disk]
ほとんど空っぽの Volume の場合は、ディスクの容量に関係なく一瞬で再構築(Resilver)が終わります。(RAID5だと容赦なく容量分かかる)
もちろんRaidZだとしても、データがいっぱい入っている場合は当然それなりに時間がかかります。
また、Resilver (再構築)中は、全ディスクがフルにアクセスされますので、コレが完了するまでの間にまたどれかのドライブがダウンする恐れもあります。特に同時に購入したハードディスクなど、立て続けに障害が発生することがあります。この待ち時間をハラハラしながら祈るよりは、当初構築する際に、 RaidZ ではなく RaidZ2 を構成したりできるといいですね。
ときおり、
[Storage] - (対象の Volume 選択) - [Volume Status]
を見に来て、
Resilver
Status: In Progress
Progress: 1.50% Scan: 4.32G out of 272G
などという表示から
Resilver
Status: Completed
Errors: 0 Date: Thu Feb 10 21:53:57 2017
とかなったら再構築完了です。
表示されている日時はResilverの完了した日時だと思うので、どのぐらいかかったかの参考になるかと。
なお、障害が発生していない状態でも、この要領でハードディスクを順次容量の大きいものに交換していくと、最後のハードディスクを交換したとたんに容量を拡大することができます。
ただし、1台追加して RaidZ → RaidZ2 などの変更や、2台の Mirror → 3台の RaidZ とか、 4台の RaidZ → 5台の RaidZ 、または、4台のRaidZ2 → 1台取り除いて3台でRaidZ1といったことができないのは惜しいところです。
Resilverの終了予想時刻とかの情報がわかるので、
[Shell]で、
132x25 とかにして
# zpool status tank
とやれば、
104G scanned out of 272G at 256M/s, 0h11m to go
25.2G resilvered, 38.21% done
と表示されてあとだいたいどのくらいかがわかります。
上記の例だとあと11分ぐらい、とのことですね。
(MicroServer N54L の500GB4台のRaidZ2でこんな感じです。1本交換しても、20分かかりませんでした。NAS製品に比べてすごく速いと思います)