Table of Contents

Actual Server

Server Quote

Important Features

Pool Geom, 4TB, 492 IOPS

zpool status                                                                                            
  pool: tank                                                                                               
 state: ONLINE                                                                                             
  scan: none requested                                                                                     
config:

        NAME           STATE     READ WRITE CKSUM
        tank           ONLINE       0     0     0
          raidz2-0     ONLINE       0     0     0
            gpt/zfs0   ONLINE       0     0     0
            gpt/zfs1   ONLINE       0     0     0
            gpt/zfs2   ONLINE       0     0     0
            gpt/zfs3   ONLINE       0     0     0
            gpt/zfs4   ONLINE       0     0     0
            gpt/zfs5   ONLINE       0     0     0
            gpt/zfs6   ONLINE       0     0     0
            gpt/zfs7   ONLINE       0     0     0
            gpt/zfs8   ONLINE       0     0     0
            gpt/zfs9   ONLINE       0     0     0
            gpt/zfs10  ONLINE       0     0     0
            gpt/zfs11  ONLINE       0     0     0
        logs
          ada0p1       ONLINE       0     0     0
        cache
          ada0p2       ONLINE       0     0     0

Pool IO Stat

zpool iostat -v                                                                                         
                  capacity     operations    bandwidth                                                     
pool           alloc   free   read  write   read  write                                                    
-------------  -----  -----  -----  -----  -----  -----
tank           5.42T  5.45T     30    164  3.14M  2.74M
  raidz2       5.42T  5.45T     30    138  3.14M  1.68M
    gpt/zfs0       -      -     13     18   305K   279K
    gpt/zfs1       -      -     13     17   306K   277K
    gpt/zfs2       -      -     13     17   308K   279K
    gpt/zfs3       -      -     13     18   306K   279K
    gpt/zfs4       -      -     14     17   312K   277K
    gpt/zfs5       -      -     14     17   313K   279K
    gpt/zfs6       -      -     13     18   305K   279K
    gpt/zfs7       -      -     13     17   305K   277K
    gpt/zfs8       -      -     13     17   308K   279K
    gpt/zfs9       -      -     13     18   306K   279K
    gpt/zfs10      -      -     14     17   312K   277K
    gpt/zfs11      -      -     14     17   313K   279K
logs               -      -      -      -      -      -
  ada0p1       19.2M  19.9G      0     25      0  1.06M
cache              -      -      -      -      -      -
  ada0p2        835G  76.8G     16     15  1.36M  1.58M
-------------  -----  -----  -----  -----  -----  -----

/etc/sysctl.conf

# $FreeBSD: releng/10.1/etc/sysctl.conf 112200 2003-03-13 18:43:50Z mux $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#
 
# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
hw.acpi.power_button_state=NONE
sysctl vfs.zfs.l2arc_noprefetch=0
sysctl vfs.zfs.l2arc_write_max=26214400
sysctl vfs.zfs.l2arc_write_boost=52428800

SAN Snapshots and Replication

#output of "zfs list -t all" on zfs1.sebeka.k12.mn.us
NAME                    USED  AVAIL  REFER  MOUNTPOINT
zvol1                  2.92T  2.40T    32K  /zvol1
zvol1/vol1             2.92T  2.40T  2.70T  /zvol1/vol1
zvol1/vol1@2015-01-13  15.1G      -  2.62T  -
zvol1/vol1@2015-01-14  7.58G      -  2.62T  -
zvol1/vol1@2015-01-15  7.94G      -  2.62T  -
zvol1/vol1@2015-01-16  7.26G      -  2.62T  -
zvol1/vol1@2015-01-17  5.24G      -  2.62T  -
zvol1/vol1@2015-01-18  4.75G      -  2.69T  -
zvol1/vol1@2015-01-19  5.54G      -  2.69T  -
zvol1/vol1@2015-01-20  6.45G      -  2.69T  -
zvol1/vol1@2015-01-21  7.05G      -  2.69T  -
zvol1/vol1@2015-01-22  8.46G      -  2.69T  -
zvol1/vol1@2015-01-23  8.28G      -  2.69T  -
zvol1/vol1@2015-01-24  5.63G      -  2.69T  -
zvol1/vol1@2015-01-25  4.97G      -  2.70T  -
zvol1/vol1@2015-01-26  5.93G      -  2.70T  -
zvol1/vol1@2015-01-27  5.82G      -  2.70T  -
#output of "zfs list -t all" on zfs2.sebeka.k12.mn.us
NAME                   USED  AVAIL  REFER  MOUNTPOINT
tank                  2.92T  4.10T    19K  none
tank/root             4.68G  4.10T  4.45G  /
tank/root/tmp           19K  4.10T    19K  /tmp
tank/root/var          234M  4.10T   234M  /var
tank/vol1             2.91T  4.10T  2.70T  /vol1
tank/vol1@2015-01-13  15.1G      -  2.62T  -
tank/vol1@2015-01-14  7.58G      -  2.62T  -
tank/vol1@2015-01-15  7.94G      -  2.62T  -
tank/vol1@2015-01-16  7.26G      -  2.62T  -
tank/vol1@2015-01-17  5.24G      -  2.62T  -
tank/vol1@2015-01-18  4.74G      -  2.69T  -
tank/vol1@2015-01-19  5.54G      -  2.69T  -
tank/vol1@2015-01-20  6.45G      -  2.69T  -
tank/vol1@2015-01-21  7.05G      -  2.69T  -
tank/vol1@2015-01-22  8.46G      -  2.69T  -
tank/vol1@2015-01-23  8.28G      -  2.69T  -
tank/vol1@2015-01-24  5.63G      -  2.69T  -
tank/vol1@2015-01-25  4.96G      -  2.70T  -
tank/vol1@2015-01-26  5.93G      -  2.70T  -
tank/vol1@2015-01-27      0      -  2.70T  -

ZFS Rep Scripts

zfsrep.sh
#!/bin/sh
 
pool="tank/vol2"
destination="tank"
host="192.168.113.2"
 
today=`date +"$type%Y-%m-%d"`
yesterday=`date -v -1d +"$type%Y-%m-%d"`
 
# create today snapshot
snapshot_today="$pool@$today"
# look for a snapshot with this name
if zfs list -H -o name -t snapshot | sort | grep "$snapshot_today$" > /dev/null; then
        echo " snapshot, $snapshot_today, already exists"
        exit 1
else
        echo " taking todays snapshot, $snapshot_today"
        zfs snapshot -r $snapshot_today
fi
 
# look for yesterday snapshot
#snapshot_yesterday="$pool@$yesterday"
clean_snaps.sh
#`date -v -1d +"$type%Y-%m-%d"`
 
pool="zvol1/vol1"
 
# iterate i from 15 to 62
# any snapshot older than 2 weeks (14 days) or (15-62 days) old is deleted
for i in 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
do
        CLEANDATE=`date -v -${i}d +"$type%Y-%m-%d"`
 
        CLEAN_SNAP="${pool}@${CLEANDATE}"
        #echo $CLEAN_SNAP
        if zfs list -H -o name -t snapshot | sort | grep "$CLEAN_SNAP" > /dev/null;
        then
                zfs destroy -r $CLEAN_SNAP
        fi
done