ZFS on FreeBSD
ということで,ファイルサーバにFreeBSD(FreeBSD 7.1-RELEASE)をインストールしてZFSのボリュームを作成してみた.ZFSのためにメモリを512MBから1GB*2に増設.
起動ディスクは転がってた2.5inch,120GBのHDDでUFS.ZFSの方はWD10EADS,WD10EACS,SAMSUNG HD103UIの3つでRAIDZを構築.
最初,unixといってもdebian一筋でapt-get一発に慣れきってしまっていたというか,それ以外を知らずに生きていたので,BSDのストイックさに面食らった.
特に,
- いちいち全部make; make installするの?(/usr/ports/以下に一通りdownload先を含めた設定ファイルがあって,ただ,このコマンドを打ち込むだけなので別にそこまで不便じゃないし,pkg_*もある.)
- 設定ファイルはどこ?さらに,sambaをインストールしただけじゃ動かない.(/etc/以下にないのに思想の違いを感じた.まあ,一通りわかってしまえば,妙に深いことを除けばどうと言うことはない.アップデートを追っかけるシステムがたくさんあってどれを使えばいいのかが,ぱっと見でわからないのは初心者お断りな感じがすごくした.sambaとかを入れただけでは動かないのは誠実だけど不親切だと思った./etc/rc.confに変数を書き込まないといけないなんてねえ)
- よくわかんないけどext2のディレクトリが読めないので,カーネル再構築とかいろいろやったけど全然読めない.(ライセンスの問題?で標準だとkldloadで読み込ませないといけない.kernelの再構築は必要ない.が,よくわかんなかったので再構築を何回かしてしまった.でも,結局ZFSで再構築が必要になるので無駄じゃなかった)
と言う感じで,3回くらい挫折しそうになったんだけどFreeBSD Handbookなどを見つつ何とか対応できた.debianと比較するとだいぶ情報少ない上に鮮度の低い情報が多すぎて発狂しそうになったけど,その意味でhandbook(英語版)は心強かった.
パフォーマンスはデータの転送が終わってから測ろうと思う.しかし,ZFSはボリュームの管理から何から,LinuxでRAID+LVM2+ext3を構築した後では天国に見える.
追記
パフォーマンスはそんなに良くない?同じく9GBのファイルをnetatalk経由で読み書き
書き込み(MB/s) | 読み込み(MB/s) | |
---|---|---|
ZFS | 24.46 | 36.87 |
なんつーか,NILFS2とあんま性能変わらない.
CPU使用率がsamba経由でもnetatalk経由でも50%を越えてくるので,そこらへんがネックなのかも知れないし,シークが発生することによるロスも大きいのだろう.
追記2
やっぱCPUか(http://undeveloperworks.uraroji.com/2008/12/cpuopensolaris_zfsraid-z.html参照)
記録用に bonnie++のデータを貼っておく
Version 1.93d ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP fileserver.smect 4G 54 96 59863 28 40094 22 125 99 148721 34 115.6 6 Latency 933ms 791ms 949ms 125ms 549ms 1825ms Version 1.93d ------Sequential Create------ --------Random Create-------- fileserver.smectic_ -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 11642 96 +++++ +++ 11480 98 11675 89 +++++ +++ 9318 81 Latency 25240us 331us 401us 28020us 3874us 157ms