現在のiSCSIターゲット用のZFSを構成してからおよそ1年半が経過しました。
http://shell.peach.ne.jp/aoyama/archives/63
当初はFreeBSD 7.1 i386を使ってIDEディスクから起動させていました。
amd64がFreeNASを通して十分役に立つと思ったのでPAEを止めてamd64を導入しました。
※正確にはアップグレードじゃなくて新規インストール+既存設定の手動コピー/移動ですね。
現在はIDEも廃止してUSBメモリのSILICON POWER Ultima II I-Series 2GBを起動ドライブ(UFS)として使っています。
(基本的にサーバを再起動することはほぼないので、起動時間は何分かかろうと問題ない。)
さらにZFS RAIDZ2上にルートファイルシステムを構成して以下のような設定で起動しています。
(USBにCDROMから最小インストールして、それをZFSにコピーするのが簡単確実です。)
ソースから更新をかける場合は、
# make installworld
# make installkernel
# make installworld DESTDIR=/bootdir
のように、通常インストールに加えて、起動ドライブのディレクトリを指定して追加でインストールします。
/boot/loader.conf:
autoboot_delay="3"
zfs_load="YES"
kern.maxfiles="32768"
vfs.root.mountfrom="zfs:tank/root-73"
# ZFS v13
vfs.zfs.txg.timeout=10
vfs.zfs.vdev.max_pending=10
vm.kmem_size="2560M"
vfs.zfs.arc_min="1536M"
vfs.zfs.arc_max="1536M"
※追記:パラメータが良くないので修正しました。
注意点としてはマウントしているFSはzfs upgradeできない。
のでZFSプールのアップグレードはシングルモードかつUFSルートを使って起動する必要があります。
(作業自体は数秒で終わるのでシングルモードでも問題はないです)
具体的にはEscape to loader promptを選択して、OKプロンプトから
unset vfs.root.mountfrom
とすれば起動ドライブを読みに行くはず。
アップグレード後の状態はこんな感じです。
[root@hera ~]# zpool status
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz2 ONLINE 0 0 0
ad14 ONLINE 0 0 0
ad16 ONLINE 0 0 0
ad18 ONLINE 0 0 0
ad20 ONLINE 0 0 0
ad22 ONLINE 0 0 0
ad24 ONLINE 0 0 0
errors: No known data errors
[root@hera ~]# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
tank 2.73T 1.79T 961G 65% ONLINE -
[root@hera ~]# zpool history
History for 'tank':
2008-11-14.17:24:16 zpool create tank raidz2 ad6 ad8 ad10 ad12 ad14 ad16
2008-11-14.17:24:38 zfs create tank/iscsi
2008-11-14.17:24:43 zfs create tank/samba
2008-11-14.17:24:50 zfs create tank/usb
2008-11-14.17:27:57 zfs set compress=on tank/usb
2008-11-14.17:28:19 zfs create tank/nfs
2008-11-14.17:28:31 zfs set mountpoint=/nfs tank/nfs
以下省略
[root@hera ~]# df -h
Filesystem Size Used Avail Capacity Mounted on
tank/root-73 578G 2.0G 576G 0% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/da0s1a 1.8G 673M 1.0G 40% /bootdir
tank/home 586G 10G 576G 2% /home
tank/nfs 576G 0B 576G 0% /nfs
以下省略
余談になりますけど、FreeBSDにはセキュリティサポート期間の違いで二種類が存在します。
今回の7.3はExtended扱いで最低2年間は保守されます。
7.2や8.0は通常なので1年のみです。
なのでサーバ用途にはExtendedをお勧めしておきます。
詳細はこちらからどうぞ。
http://www.freebsd.org/security/index.html