2007.04.02 ZFSメンテナンスの日々 #3 今から約 2 週間に渡って current で ZFS が使えない状態にありました が, これがやっと使えるようになりました(下記コミットによる)。 http://lists.freebsd.org/pipermail/cvs-src/2007-March/076385.html このコミット以後のカーネルで下記 ZFS パッチが使用可能です。 http://blog.ninth-nine.com/archives/zfs_20070401-nork.tar.bz2 さて。前回(03/21)と今回(04/01)で大きく変わった点としては圧縮に gzip サポートが入ったことが挙げられます。そのためにも ZPOOL の アップグレードが必要となります(バージョン 3 から 6 へ)。 # zpool upgrade zdevel データ量が少なかったのか, あっさり終ってしまいました。というわ けで # zfs set compression=gzip-9 zdevel/ncvs (ごにょごにょ) して gzip 圧縮を楽しんでいます:-)。 ディフォルト(lzjb)だと 1.7 倍程度しか圧縮効きませんでしたが, 流 石は gzip 圧縮。2.9 倍と段違いに効いてきます。流石に .gz なファイ ルが多いときは 1.1 倍程度まで下がって来ましたが, テキストが多いと ころだと安心して圧縮してくれます。 # zfs get all zdevel/ncvs NAME PROPERTY VALUE SOURCE zdevel/ncvs type filesystem - zdevel/ncvs creation Sun Apr 1 20:19 2007 - zdevel/ncvs used 1.01G - zdevel/ncvs available 15.7G - zdevel/ncvs referenced 1.01G - zdevel/ncvs compressratio 2.91x - zdevel/ncvs mounted yes - zdevel/ncvs quota none default zdevel/ncvs reservation none default zdevel/ncvs recordsize 128K default zdevel/ncvs mountpoint /home/ncvs local zdevel/ncvs sharenfs off default zdevel/ncvs checksum on default zdevel/ncvs compression gzip-9 inherited from zdevel zdevel/ncvs atime off inherited from zdevel zdevel/ncvs devices on default zdevel/ncvs exec on default zdevel/ncvs setuid on default zdevel/ncvs readonly off default zdevel/ncvs jailed off default zdevel/ncvs snapdir hidden default zdevel/ncvs aclmode groupmask default zdevel/ncvs aclinherit secure default zdevel/ncvs canmount on default zdevel/ncvs shareiscsi off default zdevel/ncvs xattr off temporary zdevel/ncvs copies 1 default 圧縮ファイルシステムは生ファイルシステムと比べて, 負荷や性能, そ して必要容量にからんでくる重要なパフォーマンス要素です。しかし, ZFS はファイルシステム毎にパラメータを変えることができるので, こ のあたりの匙加減を, 使用目的に応じて, 圧縮の可否/圧縮レベルの選 択を行いやすくなっています。 というわけで, 普段からバリバリっすよ off で ライトウェイトに使うなら lzjb ないしは gzip-3(※)あたり ※いや根拠無く言ってます:-) アーカイブ的使い方なら gzip-9 あたり と使い分けていきましょう。 なお選択肢としては, lzjb, gzip(gzip-6と同じ), gzip-1, gzip-2, ..., gzip-9, on(lzjbと同じ), off の 13 種類が指定可能です。 なお, 途中からパラメータ変えても, 書き込みが行われるまでそのまま の状態を維持するので, 単純にパラメータをセットしても, その瞬間か ら効力が発生(1.7→2.9倍へなど)することはありません。 このあたり, ある種のデフラグ化みたいなことをやってくれる機能があ ると便利かもしれない。まぁスナップショット等の関係ですんごく面倒 なことになりそうですが。。 そういえば, 関係無い話になりますが, ちょっと調べてみると http://kikyou.info/diary/?200603#i10_1 あたりの機能一覧が便利にまとまってて便利かも:-)。 参考文献 http://en.wikipedia.org/wiki/LZJB http://kikyou.info/diary/?200603#i10_1 Written by 重村法克