ZFSの実力
Solaris 10にはZFSなるファイルシステムが搭載されている。SUNのサイトには6/06からと書いているので、初版には搭載されていなかった事になる。まぁ今から入手する人なら初版なんて使わないよね。
今回、VM上のSolaris 10 8/07の一部分をZFS化する。とりあえず一番楽そうな/export/homeをZFSにしてみよう。ディスクを2本追加する。ばしんばしんとね。VMってなんて楽チンなんだ。IDE0:1(プライマリスレーブ)とIDE1:1(セカンダリスレーブ)に10GBのディスクをセットする。fdiskコマンドにより領域1をsolaris2で全部確保。formatコマンドでパーティション0をシリンダ3からラストまで一気にがつん。タグはrootで良い。
パーティション2はオーバーオールなのでシリンダ0からラストまで。ここで、なぜかパーティション2がReadWriteMountになっていたのでReadWriteUnmountに変更する。
コマンド入力内容とその結果をここに書くのは面倒であるので割愛。
さて、これで、パーティションは次のようになった。
ディスク0(IDE0:0)
0=/ 1=swap 2=overall 3=/tmp 4=/usr 5=/var 6=/usr/openwin 7=none (今までは/export/homeだった)
ディスク1(IDE0:1)とディスク2(IDE1:1)
0=(ZFSのために確保) 1=none 2=overall 3=none 4=none 5=none 6=none 7=none
では、ZFSの領域をディスク1とディスク2で確保する。この時に、zpool createやzpool addのオプションで、ディスクをSoft Mirror(RAID-1?)、Raid-Z(RAID-5?)にもできるようだ。今回は普通に追加する。Windows NT 4.0のボリュームセットに近い。
# zpool create zfspool /dev/dsk/c0d1s0 # zpool add zfspool /dev/dsk/c1d1s0
さて、それぞれのディスクは約10GBであるので、/zfsrootは20GBになっているはず。
zfspool 20G 333K 20G 0% /zfspool
これはdf -hの結果。おおお、確かにディスク2つ分の20GBとしてマウントされているではないか。それではこれを早速/export/homeとして切りだそう。一般的にはzpoolで作成した容量は、さらに以下のようにしていろんな名前で分割し、それぞれ別の場所にマウントするようだ。
# zfs create zfspool/home # zfs set mountpoint=/export/home zfspool/home
NT4.0のボリュームセットのように使いたいだけという事であれば、今作ったプールをそのままマウントしてしまえば良い。最初からhogeという名前でプールを作成しておけばマウントポイントの変更すら必要ない。
# zfs set mountpoint=/hoge zfspool
ZFSにはスナップショット機能があると言うことで、ディスクが一本だけの場合でも恩恵にあずかる事ができるかも知れない。要チェックである。