FreeNASのディスク構成ですが、
最初は、ディスクを4台くらい用意して、RaidZ2とかいいんじゃないか(容量効率の面なら6台でRaidZ2)と思っていたのですが、
現在では、容量の同じハードディスクを2台ずつペアにしてMirrorとして、それをStripe構成にして運用するのがいいんじゃないか、
で落ち着いています。
で、その構築の操作方法についてだけで、運用方法についてはあんまり説明していなかったように思うので、MirrorをStripe構成にして容量を拡大する手順について説明してみようと思います。
Mirrorを最初に構築するなら、同容量のディスクが2台あれば構築できますし、
ディスクを追加して容量を増やしたいときは、さらに2台のディスクをMirror構成で追加することでそれだけ容量が増やせますし、
ディスクをリプレースして容量を増やしたいときも、対象のディスク2本を交換し終えれば容量が増えます。
これが4本や6本のRaidZ2だと、容量の大きなハードディスクが4本、6本必要で、交換が終わったら、元のドライブが4本、6本余ることになります。
ドライブがダウンしたりしたときに、同容量のディスクで交換せず、せっかくだから容量の大きいディスクに交換しても、利用できる容量が増えるまで待っていると、大きな容量のディスクも持ち腐れになってしまいます。
さて、気を取り直して、実際の手順です。
まず、ベースとなるMirror構成のVolumeを作成します。
(組み合わせが変にならないように)
ディスクを2本装着して、
Storage - Volumes
Volume Manager
ボタンを右にドラッグして、
Mirrorが選ばれるようにして、
Add Volume
これでMIrrorのVolumeが1つできました。
ここで、追加のディスクを2本装着して、
また、
Storage - Volumes
Volume Manager
こんどは、
Volume to extend
で先ほどのVolumeを指定して、
またボタンを右にドラッグして、
Mirrorが選ばれるようにして、
Extend Volume
これで、
Mirror化された2つのドライブがStripe構成になっているVolumeを構成することができます。
4本のディスクで、容量効率50%、組み合わせに制限がありますが、2本のディスクに障害が発生してもデータを失わない構成です。
(障害の発生するディスクの組み合わせに制限がない点では、この状態であればRaidZ2構成の方が優れています。)
ここまでは以前も紹介しました。
この作業の繰り返しで2本ずつディスクを追加して容量を増やしていくことも可能です。
(ただし、構成に含まれているMirrorのセットを取り外すしてMirrorのセット数を減らすようなオペレーションはできません)
または、ここから、既存のMirrorを構成しているディスクを1本ずつ2本交換することで、容量を増やすことも可能です。
今回は試しにこちらの手順を紹介してみましょう。
仮想マシン上で100GBのMirrorをStripeしたVolumeです。
FreeNASをシャットダウンして、既存のディスクを1本取り外し、容量の大きな新しいディスクに交換して起動します。
当然、VolumeはDEGRADEDになりますので、
(間違ったディスクを外してしまった場合は、そのままシャットダウンして、元に戻して起動すれば元通りです)
Volume Status
から
Removedとなっているディスクを選択して、
Replace
新しいディスクが選択されているはずですので、
Replace Disk
このまま
Resilverが終わるまで待ちます。
View Volume
から
Volume Status
をリロードしていればそのうち Status が Completed
になりますのでそしたらもう一回FreeNASをシャットダウンして、既存のもう1本のディスクを取り外し、容量の大きな新しいディスクに交換して起動します。
予定通りのディスクがREMOVEDになっていれば、
選択して
Replace
Replace Disk
でVolumeの容量が増加します。
今回は、交換用の仮想ディスクは200GBのものを使用しましたので、
100GBのMirrorのStripeで約200GBだったVolumeが
100GBのMirrorと200GBのMirrorのStripeとなり約300GBのVolumeになっているのがわかります。
現在のFreeNASのZFSでは、
シングル運用のVolumeにディスクを追加してMirror構成にしたり、
Mirror構成のVolumeにディスクを追加して、RaidZ構成にしたり、
といった変更ができませんので、
上記の様な運用が妥当なのではないかと思います。
(もちろん使用済みの容量が十分少なくてもディスクの容量が小さいものに交換したり、
RaidZ運用からディスクを1台外してMirror運用やStripe運用にしたり
Mirror運用からディスクを1台外してStripe運用にしたりするのもできません)
エンタープライズ用途の場合は、途中でディスクを少数交換して容量アップすることより、堅牢性の方が重視されるので、最初からRaidZ2構成などにして、途中での容量アップなどせず、新しいハードウェアに更新していくか、それこそ、4台とか6台のディスクを全部交換して更新するのがいいんじゃないですかね。
GUIで提供されていないコマンドをShellで実行すると一部の操作は可能ですが、
あんまり意味ないと思います。
Mirror構成だと若干不安だと言う人はドライブやポート、ケージに余裕があれば予備のドライブをSpareとして追加しておけばドライブがダウンした瞬間に切り替わってResilverが走ります。
少しはマシなんじゃないでしょうか?