Skip to content

Instantly share code, notes, and snippets.

@geoffgarside
Created November 15, 2008 09:25
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save geoffgarside/25221 to your computer and use it in GitHub Desktop.
Save geoffgarside/25221 to your computer and use it in GitHub Desktop.
Scripts to setup ZFS on a FreeBSD server
#!/bin/sh
# Creates all our file systems
zpool create tank /dev/ad1s1d
zfs create tank/root
zfs create tank/usr
zfs create tank/var
zfs create tank/tmp
zfs set mountpoint=/tank tank/root
zfs set mountpoint=/tank/usr tank/usr
zfs set mountpoint=/tank/var tank/var
zfs set mountpoint=/tank/tmp tank/tmp
zfs create tank/usr/include
zfs set compression=gzip-9 tank/usr/include
zfs set exec=off tank/usr/include
zfs set setuid=off tank/usr/include
zfs set mountpoint=/tank/usr/include tank/usr/include
zfs create tank/usr/local
zfs set mountpoint=/tank/usr/local tank/usr/local
zfs create tank/usr/local/etc
zfs set compression=on tank/usr/local/etc
zfs set setuid=off tank/usr/local/etc
zfs set mountpoint=/tank/usr/local/etc tank/usr/local/etc
zfs create tank/usr/local/include
zfs set compression=gzip-9 tank/usr/local/include
zfs set exec=off tank/usr/local/include
zfs set setuid=off tank/usr/local/include
zfs set mountpoint=/tank/usr/local/include tank/usr/local/include
zfs create tank/usr/local/info
zfs set compression=gzip-9 tank/usr/local/info
zfs set exec=off tank/usr/local/info
zfs set setuid=off tank/usr/local/info
zfs set mountpoint=/tank/usr/local/info tank/usr/local/info
zfs create tank/usr/local/man
zfs set compression=gzip-9 tank/usr/local/man
zfs set exec=off tank/usr/local/man
zfs set setuid=off tank/usr/local/man
zfs set mountpoint=/tank/usr/local/man tank/usr/local/man
zfs create tank/usr/local/share
zfs set compression=gzip-9 tank/usr/local/share
zfs set setuid=off tank/usr/local/share
zfs set mountpoint=/tank/usr/local/share tank/usr/local/share
zfs create tank/usr/local/src
zfs set compression=gzip-9 tank/usr/local/src
zfs set exec=off tank/usr/local/src
zfs set setuid=off tank/usr/local/src
zfs set mountpoint=/tank/usr/local/src tank/usr/local/src
zfs create tank/usr/local/www
zfs set compression=gzip-9 tank/usr/local/www
zfs set mountpoint=/tank/usr/local/www tank/usr/local/www
zfs create tank/usr/ports
zfs set compression=gzip-9 tank/usr/ports
zfs set setuid=off tank/usr/ports
zfs set mountpoint=/tank/usr/ports tank/usr/ports
zfs create tank/usr/ports/distfiles
zfs set compression=off tank/usr/ports/distfiles
zfs set exec=off tank/usr/ports/distfiles
zfs set setuid=off tank/usr/ports/distfiles
zfs set mountpoint=/tank/usr/ports/distfiles tank/usr/ports/distfiles
zfs create tank/usr/ports/packages
zfs set compression=off tank/usr/ports/packages
zfs set exec=off tank/usr/ports/packages
zfs set setuid=off tank/usr/ports/packages
zfs set mountpoint=/tank/usr/ports/packages tank/usr/ports/packages
zfs create tank/usr/pkgsrc
zfs set compression=gzip-9 tank/usr/pkgsrc
zfs set setuid=off tank/usr/pkgsrc
zfs set mountpoint=/tank/usr/pkgsrc tank/usr/pkgsrc
zfs create tank/usr/pkgsrc/distfiles
zfs set compression=off tank/usr/pkgsrc/distfiles
zfs set exec=off tank/usr/pkgsrc/distfiles
zfs set setuid=off tank/usr/pkgsrc/distfiles
zfs set mountpoint=/tank/usr/pkgsrc/distfiles tank/usr/pkgsrc/distfiles
zfs create tank/usr/pkgsrc/packages
zfs set compression=off tank/usr/pkgsrc/packages
zfs set exec=off tank/usr/pkgsrc/packages
zfs set setuid=off tank/usr/pkgsrc/packages
zfs set mountpoint=/tank/usr/pkgsrc/packages tank/usr/pkgsrc/packages
zfs create tank/usr/share
zfs set compression=gzip-9 tank/usr/share
zfs set setuid=off tank/usr/share
zfs set mountpoint=/tank/usr/share tank/usr/share
zfs create tank/usr/src
zfs set compression=gzip-9 tank/usr/src
zfs set exec=off tank/usr/src
zfs set setuid=off tank/usr/src
zfs set mountpoint=/tank/usr/src tank/usr/src
zfs create tank/usr/doc
zfs set compression=gzip-9 tank/usr/doc
zfs set exec=off tank/usr/doc
zfs set setuid=off tank/usr/doc
zfs set mountpoint=/tank/usr/doc tank/usr/doc
zfs create tank/usr/obj
zfs set setuid=off tank/usr/obj
zfs set mountpoint=/tank/usr/obj tank/usr/obj
zfs create tank/var/db
zfs set exec=off tank/var/db
zfs set setuid=off tank/var/db
zfs set mountpoint=/tank/var/db tank/var/db
zfs create tank/var/db/mysql
zfs set recordsize=16k tank/var/db/mysql
zfs set exec=off tank/var/db/mysql
zfs set setuid=off tank/var/db/mysql
zfs set mountpoint=/tank/var/db/mysql tank/var/db/mysql
zfs create tank/var/db/openldap-data
zfs set recordsize=16k tank/var/db/openldap-data
zfs set exec=off tank/var/db/openldap-data
zfs set setuid=off tank/var/db/openldap-data
zfs set mountpoint=/tank/var/db/openldap-data tank/var/db/openldap-data
zfs create tank/var/db/pkg
zfs set compression=gzip-9 tank/var/db/pkg
zfs set exec=on tank/var/db/pkg
zfs set setuid=off tank/var/db/pkg
zfs set mountpoint=/tank/var/db/pkg tank/var/db/pkg
zfs create tank/var/db/sup
zfs set compression=gzip-9 tank/var/db/sup
zfs set exec=off tank/var/db/sup
zfs set setuid=off tank/var/db/sup
zfs set mountpoint=/tank/var/db/sup tank/var/db/sup
zfs create tank/var/empty
zfs set exec=off tank/var/empty
zfs set setuid=off tank/var/empty
zfs set mountpoint=/tank/var/empty tank/var/empty
zfs create tank/var/backups
zfs set compression=gzip-9 tank/var/backups
zfs set exec=off tank/var/backups
zfs set setuid=off tank/var/backups
zfs set mountpoint=/tank/var/backups tank/var/backups
zfs create tank/var/crash
zfs set compression=gzip-9 tank/var/crash
zfs set exec=off tank/var/crash
zfs set setuid=off tank/var/crash
zfs set mountpoint=/tank/var/crash tank/var/crash
zfs create tank/var/heimdal
zfs set exec=off tank/var/heimdal
zfs set setuid=off tank/var/heimdal
zfs set mountpoint=/tank/var/heimdal tank/var/heimdal
zfs create tank/var/log
zfs set exec=off tank/var/log
zfs set setuid=off tank/var/log
zfs set mountpoint=/tank/var/log tank/var/log
zfs create tank/var/mail
zfs set exec=off tank/var/mail
zfs set setuid=off tank/var/mail
zfs set mountpoint=/tank/var/mail tank/var/mail
zfs create tank/var/named
zfs set setuid=off tank/var/named
zfs set mountpoint=/tank/var/named tank/var/named
zfs create tank/var/run
zfs set exec=off tank/var/run
zfs set setuid=off tank/var/run
zfs set mountpoint=/tank/var/run tank/var/run
zfs create tank/var/service
zfs set setuid=off tank/var/service
zfs set mountpoint=/tank/var/service tank/var/service
zfs create tank/var/spool
zfs set setuid=off tank/var/spool
zfs set mountpoint=/tank/var/spool tank/var/spool
zfs create tank/var/tmp
zfs set compression=on tank/var/tmp
zfs set setuid=off tank/var/tmp
zfs set mountpoint=/tank/var/tmp tank/var/tmp
zfs create tank/var/yp
zfs set setuid=off tank/var/yp
zfs set mountpoint=/tank/var/yp tank/var/yp
#!/bin/sh
# Before we reboot we need to set all the
# mount points of our ZFS file systems.
zfs set mountpoint=/usr tank/usr
zfs set mountpoint=/var tank/var
zfs set mountpoint=/tmp tank/tmp
zfs set mountpoint=/usr/include tank/usr/include
zfs set mountpoint=/usr/local tank/usr/local
zfs set mountpoint=/usr/local/etc tank/usr/local/etc
zfs set mountpoint=/usr/local/include tank/usr/local/include
zfs set mountpoint=/usr/local/info tank/usr/local/info
zfs set mountpoint=/usr/local/man tank/usr/local/man
zfs set mountpoint=/usr/local/share tank/usr/local/share
zfs set mountpoint=/usr/local/src tank/usr/local/src
zfs set mountpoint=/usr/local/www tank/usr/local/www
zfs set mountpoint=/usr/ports tank/usr/ports
zfs set mountpoint=/usr/ports/distfiles tank/usr/ports/distfiles
zfs set mountpoint=/usr/ports/packages tank/usr/ports/packages
zfs set mountpoint=/usr/pkgsrc tank/usr/pkgsrc
zfs set mountpoint=/usr/pkgsrc/distfiles tank/usr/pkgsrc/distfiles
zfs set mountpoint=/usr/pkgsrc/packages tank/usr/pkgsrc/packages
zfs set mountpoint=/usr/share tank/usr/share
zfs set mountpoint=/usr/src tank/usr/src
zfs set mountpoint=/usr/doc tank/usr/doc
zfs set mountpoint=/usr/obj tank/usr/obj
zfs set mountpoint=/var/db tank/var/db
zfs set mountpoint=/var/db/mysql tank/var/db/mysql
zfs set mountpoint=/var/db/openldap-data tank/var/db/openldap-data
zfs set mountpoint=/var/db/pkg tank/var/db/pkg
zfs set mountpoint=/var/db/sup tank/var/db/sup
zfs set mountpoint=/var/empty tank/var/empty
zfs set mountpoint=/var/backups tank/var/backups
zfs set mountpoint=/var/crash tank/var/crash
zfs set mountpoint=/var/heimdal tank/var/heimdal
zfs set mountpoint=/var/log tank/var/log
zfs set mountpoint=/var/mail tank/var/mail
zfs set mountpoint=/var/named tank/var/named
zfs set mountpoint=/var/run tank/var/run
zfs set mountpoint=/var/service tank/var/service
zfs set mountpoint=/var/spool tank/var/spool
zfs set mountpoint=/var/tmp tank/var/tmp
zfs set mountpoint=/var/yp tank/var/yp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment