zfsとは直接関係ないが、gptについても調べてみた……が、さっぱりわからん。
要は使う方から見ればデバイスパスを使わずにデバイスのユニークIDで管理するような仕組みになっているらしい。
デバイスパスよりゃユニークIDの方が間違いもないし当然いいので、まあ、いっか。
とりあえず、今のところzfsでgptのパーティションをデバイスパスを使ってプールを作れないのはバグの様である。
とにかくメモリを食うzfsであるが、
コチラを参照してチューニング。
/boot/loader.conf
vm.kmem_size_max="1200M"
vm.kmem_size="1200M"
vfs.zfs.arc_max="250M"
/etc/sysctl.conf
kern.maxvnodes=400000
という感じの設定をしておかないとメモリをちゃんと使ってくれないようである。
おかげさまでbonnie++で -n 256 を指定しても落ちなくなった。
もうひとつ、気になっていたPrefetch機能というのがあるのだが、
コチラ を拝見する限りはメモリを大量に積んだとしてもオンにする必要性は今のところなさそうである。
搭載メモリ2GBでやってもあまり意味はないのだが、念のためにPrefetchオンとオフでbonnie++を取ってみた。
C2D E6300 ZOTAC G43ITX-A-E 2GB RAM 2.5inch 5400rpm HDD x5 RAID-Z2 |
Prefetch ON
| Version 1.96 ------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
Duke 4G 65 93 50147 21 37583 17 188 99 142790 36 131.8 14
Latency 414ms 3484ms 3473ms 54920us 699ms 1221ms
Version 1.96 ------Sequential Create------ --------Random Create--------
Duke -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
256 8056 82 14526 84 6851 79 3580 32 14090 85 307 14
Latency 2225ms 759ms 3379ms 1400ms 30399us 2839ms
|
Prefetch Off
| Version 1.96 ------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
Duke 4G 71 95 50290 20 32367 14 195 98 83600 20 134.1 11
Latency 606ms 3697ms 3674ms 72672us 1307ms 1555ms
Version 1.96 ------Sequential Create------ --------Random Create--------
Duke -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
256 9001 74 25160 93 7938 71 3698 30 20338 76 309 13
Latency 3026ms 27191us 3178ms 1365ms 34301us 2903ms
|
やはり、オンにしてはいけないようである。
以上で、ファイルサーバ整備完了とする。
G4Cube用のMini PCI ギガビットイーサ、どっかに落ちてないかなぁ〜……