FreeNAS のハードディスク交換手順

FreeNAS のハードディスク交換手順 11.3-U4.1版をアップしました。新しいUIで説明しています。



freenas_replace_hdd_00.jpg

FreeNAS は RaidZ によるソフトウェアRAIDがあるおかげで、MirrorやRaidZ1/2/3などに設定しておけば、ハードディスクが故障した時もいきなりデータを失うことはありません。

そこで、仮想マシン上の FreeNAS のハードディスクを1本引っこ抜いて交換してみました。

ネット上ではシェルで zpool コマンドを使用する例が多いのですが、ここは FreeNAS の GUI で実行してみようと思います。


freenas_replace_hdd_01.jpg

仮想マシン上で、オンラインのままハードディスクを1本取り除きました。
右上の「Alert」の信号ランプが通常は緑なのに赤になっています。

freenas_replace_hdd_02.jpg

クリックするとこんなメッセージ。
今回は取外なので「removed」と書かれていますが、ほかの障害が発生したときはまた違う表示なのでしょうね。


freenas_replace_hdd_03.jpg

障害の状態を確認します。
上の[Storage]から、当該の Volume (今回は tank )を選択して
[Volume Status]

freenas_replace_hdd_04.jpg

raidz2-0 の中の da4p2 のところが REMOVED となっています。

freenas_replace_hdd_05.jpg

[Storage] - [View Disks] で

freenas_replace_hdd_06.jpg

対象のハードディスクの Serial でシリアルNoを調べられますので、これを手がかりに、交換するドライブを特定すればいいのではないでしょうか?
(画面は仮想マシンなんで何も表示されてないですけど、物理ハードディスクだとシリアルNoが表示されます)

一旦シャットダウンして、障害の発生したハードディスクを交換して、再度起動します。

freenas_replace_hdd_03.jpg

[Storage] - (対象の Volume 選択) - [Volume Status]

freenas_replace_hdd_08.jpg

障害の発生しているディスクが [UNAVAIL] になっているので、
選択すると、下に [Replace] が出てくるのでクリック。

freenas_replace_hdd_09.jpg

交換できるハードディスクが装着されている場合は、プルダウンに表示されるので、選択して、[Replace Disk]

freenas_replace_hdd_10.jpg

ほとんど空っぽの 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といったことができないのは惜しいところです。

zpool_status.jpg

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製品に比べてすごく速いと思います)

About

2015年08月02日 22:23に投稿されたエントリーのページです。

ひとつ前の投稿は「FreeNAS で Apache を使う(FreeNAS をWebサーバーにする)」です。

次の投稿は「FreeNAS の インポート機能を試す」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35