RAID-Zを構成してるHDDが古くなってきたので、容量アップも兼ねて交換した。増税だしな!(HDDを買ったのは増税前)
とりあえずプールの構成。
[hoge@Freyja ~]$ zpool status zdata3 pool: zdata3 state: ONLINE scan: resilvered 1.03T in 8h34m with 0 errors on Thu Apr 10 22:57:30 2014 config: NAME STATE READ WRITE CKSUM zdata3 ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 ada2p1 ONLINE 0 0 0 ada1p1 ONLINE 0 0 0 ada0p1 ONLINE 0 0 0 raidz1-1 ONLINE 0 0 0 ada8 ONLINE 0 0 0 ada12 ONLINE 0 0 0 ada9 ONLINE 0 0 0 logs ada5 ONLINE 0 0 0 errors: No known data errors
raidz1-1の方が対象のHDD群。2TBx3本を3TBに交換する。
ZFSはディスクを丸ごと追加&交換が出来るが、それやるとOS起動時に「GPTテーブルがおかしいぜ」と警告ログが出て精神的によろしくないので、パーティションは切っとくのが吉。上記プールではうっかり丸ごと追加してしまってる状態。
交換自体は以下のコマンドをHDD数分叩くだけ。
zpool replace 対象プール 交換元HDD 交換先HDD
SATAの空きポートがなかったため、物理的にHDDを入れ替えといてリビルドという感じで行った。リビルド時間は容量に比例し、うちの環境だと10時間弱といった所。デグレ状態で長時間HDDをブン回す事になるので、これまたあまりよろしくはない。
HDDを交換しただけでは容量は拡張されないので、zpool online -eでZFSにストレージの容量を全部使うように指示する。
[hoge@Freyja ~]$ zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT zdata3 13.6T 10.4T 3.17T 76% 1.00x ONLINE - [hoge@Freyja ~]$ sudo zpool online -e zdata3 ada8p1 [hoge@Freyja ~]$ zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT zdata3 16.3T 10.4T 5.89T 63% 1.00x ONLINE -
交換したHDDの1つにコマンド発行するだけで大丈夫っぽい。