FreeBSDでZFS

 FreeBSDをインストールしてZFSをいじってみた。操作は簡単なんだけど、やっぱり思っていたような機能はないみたい。

http://docs.sun.com/app/docs/doc/819-6260/gavwn?a=viewより

バイスを置き換えるときは、ミラー構成または RAID-Z 構成内のすべてのデバイスの最小サイズ以上のデバイスを使用する必要があります。置き換えたあとのデバイスが大きい場合、ミラー構成および RAID-Z 構成でないときには、置き換えが完了するとプールのサイズが大きくなります。

つまり120GB+120GB+120GBのストレージプール(RAID-Z)のうちの一つの120GBを250GBに置き換えたところで容量は増えないということだ。
実際にやってみた結果

# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
zpool0                  334G    800K    334G     0%  ONLINE     -

120GBのハードディスク3台で編成されるzpool0があって、

# zpool replace zpool0 ad6 ad7

そのうち一つのディスクを250GBに置き換えた。

# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
zpool0                  334G    803K    334G     0%  ONLINE     -

大きさは変わっていない。
やっぱりそうだよな、常識的に考えて。oshikojiの狙いは余っているハードディスクを利用して、耐障害性があり後々容量拡張が可能なストレージを作るということだったのだが、ZFSをもってしても不可能だということだ。耐障害性を諦めて単なるJBODとして使えばディスクを交換することで容量は拡張できるが、それだったらLinux LVMを利用すればいいだけの話である。(ZFSにはストライピング機能があるのでアクセスは速くなるかも?)FreeBSDを勉強し直すのも面倒くさいしやっぱりDebianに入れ替えようかなあ。
 そうそう、ZFSはoshikojiの使い方に合わなかったというだけで、アイデアは素晴らしいものだ。今後もチェックしておきたい技術だ。