妄想日記 by 妄想エンジン


zfs で raid z2 なマシンをオンラインで容量を増やすには

おうちサーバのストレージの容量が逼迫してきたのと、そろそろいくつかHDDが死に始めたのでこれを機にHDDを入れ替えることにした。

おうちサーバのメインの方は RAID Z2 なので、HDDが2台死んでもデータは保存されるので、6台あるHDDを、壊れるたびに 1.5TiBから3TiBのものに
入れ替えていって、ただいま最後のHDDがリビルド中なのである。これが終わると約10TiBの大きな保存庫が完成するのである。

オンラインで容量を増やす、とタイトルには書いたが、そのためには Hot Plug できるHDDが必要で、実はおうちサーバはそれができないので、一回一回電源を落としてたりする。まあ、その辺はアレってことで。

あとは、一台づつHDDを新しいものに入れ替えて、 zpool replace するだけである。果てしなく時間がかかるが待っているだけ。これを6台分繰り返せばおしまい。さすが zfs なのだ。

はまりみち:
zpool status でときどきステータスを確認していると、再構築中のプールに書き込みがあると、リビルド完了までの時間が延びるので、なるべく書き込みがないようにしておきたい。

tips:
2台以上交換が終わった時点で、前のHDDに問題がなさそうなら、別のミラープールを作成して、RAID Z2 のプールのファイルを移動させておくと、リビルドが早くなります。使用率90%くらいあった
プールだと、120時間くらいかかっていたのが、使用率30%くらいになると、30時間くらいで終わるのでお勧め。

ということで、あと20時間くらいで終わる予定。
おわった。けど、容量が増えない。なんでかな?
いろいろ検索した結果、autoexpand=yes になってないと自動で増えないことが判明。ぐぬぬ。
手動で増やすのであれば、 zpool online -e すればよい。
ということで、無事増えました。

まとめ:
RAID Z な zfs pool は一台づつ容量の大きな HDD に交換することによって、オンラインのまま拡張することが可能。
autoexpand=yes にしておけば、最後の HDD のリビルドが終わった際に拡張される。
デフォルトでは autoexpand は yes になっていないので、 zpool online -e して手動で拡張可能。
export -> import でも増える。
リビルドにものすごく時間がかかるから、ぶっちゃけあまりお勧めはできないが、HDD不良などで交換する際についでにやったり、予防交換する場合などにはいいかも。
AFTじゃないHDDからAFTなHDDに入れ替える場合は、新たにpool 作り直さないと 4kセクタアクセスに変更することはできない。

ということで、次やるか?と聞かれたらNoですな。
あと、RAID Z2だから余裕もってできたけど、RAID Z1 だったらリビルド中にもう一台逝く可能性もあるので、ちょっと怖くて無理。

ツイート
|top |アフィリエイト |windowsネタ |料理メモ |コンタクト |twitter |
さわやかなエロスを目指す--妄想エンジン ©1996-2022
コンテンツ配信