2013年10月26日土曜日

(FreeBSD) zpool replaceするつもりがzpool addしてしまって、ゲゲゲな結果になった

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]



20131025



0 件のコメント:

コメントを投稿