zfs setup memo
zfsのルートファイルシステムでインストールし、/homeを5台のHDDにraidz2のファイルシステムを作成する手順のメモ。
参考: bsdinstall でも自由なパーティションレイアウトで Root on ZFS
bsdinstallのpartitioningにてShellを選択して。
# gpart create -s gpt ada0 # gpart add -a 4k -s 512k -t freebsd-boot -l boot0 ada0 # gpart add -a 4k -s 60g -t freebsd-zfs -l sys0 ada0 # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0 # gpart set -a active ada0 # gnop create -S 4096 ada0p2 # zpool create -o altroot=/mnt -m none -f rpool ada0p2.nop # zfs set atime=off rpool # zfs set checksum=fletcher4 rpool # zfs create -V 8g -o checksum=off rpool/swap0 # zfs create -o mountpoint=none rpool/ROOT # zfs create -o mountpoint=/ rpool/ROOT/default # zfs create -o mountpoint=/tmp -o setuid=off rpool/tmp # zfs create -o mountpoint=/usr rpool/usr # zfs create -o compression=lz4 -o setuid=off rpool/usr/ports # zfs create -o compression=lz4 -o exec=off -o setuid=off rpool/usr/src # zfs create -o mountpoint=/var rpool/var # zfs create -o compression=lz4 -o exec=off -o setuid=off rpool/var/crash # zfs create -o compression=lz4 -o exec=off -o setuid=off rpool/var/log # zfs create -o compression=lz4 -o atime=on rpool/var/mail # zfs create -o compression=lz4 -o setuid=off rpool/var/tmp # zpool export rpool # gnop destroy ada0p2.nop # zpool import -o altroot=/mnt rpool # mkdir -p /mnt/boot/zfs # zpool set cachefile=/mnt/boot/zfs/rpool.cache rpool # zpool set bootfs=rpool/ROOT/default rpool # exit
bsdinstallの終了時にManual ConfigurationをYesで選択して。
# echo 'zfs_load="YES"' >> /boot/loader.conf # echo 'zfs_enable="YES"' >> /etc/rc.conf # echo '/dev/zvol/rpool/swap0 none swap sw 0 0' >> /etc/fstab # exit
rebootした後に、rootでログインして。
# zpool create hpool raidz2 ada1 ada2 ada3 ada4 ada5 # zfs create hpool/home # zfs set mountpoint=/home hpool/home # zfs set mountpoint=none hpool # gpart add -a 4k -s 32G -t freebsd-zfs -l zil0 ada0 # gpart add -a 4k -s 60G -t freebsd-zfs -l l2arc0 ada0 # zpool add hpool log gpt/zil0 cache gpt/l2arc0