その昔FreeNASのZFS実装が酷かった上に仮想化ドライバもアレで、かにゃり使えにゃかったのでNexentaをメインにしてきたのだが、まぁNexentaのドライバは物理の方が酷かったのでそれはそれでどっちも酷く、あげくにServer2012が高機能化してきたりと、そろそろ考え時かにゃってことで、FreeNAS8.3を評価してみることに。
とりあえずvmに放り込んでみる。システムディスクが4G、メモリは6Gくらいは必要ぽい。因みにインストール時にHDDをシステム+データでパーティション分割して使用できたはずにゃんだがどうもやり方が分からず。まぁvmだからいいけども・・・物理マシンの場合はUSBメモリあたりが必要ににゃりそう。
で、ぱっと見のGUIだけは割と洗練されてて、
keymap timezone email networkと基本的にゃ部分は簡単に設定できる。
zpoolとzfsを作るが、どうもユーザhomeが見たらにゃいのでpool/homeも作っておく。
nfs共有、cifs共有の設定・・・但しnfsは何故かv3しか対応してにゃい。
ついでにnfs cifs serverの設定も変更。sshdもONに。
アカウント設定でadminというかrootのPASSとmailとshell設定。
new userで1つ追加。homeを/mnt/pool1/home/user1とかに。あとbash
sshで入って
ssh-keygen
cd ; cat >> .ssh/authorized_keys
su
mount -wu /
visudo
cp /usr/local/etc/sudoers /conf/base/etc/local/sudoers
cd / ; ln -s mnt volumes
ln -s /mnt/pool1/
mkdir -p /vmfs/volumes ; cd /vmfs/volumes
ln -s /mnt/pool1/share/ ds_
chmod 777 /mnt/pool1/share
zfs set snapdir=visible pool1
zfs set sync=disabled pool1
pkg_add -r wget
pkg_add -r perl
pkg_add -r ruby
pkg_add -r coreutils
pkg_add -r compat6x-amd64
mkdir /mnt/cdrom
mount -t cd9660 /dev/cd0 /mnt/cdrom/
cp /mnt/cdrom/vmware-freebsd-tools.tar.gz /tmp/ ; cd /tmp/
tar xzvf vmware-freebsd-tools.tar.gz ; cd vmware-tools-distrib/
./vmware-install.pl -d
vi /conf/base/etc/crontab
mount -ru /
reboot
あたりの作業をするとvmxnet3が使えるようににゃる。
あとvlanやLAGGの設定もGUIから出来るんだが、これ数が多いとものすごく面倒。でも内部はsqliteで設定持ってるみたいで、あまり迂闊に直接書き換えるとどうにゃるか分からにゃい。
ということで妥協的に安全にゃ方法としては、コンソールメニューを表示している /etc/netcliにパラメータを流し込んでやって、
cd /etc; vlan="123" ; ifmenu=5 ; ifno=4 ; printf "3\n1\n${ifmenu}\nvlan${vlan}${ifno}\n${vlan}\n\n" | ./netcli
みたいにゃワンライナーでvlanの追加ができる。が、物理的にリンクアップしてにゃいとその後LAGG一覧に出てこにゃかったりとか、設定ベースにゃのか現状ベースにゃのか曖昧にゃ設計がウザい。FreeBSDってネットワーク周りしょぼいのかしら。
性能に関しては少々チューニングが必要ぽい。nfsで高負荷かけたらtimeoutしちゃったりとかデフォ設定が酷い目。とりあえずautotuneをOnにすると
kern.ipc.maxsockbuf = 2097152
net.inet.tcp.recvbuf_max = 2097152
net.inet.tcp.sendbuf_max = 2097152
というざっくりした決め打ちが入るので、これで様子見。
あとnfsで再帰的にzfsが見えるかというと見えにゃい。要するにNexentaとの機能的にゃ比較でいうとほとんど変わらにゃい。微妙だー。OpenSolarisよりはドライバがマシかもやしれにゃい場合、とか限定していかにゃいとこれと言ったメリットが・・・。