読者です 読者をやめる 読者になる 読者になる

FreeBSDでzfsを試してみた その4

jailの構築が終わったのでjail内でzfsを試してみる。

jailの設定

まず、jailでマウントが出来るようにする。

# sysctl security.jail.mount_allowed=1

これだと、再起動した時にもう一回やらないといけないので、/etc/sysctl.confに書いておく

# echo'sysctl security.jail.mount_allowed=1' >> /etc/sysctl.conf

次にjail内でzfsコマンドを使用できるようにする。

# vim /usr/local/etc/ezjail/sample01
- export jail_sample01_devfs_ruleset="devfsrules_jail"
+ export jail_sample01_devfs_ruleset="zfsenable"

前回ezjailをインストールした時に/usr/local/etc/ezjail.confに以下の様に書いておけば上のはいらなかったぽい。

# vim /usr/local/etc/ezjail.conf
ezjail_devfs_enable="YES"
ezjail_devfs_ruleset="zfsenable"

ezjail.confがezjail-adminでjail作るときにしか意味がないのに気づかずにしばらくここで苦戦した><

zfsの設定

次はzfsのファイルシステムをjailで操作できるように設定する。

# zfs create zpool0/jail
# jls
   JID  IP Address      Hostname                      Path
    1  192.168.0.82    sample01                      /usr/local/jails/sample01
# zfs jail 1 zpool0/jail
# zfs set jailed=on zpool0/jail

これでjail内でzfsが使用できるようになったはず。

検証

動いているか確認をする。

# jexec 1 /bin/tcsh
sample01# zfs list
NAME             USED  AVAIL  REFER  MOUNTPOINT
zpool0           513M  1.44G    20K  /zdevel
zpool0/jail       18K  1.44G    18K  /zdevel/jail
sample01# ls /zdevel
jail

zfs createコマンドを試してみる。

sample01# zfs create zpool0/jail/sample01
sample01# zfs create zpool0/sample01
cannot create 'zpool0/sample01': permission denied

ちゃんとjailの設定がされているzpool0/jailにはzfsのボリュームを作れて、設定がされてないzpool0には作られない。

速度比較

sample01# dd if=/dev/urandom of=/zdevel/jail/random.dat count=131072 bs=1024
131072+0 records in
131072+0 records out
134217728 bytes transferred in 12.411375 secs (10814090 bytes/sec)
# dd if=/dev/urandom of=/zdevel/random.dat count=131072 bs=1024
131072+0 records in
131072+0 records out
134217728 bytes transferred in 12.342206 secs (10874695 bytes/sec)

普通にファイルの作成とかも出来るし、速度もjail内と外で大差ない。

まとめ

これで大体FreeBSDで出来ることは終わりかな?
USBメモリを2本挿すだけで簡単にテストできるのは嬉しかった。ただ、やっぱりUSBメモリなのでちゃんとしたHDDで速度とかのテストをしたいところ。
FreeBSDでiSCSIが利用可能になるのはいつになるんだろう……