zfs replication (freeBSD 10.2 -> FreeNAS 9.2)

Status
Not open for further replies.

Neil Whitworth

Dabbler
Joined
Nov 14, 2013
Messages
30
I am in the process of setting up a new server at home. After being so pleased with FreeNAS, and reading about zfs replication I wanted to try FreeBSD (rather than linux). My plan is to backup the new FreeBSD server via ssh to my existing FreeNAS system.

The short version is I can get replication to work, but afterwards the mountpoints for my newly replicated datasets are wrong (/mnt/usr instead of /mnt/tank/Backups/mnementh/usr)
Code:
[root@monarth] ~# zfs list | grep Back
tank/Backups  1.62M  3.41T  221K  /mnt/tank/Backups
tank/Backups/mnementh  1.41M  3.41T  244K  /mnt/tank/Backups/mnementh
tank/Backups/mnementh/usr  1.17M  3.41T  209K  /mnt/usr
tank/Backups/mnementh/usr/home  360K  3.41T  291K  /mnt/usr/home
tank/Backups/mnementh/usr/ports  279K  3.41T  209K  /mnt/usr/ports
tank/Backups/mnementh/usr/src  279K  3.41T  209K  /mnt/usr/src
[root@monarth] ~#


The long version...

I have sucessfuly installed FreeBSD 10.2 on an old server and used zfssnap to create daily snapshots.

First some info from FreeNAS system

  • FreeNAS-9.2.0-RELEASE-x64 (ab098f4)
  • Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz
  • 16335MB
  • hostname:monarth
I have one dataset for backups, with a child dataset per host (mnementh is new FreeBSD system)
Code:
[root@monarth] ~# zfs list | grep Backups
tank/Backups  465K  3.41T  221K  /mnt/tank/Backups
tank/Backups/mnementh  244K  3.41T  244K  /mnt/tank/Backups/mnementh
[root@monarth] ~#
[root@monarth] ~# zfs list -t snapshot | grep Backups
[root@monarth] ~#
[root@monarth] ~# df | grep Backup
tank/Backups  3666603515  221 3666603294  0%  /mnt/tank/Backups
tank/Backups/mnementh  3666603538  244 3666603294  0%   /mnt/tank/Backups/mnementh
[root@monarth] ~#


I have created a new user (mnementh) and set up ssh keys. I have also set some zfs permisions on the dataset so I can use this new user.
Code:
[root@monarth] ~# zfs allow tank/Backups/mnementh
---- Permissions on tank/Backups/mnementh ----------------------------
Local+Descendent permissions:
  user mnementh atime,canmount,compression,create,exec,mount,mountpoint,receive,setuid,userprop
[root@monarth] ~#

New FreeBSD system
Code:

root@mnementh:~ # zpool status
  pool: zroot
 state: ONLINE
  scan: scrub repaired 0 in 0h0m with 0 errors on Fri Jan 15 23:47:22 2016
config:

  NAME  STATE  READ WRITE CKSUM
  zroot  ONLINE  0  0  0
  ada0p3  ONLINE  0  0  0

errors: No known data errors
root@mnementh:~ #
root@mnementh:~ #
root@mnementh:~ # zfs list
NAME  USED  AVAIL  REFER  MOUNTPOINT
zroot  583M  69.2G  96K  /zroot
zroot/ROOT  577M  69.2G  96K  none
zroot/ROOT/default  577M  69.2G  570M  /
zroot/tmp  708K  69.2G  104K  /tmp
zroot/usr  440K  69.2G  96K  /usr
zroot/usr/home  152K  69.2G  144K  /usr/home
zroot/usr/ports  96K  69.2G  96K  /usr/ports
zroot/usr/src  96K  69.2G  96K  /usr/src
zroot/var  1.91M  69.2G  96K  /var
zroot/var/audit  96K  69.2G  96K  /var/audit
zroot/var/crash  96K  69.2G  96K  /var/crash
zroot/var/log  964K  69.2G  244K  /var/log
zroot/var/mail  600K  69.2G  104K  /var/mail
zroot/var/tmp  104K  69.2G  96K  /var/tmp
root@mnementh:~ #
root@mnementh:~ #
root@mnementh:~ # zfs list -t snapshot
NAME  USED  AVAIL  REFER  MOUNTPOINT
zroot@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot@daily-2016-01-27_03.57.30--1w  0  -  96K  -
zroot/ROOT@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot/ROOT@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot/ROOT@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot/ROOT@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot/ROOT@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot/ROOT@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot/ROOT@daily-2016-01-27_03.57.30--1w  0  -  96K  -
zroot/ROOT/default@daily-2016-01-21_03.01.01--1w  1.60M  -  570M  -
zroot/ROOT/default@daily-2016-01-22_03.53.47--1w  240K  -  570M  -
zroot/ROOT/default@daily-2016-01-23_03.01.03--1w  276K  -  570M  -
zroot/ROOT/default@daily-2016-01-24_03.01.01--1w  256K  -  570M  -
zroot/ROOT/default@daily-2016-01-25_03.06.31--1w  256K  -  570M  -
zroot/ROOT/default@daily-2016-01-26_03.01.01--1w  256K  -  570M  -
zroot/ROOT/default@daily-2016-01-27_03.57.30--1w  256K  -  570M  -
zroot/tmp@daily-2016-01-21_03.01.01--1w  84K  -  124K  -
zroot/tmp@daily-2016-01-22_03.53.47--1w  92K  -  132K  -
zroot/tmp@daily-2016-01-23_03.01.03--1w  76K  -  116K  -
zroot/tmp@daily-2016-01-24_03.01.01--1w  84K  -  124K  -
zroot/tmp@daily-2016-01-25_03.06.31--1w  92K  -  132K  -
zroot/tmp@daily-2016-01-26_03.01.01--1w  84K  -  124K  -
zroot/tmp@daily-2016-01-27_03.57.30--1w  84K  -  116K  -
zroot/usr@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot/usr@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot/usr@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot/usr@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot/usr@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot/usr@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot/usr@daily-2016-01-27_03.57.30--1w  0  -  96K  -
zroot/usr/home@daily-2016-01-21_03.01.01--1w  0  -  144K  -
zroot/usr/home@daily-2016-01-22_03.53.47--1w  0  -  144K  -
zroot/usr/home@daily-2016-01-23_03.01.03--1w  0  -  144K  -
zroot/usr/home@daily-2016-01-24_03.01.01--1w  0  -  144K  -
zroot/usr/home@daily-2016-01-25_03.06.31--1w  0  -  144K  -
zroot/usr/home@daily-2016-01-26_03.01.01--1w  0  -  144K  -
zroot/usr/home@daily-2016-01-27_03.57.30--1w  0  -  144K  -
zroot/usr/ports@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot/usr/ports@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot/usr/ports@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot/usr/ports@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot/usr/ports@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot/usr/ports@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot/usr/ports@daily-2016-01-27_03.57.30--1w  0  -  96K  -
zroot/usr/src@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot/usr/src@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot/usr/src@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot/usr/src@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot/usr/src@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot/usr/src@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot/usr/src@daily-2016-01-27_03.57.30--1w  0  -  96K  -
zroot/var@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot/var@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot/var@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot/var@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot/var@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot/var@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot/var@daily-2016-01-27_03.57.30--1w  0  -  96K  -
zroot/var/audit@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot/var/audit@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot/var/audit@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot/var/audit@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot/var/audit@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot/var/audit@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot/var/audit@daily-2016-01-27_03.57.30--1w  0  -  96K  -
zroot/var/crash@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot/var/crash@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot/var/crash@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot/var/crash@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot/var/crash@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot/var/crash@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot/var/crash@daily-2016-01-27_03.57.30--1w  0  -  96K  -
zroot/var/log@daily-2016-01-21_03.01.01--1w  100K  -  224K  -
zroot/var/log@daily-2016-01-22_03.53.47--1w  92K  -  228K  -
zroot/var/log@daily-2016-01-23_03.01.03--1w  96K  -  240K  -
zroot/var/log@daily-2016-01-24_03.01.01--1w  88K  -  240K  -
zroot/var/log@daily-2016-01-25_03.06.31--1w  92K  -  244K  -
zroot/var/log@daily-2016-01-26_03.01.01--1w  100K  -  252K  -
zroot/var/log@daily-2016-01-27_03.57.30--1w  80K  -  240K  -
zroot/var/mail@daily-2016-01-21_03.01.01--1w  68K  -  100K  -
zroot/var/mail@daily-2016-01-22_03.53.47--1w  68K  -  100K  -
zroot/var/mail@daily-2016-01-23_03.01.03--1w  72K  -  104K  -
zroot/var/mail@daily-2016-01-24_03.01.01--1w  72K  -  104K  -
zroot/var/mail@daily-2016-01-25_03.06.31--1w  72K  -  104K  -
zroot/var/mail@daily-2016-01-26_03.01.01--1w  72K  -  104K  -
zroot/var/mail@daily-2016-01-27_03.57.30--1w  72K  -  104K  -
zroot/var/tmp@daily-2016-01-21_03.01.01--1w  0  -  96K  -
zroot/var/tmp@daily-2016-01-22_03.53.47--1w  0  -  96K  -
zroot/var/tmp@daily-2016-01-23_03.01.03--1w  0  -  96K  -
zroot/var/tmp@daily-2016-01-24_03.01.01--1w  0  -  96K  -
zroot/var/tmp@daily-2016-01-25_03.06.31--1w  0  -  96K  -
zroot/var/tmp@daily-2016-01-26_03.01.01--1w  0  -  96K  -
zroot/var/tmp@daily-2016-01-27_03.57.30--1w  0  -  96K  -
root@mnementh:~ #

Now to try and get zfs replication working. I have found a script that seams to handle automating replication (see https://github.com/adaugherity/zfs-backup). The only issue is it does NOT do the initial replication. Thats O.K. I'll do in manualy...

Starting with zroot/usr
Code:
root@mnementh:~ # zfs send zroot/usr@daily-2016-01-21_03.01.01--1w | ssh mnementh@192.168.100.6 'zfs receive -dvF tank/Backups/mnementh'
receiving full stream of zroot/usr@daily-2016-01-21_03.01.01--1w into tank/Backups/mnementh/usr@daily-2016-01-21_03.01.01--1w
cannot mount 'tank/Backups/mnementh/usr': Insufficient privileges
received 41.7KB stream in 1 seconds (41.7KB/sec)


Checking back on FreeNAS
Code:
[root@monarth] ~#
[root@monarth] ~# zfs list | grep Backups
tank/Backups  674K  3.41T  221K  /mnt/tank/Backups
tank/Backups/mnementh  453K  3.41T  244K  /mnt/tank/Backups/mnementh
tank/Backups/mnementh/usr  209K  3.41T  209K  /mnt/tank/Backups/mnementh/usr
[root@monarth] ~#
[root@monarth] ~#
[root@monarth] ~# zfs list -t snapshot | grep Backups
tank/Backups/mnementh/usr@daily-2016-01-21_03.01.01--1w  0  -  209K  -
[root@monarth] ~#
[root@monarth] ~#
[root@monarth] ~# df | grep Backup
tank/Backups  3666603515  221 3666603294  0%  /mnt/tank/Backups
tank/Backups/mnementh  3666603538  244 3666603294  0%   /mnt/tank/Backups/mnementh
[root@monarth] ~#
[root@monarth] ~#
[root@monarth] ~# zfs mount -a
[root@monarth] ~# df | grep Backup
tank/Backups  3666603474  221 3666603253  0%  /mnt/tank/Backups
tank/Backups/mnementh  3666603497  244 3666603253  0%   /mnt/tank/Backups/mnementh
tank/Backups/mnementh/usr  3666603462  209 3666603253  0%   /mnt/tank/Backups/mnementh/usr
[root@monarth] ~#


Everything looks good :):):) - Lets do some more

Code:
root@mnementh:~ # zfs send zroot/usr/src@daily-2016-01-21_03.01.01--1w | ssh mnementh@192.168.100.6 'zfs receive -dvF

tank/Backups/mnementh'
receiving full stream of zroot/usr/src@daily-2016-01-21_03.01.01--1w into tank/Backups/mnementh/usr/src@daily-2016-01-

21_03.01.01--1w
cannot mount '/mnt/tank/Backups/mnementh/usr/src': failed to create mountpoint
received 41.7KB stream in 1 seconds (41.7KB/sec)
root@mnementh:~ # zfs send zroot/usr/ports@daily-2016-01-21_03.01.01--1w | ssh mnementh@192.168.100.6 'zfs receive -dvF

tank/Backups/mnementh'
receiving full stream of zroot/usr/ports@daily-2016-01-21_03.01.01--1w into tank/Backups/mnementh/usr/ports@daily-2016-01-

21_03.01.01--1w
cannot mount '/mnt/tank/Backups/mnementh/usr/ports': failed to create mountpoint
received 41.7KB stream in 1 seconds (41.7KB/sec)
root@mnementh:~ # zfs send zroot/usr/home@daily-2016-01-21_03.01.01--1w | ssh mnementh@192.168.100.6 'zfs receive -dvF

tank/Backups/mnementh'
receiving full stream of zroot/usr/home@daily-2016-01-21_03.01.01--1w into tank/Backups/mnementh/usr/home@daily-2016-01-

21_03.01.01--1w
cannot mount '/mnt/tank/Backups/mnementh/usr/home': failed to create mountpoint
received 61.0KB stream in 1 seconds (61.0KB/sec)
root@mnementh:~ #



Check on FreeNAS
Code:
[root@monarth] ~#
[root@monarth] ~# zfs list | grep Backups
tank/Backups  1.35M  3.41T  221K  /mnt/tank/Backups
tank/Backups/mnementh  1.14M  3.41T  244K  /mnt/tank/Backups/mnementh
tank/Backups/mnementh/usr  918K  3.41T  209K  /mnt/tank/Backups/mnementh/usr
tank/Backups/mnementh/usr/home  291K  3.41T  291K  /mnt/tank/Backups/mnementh/usr/home
tank/Backups/mnementh/usr/ports  209K  3.41T  209K  /mnt/tank/Backups/mnementh/usr/ports
tank/Backups/mnementh/usr/src  209K  3.41T  209K  /mnt/tank/Backups/mnementh/usr/src
[root@monarth] ~#
[root@monarth] ~# zfs list -t snapshot | grep Backups
tank/Backups/mnementh/usr@daily-2016-01-21_03.01.01--1w  0  -  209K  -
tank/Backups/mnementh/usr/home@daily-2016-01-21_03.01.01--1w  0  -  291K  -
tank/Backups/mnementh/usr/ports@daily-2016-01-21_03.01.01--1w  0  -  209K  -
tank/Backups/mnementh/usr/src@daily-2016-01-21_03.01.01--1w  0  -  209K  -
[root@monarth] ~#
[root@monarth] ~# df | grep Backup
tank/Backups  3666602451  221 3666602230  0%  /mnt/tank/Backups
tank/Backups/mnementh  3666602474  244 3666602230  0%   /mnt/tank/Backups/mnementh
tank/Backups/mnementh/usr  3666602439  209 3666602230  0%   /mnt/tank/Backups/mnementh/usr
[root@monarth] ~#
[root@monarth] ~# zfs mount -a
[root@monarth] ~#
[root@monarth] ~# df | grep Backup
tank/Backups  3666602451  221 3666602230  0%  /mnt/tank/Backups
tank/Backups/mnementh  3666602474  244 3666602230  0%   /mnt/tank/Backups/mnementh
tank/Backups/mnementh/usr  3666602439  209 3666602230  0%   /mnt/tank/Backups/mnementh/usr
tank/Backups/mnementh/usr/home  3666602521  290 3666602230  0%   /mnt/tank/Backups/mnementh/usr/home
tank/Backups/mnementh/usr/ports  3666602439  209 3666602230  0%   /mnt/tank/Backups/mnementh/usr/ports/
tank/Backups/mnementh/usr/src  3666602439  209 3666602230  0%   /mnt/tank/Backups/mnementh/usr/src
[root@monarth] ~#


Still looks good :):):)

So far everything seams to be going according to plan. Now to set up the script for automatic incremental updates. (https://github.com/adaugherity/zfs-backup)

This script looks for datasets with a custom property to work out what to replicate. I have configured this on the FreeBSD machine

Code:
root@mnementh:~ # zfs get -s local -H -o name,value edu.tamu:backuptarget
zroot/usr  fullpath
root@mnementh:~ #


I Have also created a config file
Code:
root@mnementh:~ # cat ./zfs-backup.cfg
# sample configuration for hourly backups

# Don't forget to schedule a cron job such as:
# 30 * * * * /path/to/zfs-backup.sh /path/to/this.cfg

TAG="daily"
LOCK="/var/tmp/zfsbackup.lock"
PID="/var/tmp/zfsbackup.pid"
# remote settings (on destination host)
REMUSER="mnementh"
REMHOST="192.168.100.6"
REMPOOL="tank/Backups/mnementh"


running it for the first time (with dry run option)
Code:
root@mnementh:~ # ./zfs-backup.sh -vn -f zfs-backup.cfg

zroot/usr:
newest local snapshot: daily-2016-01-27_03.57.30--1w
newest remote snapshot: daily-2016-01-21_03.01.01--1w
would run:  /sbin/zfs send -R -I daily-2016-01-21_03.01.01--1w zroot/usr@daily-2016-01-27_03.57.30--1w |
  ssh mnementh@192.168.100.6 /sbin/zfs recv -v -d -F tank/Backups/mnementh
root@mnementh:~ #



Finaly... lets run it for real

Code:
root@mnementh:~ #
root@mnementh:~ # ./zfs-backup.sh -v -f zfs-backup.cfg

zroot/usr:
newest local snapshot: daily-2016-01-27_03.57.30--1w
newest remote snapshot: daily-2016-01-21_03.01.01--1w
receiving incremental stream of zroot/usr@daily-2016-01-22_03.53.47--1w into tank/Backups/mnementh/usr@daily-2016-01-

22_03.53.47--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr@daily-2016-01-23_03.01.03--1w into tank/Backups/mnementh/usr@daily-2016-01-

23_03.01.03--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr@daily-2016-01-24_03.01.01--1w into tank/Backups/mnementh/usr@daily-2016-01-

24_03.01.01--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr@daily-2016-01-25_03.06.31--1w into tank/Backups/mnementh/usr@daily-2016-01-

25_03.06.31--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr@daily-2016-01-26_03.01.01--1w into tank/Backups/mnementh/usr@daily-2016-01-

26_03.01.01--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr@daily-2016-01-27_03.57.30--1w into tank/Backups/mnementh/usr@daily-2016-01-

27_03.57.30--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/ports@daily-2016-01-22_03.53.47--1w into tank/Backups/mnementh/usr/ports@daily-2016-

01-22_03.53.47--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/ports@daily-2016-01-23_03.01.03--1w into tank/Backups/mnementh/usr/ports@daily-2016-

01-23_03.01.03--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/ports@daily-2016-01-24_03.01.01--1w into tank/Backups/mnementh/usr/ports@daily-2016-

01-24_03.01.01--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/ports@daily-2016-01-25_03.06.31--1w into tank/Backups/mnementh/usr/ports@daily-2016-

01-25_03.06.31--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/ports@daily-2016-01-26_03.01.01--1w into tank/Backups/mnementh/usr/ports@daily-2016-

01-26_03.01.01--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/ports@daily-2016-01-27_03.57.30--1w into tank/Backups/mnementh/usr/ports@daily-2016-

01-27_03.57.30--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/src@daily-2016-01-22_03.53.47--1w into tank/Backups/mnementh/usr/src@daily-2016-01-

22_03.53.47--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/src@daily-2016-01-23_03.01.03--1w into tank/Backups/mnementh/usr/src@daily-2016-01-

23_03.01.03--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/src@daily-2016-01-24_03.01.01--1w into tank/Backups/mnementh/usr/src@daily-2016-01-

24_03.01.01--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/src@daily-2016-01-25_03.06.31--1w into tank/Backups/mnementh/usr/src@daily-2016-01-

25_03.06.31--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/src@daily-2016-01-26_03.01.01--1w into tank/Backups/mnementh/usr/src@daily-2016-01-

26_03.01.01--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/src@daily-2016-01-27_03.57.30--1w into tank/Backups/mnementh/usr/src@daily-2016-01-

27_03.57.30--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/home@daily-2016-01-22_03.53.47--1w into tank/Backups/mnementh/usr/home@daily-2016-01

-22_03.53.47--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/home@daily-2016-01-23_03.01.03--1w into tank/Backups/mnementh/usr/home@daily-2016-01

-23_03.01.03--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/home@daily-2016-01-24_03.01.01--1w into tank/Backups/mnementh/usr/home@daily-2016-01

-24_03.01.01--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/home@daily-2016-01-25_03.06.31--1w into tank/Backups/mnementh/usr/home@daily-2016-01

-25_03.06.31--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/home@daily-2016-01-26_03.01.01--1w into tank/Backups/mnementh/usr/home@daily-2016-01

-26_03.01.01--1w
received 312B stream in 1 seconds (312B/sec)
receiving incremental stream of zroot/usr/home@daily-2016-01-27_03.57.30--1w into tank/Backups/mnementh/usr/home@daily-2016-01

-27_03.57.30--1w
received 312B stream in 1 seconds (312B/sec)
root@mnementh:~ #

O.K. - it has sent /zroot/usr & all child datasets. Lets check on FreeNAS

Code:
[root@monarth] ~# zfs list -t snapshot | grep Back
tank/Backups/mnementh/usr@daily-2016-01-21_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr@daily-2016-01-22_03.53.47--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr@daily-2016-01-23_03.01.03--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr@daily-2016-01-24_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr@daily-2016-01-25_03.06.31--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr@daily-2016-01-26_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr@daily-2016-01-27_03.57.30--1w  0  -  209K  -
tank/Backups/mnementh/usr/home@daily-2016-01-21_03.01.01--1w  11.6K  -  291K  -
tank/Backups/mnementh/usr/home@daily-2016-01-22_03.53.47--1w  11.6K  -  291K  -
tank/Backups/mnementh/usr/home@daily-2016-01-23_03.01.03--1w  11.6K  -  291K  -
tank/Backups/mnementh/usr/home@daily-2016-01-24_03.01.01--1w  11.6K  -  291K  -
tank/Backups/mnementh/usr/home@daily-2016-01-25_03.06.31--1w  11.6K  -  291K  -
tank/Backups/mnementh/usr/home@daily-2016-01-26_03.01.01--1w  11.6K  -  291K  -
tank/Backups/mnementh/usr/home@daily-2016-01-27_03.57.30--1w  0  -  291K  -
tank/Backups/mnementh/usr/ports@daily-2016-01-21_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/ports@daily-2016-01-22_03.53.47--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/ports@daily-2016-01-23_03.01.03--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/ports@daily-2016-01-24_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/ports@daily-2016-01-25_03.06.31--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/ports@daily-2016-01-26_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/ports@daily-2016-01-27_03.57.30--1w  0  -  209K  -
tank/Backups/mnementh/usr/src@daily-2016-01-21_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/src@daily-2016-01-22_03.53.47--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/src@daily-2016-01-23_03.01.03--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/src@daily-2016-01-24_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/src@daily-2016-01-25_03.06.31--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/src@daily-2016-01-26_03.01.01--1w  11.6K  -  209K  -
tank/Backups/mnementh/usr/src@daily-2016-01-27_03.57.30--1w  0  -  209K  -
[root@monarth] ~#

Looks ok.

Code:

[root@monarth] ~# zfs list | grep Back
tank/Backups  1.62M  3.41T  221K  /mnt/tank/Backups
tank/Backups/mnementh  1.41M  3.41T  244K  /mnt/tank/Backups/mnementh
tank/Backups/mnementh/usr  1.17M  3.41T  209K  /mnt/usr
tank/Backups/mnementh/usr/home  360K  3.41T  291K  /mnt/usr/home
tank/Backups/mnementh/usr/ports  279K  3.41T  209K  /mnt/usr/ports
tank/Backups/mnementh/usr/src  279K  3.41T  209K  /mnt/usr/src
[root@monarth] ~#


nope :( mountpoints are wrong. (/mnt/usr instead of /mnt/tank/Backups/mnementh/usr)
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,874
My guess is that since you are creating datasets behind the scenes from freenas that it doesn't know that the mountpoints should be changed.
 

Neil Whitworth

Dabbler
Joined
Nov 14, 2013
Messages
30
After more investigation I have solved it :) The script was using the '-R' recursive option for zfs send. For some reason this messes up the mount points.

Code:
root@mnementh:~ # ./zfs-backup.sh -vn -f zfs-backup.cfg

zroot/usr:
newest local snapshot: daily-2016-01-27_03.57.30--1w
newest remote snapshot: daily-2016-01-21_03.01.01--1w
would run:  /sbin/zfs send -R -I daily-2016-01-21_03.01.01--1w zroot/usr@daily-2016-01-27_03.57.30--1w |
  ssh mnementh@192.168.100.6 /sbin/zfs recv -v -d -F tank/Backups/mnementh
root@mnementh:~ #


Changing the script to remove this solved my issues. It does mean that I need to mark each dataset to be replicated rather than just the parent, but I can live with that.

I have also found a patch that makes it do the initial replication if needed. I have attached the script I am using in case anyone finds this usefull.
 

Attachments

  • zfs-backup.sh.txt
    11.9 KB · Views: 327
Status
Not open for further replies.
Top