FreeBSDでZFSを使って数年、えっ?そうだったんだ…、ということがありました。
もともと、1.5TBディスク4本を使ったraidzなプールがありました。
運用開始後、ディスクでエラーが発生してディスクを交換したのですが、そのころには、2TBのディスクが安くなっていたので、2TBのディスクを使いました。2TBのディスクを使っても、raidzでは一番小さい容量のディスクにあわせてプールが構成されるので、2TBのディスクを使っても、1.5TB分だけ使われているらしく、プールの容量は同じまま。
ディスク交換をこれまで2回行って、raidzなプールは、1.5TBのディスク2本、2TBのディスク2本で構成されていました。
どうせなら、全部2TBのディスクに交換してしまえ、そうすればプールの容量が大きくなる・・・と思いまして、1.5TBディスクを1本抜いて、新しい2TBディスクを接続。
そして、
zpool replace プール名 新ディスク
というコマンドを実行すべきところ、まちがえて
zpool add プール名 新ディスク
とやってしまいました。
たしかresilverとかいう表示になって、raidzほにゃららの再構成が始まるはず・・・と思ってたら、なかなかそうならない。
なんということでしょう・・・
zpool add なので、プールにディスクを追加して、プールの容量を大きくしちゃったじゃないですか。
1.5TBのディスク3本分の容量のraidz1のプールと、2TBのディスク1本をくっつけた、でかいプールへ、容量が拡大されてしまいました。
zpool addしたのを取り消すのは、zpool removeかな? あれ、できないぞ。おかしいな。
だんだん事態が理解できてきました。
今のZFSって、プールのサイズ拡大はできるけど、サイズ縮小って、できないんですね・・・
zpool addしちゃったら、もうディスクを抜くことはできない、ということ。
しょうがないので、zfs sendで、別のサーバにすべてのデータを移して、プールをゼロから作り直すことにしました[E:shock]
0 件のコメント:
コメントを投稿