Skip to content

Instantly share code, notes, and snippets.

@pnorman
Last active December 4, 2015 19:04
Show Gist options
  • Save pnorman/9f9ad718ba1d56766665 to your computer and use it in GitHub Desktop.
Save pnorman/9f9ad718ba1d56766665 to your computer and use it in GitHub Desktop.
zfs setup
gpart create -s GPT da8
gpart create -s GPT da9
gpart add -s 222 -a 4k -t freebsd-boot -l boot0 da8
gpart add -a 4k -t freebsd-zfs -l disk0 -s 650GB da8
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da8
gpart add -s 222 -a 4k -t freebsd-boot -l boot1 da9
gpart add -a 4k -t freebsd-zfs -l disk1 -s 650GB da9
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da9
kldload zfs
zpool create -o altroot=/mnt -m none pond mirror gpt/disk0 gpt/disk1
zfs set checksum=fletcher4 pond
zfs set atime=off pond
zfs create -o mountpoint=/ pond/ROOT
zpool set bootfs=pond/ROOT pond
zpool create -o altroot=/mnt -m none lake mirror da0 da4
zpool add lake mirror da1 da5
zpool add lake mirror da2 da6
zpool add lake mirror da3 da7
zfs set checksum=fletcher4 lake
zfs set atime=off lake
zfs create -o compression=lz4 -o exec=on -o setuid=off -o mountpoint=/tmp lake/tmp
chmod 1777 /mnt/tmp
zfs create -o mountpoint=/usr lake/usr
zfs create lake/usr/home
cd /mnt && ln -s usr/home home
zfs create -o compression=lz4 -o setuid=off lake/usr/ports
zfs create -o compression=off -o exec=off -o setuid=off lake/usr/ports/distfiles
zfs create -o compression=off -o exec=off -o setuid=off lake/usr/ports/packages
zfs create -o compression=lz4 -o exec=off -o setuid=off lake/usr/src
zfs create lake/var
zfs create -o exec=off -o setuid=off lake/var/empty
zfs create -o compression=lz4 -o exec=off -o setuid=off lake/var/log
zfs create -o compression=gzip -o exec=off -o setuid=off lake/var/mail
zfs create -o exec=off -o setuid=off lake/var/run
zfs create -o compression=lz4 -o exec=on -o setuid=off lake/var/tmp
zfs create -o compression=lz4 -o exec=off -o setuid=off zroot/var/crash
exit
# wait, configure network/etc, then in shell at end
echo 'zfs_enable="YES"' >> /etc/rc.conf
echo 'zfs_load="YES"' >> /boot/loader.conf
# Do *not* do vfs.root.mountfrom, as the 2nd pool won't load.
zfs export pond
zfs export lake
# Reboot!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment