[Bug 221707] zfs receive dry run fails but backup works

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Aug 22 02:26:58 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221707

            Bug ID: 221707
           Summary: zfs receive dry run fails but backup works
           Product: Base System
           Version: 11.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: courtney.hicks1 at icloud.com

On a FreeBSD 11.1 system, I created a zpool that contains all my jails that are
created and managed with py3-iocage (built from ports) 0.99.1. I have set up my
system to have zfs snapshots of the pool created and then backed up to an
external hard drive connected via USB using zfs send/receive. Here is my
process:

Create snapshot:
zfs snapshot -r iocage@`date +"%Y-%m-%d_%H:%M:%S"`

Initial backup:
zfs send -R iocage at date1 | zfs receive -vF backups/iocage

backups is the zpool on my external HDD, which is imported at an altroot

Incremental backup:
zfs send -R -i iocage at date1 iocage at date2 | zfs receive -vF backups/iocage


The problem:
Before I sent my initial backup to my external HDD I ran this command:
zfs send -R iocage at date1 | zfs receive -vnF backups/iocage

This, however, produced this error:

root at homeServer:~ # zfs send -R iocage at 2017-08-19 | zfs receive -vnF
backups/iocage
would receive full stream of iocage at 2017-08-19 into backups/iocage at 2017-08-19
would receive full stream of iocage/iocage at 2017-08-19 into
backups/iocage/iocage at 2017-08-19
would receive full stream of iocage/iocage/download at 2017-08-19 into
backups/iocage/iocage/download at 2017-08-19
would receive full stream of iocage/iocage/download/11.1-RELEASE at 2017-08-19
into backups/iocage/iocage/download/11.1-RELEASE at 2017-08-19
would receive full stream of iocage/iocage/download/10.3-RELEASE at 2017-08-19
into backups/iocage/iocage/download/10.3-RELEASE at 2017-08-19
would receive full stream of iocage/iocage/releases at 2017-08-19 into
backups/iocage/iocage/releases at 2017-08-19
would receive full stream of iocage/iocage/releases/10.3-RELEASE at 2017-08-19
into backups/iocage/iocage/releases/10.3-RELEASE at 2017-08-19
would receive full stream of
iocage/iocage/releases/10.3-RELEASE/root at 2017-08-19 into
backups/iocage/iocage/releases/10.3-RELEASE/root at 2017-08-19
would receive full stream of iocage/iocage/releases/11.1-RELEASE at 2017-08-19
into backups/iocage/iocage/releases/11.1-RELEASE at 2017-08-19
would receive full stream of iocage/iocage/releases/11.1-RELEASE/root at nextcloud
into backups/iocage/iocage/releases/11.1-RELEASE/root at nextcloud
cannot receive incremental stream: destination
'backups/iocage/iocage/releases/11.1-RELEASE/root' does not exist
warning: cannot send 'iocage/iocage/releases/11.1-RELEASE/root at minecraft':
signal received
warning: cannot send 'iocage/iocage/releases/11.1-RELEASE/root at webServer':
Broken pipe
warning: cannot send 'iocage/iocage/releases/11.1-RELEASE/root at plexMedia':
Broken pipe
warning: cannot send 'iocage/iocage/releases/11.1-RELEASE/root at homeBackup':
Broken pipe
warning: cannot send 'iocage/iocage/releases/11.1-RELEASE/root at reverseProxy':
Broken pipe
warning: cannot send 'iocage/iocage/releases/11.1-RELEASE/root at 2017-08-19':
Broken pipe


I saw that it was saying backups/iocage/iocage/releases/11.1-RELEASE/root
didn't exist, so I created that path, with each directory being its own zfs
dataset (like it is on host). Once I did that, I got a new error:

zfs send -R iocage/iocage at 2017-08-19 | zfs receive -vnF backups/iocage
would receive full stream of iocage/iocage at 2017-08-19 into
backups/iocage at 2017-08-19
would receive full stream of iocage/iocage/download at 2017-08-19 into
backups/iocage/download at 2017-08-19
would receive full stream of iocage/iocage/download/11.1-RELEASE at 2017-08-19
into backups/iocage/download/11.1-RELEASE at 2017-08-19
would receive full stream of iocage/iocage/download/10.3-RELEASE at 2017-08-19
into backups/iocage/download/10.3-RELEASE at 2017-08-19
would receive full stream of iocage/iocage/releases at 2017-08-19 into
backups/iocage/releases at 2017-08-19
would receive full stream of iocage/iocage/releases/10.3-RELEASE at 2017-08-19
into backups/iocage/releases/10.3-RELEASE at 2017-08-19
would receive full stream of
iocage/iocage/releases/10.3-RELEASE/root at 2017-08-19 into
backups/iocage/releases/10.3-RELEASE/root at 2017-08-19
would receive full stream of iocage/iocage/releases/11.1-RELEASE at 2017-08-19
into backups/iocage/releases/11.1-RELEASE at 2017-08-19
would receive full stream of iocage/iocage/releases/11.1-RELEASE/root at nextcloud
into backups/iocage/releases/11.1-RELEASE/root at nextcloud
would receive incremental stream of
iocage/iocage/releases/11.1-RELEASE/root at minecraft into
backups/iocage/releases/11.1-RELEASE/root at minecraft
would receive incremental stream of
iocage/iocage/releases/11.1-RELEASE/root at webServer into
backups/iocage/releases/11.1-RELEASE/root at webServer
would receive incremental stream of
iocage/iocage/releases/11.1-RELEASE/root at plexMedia into
backups/iocage/releases/11.1-RELEASE/root at plexMedia
would receive incremental stream of
iocage/iocage/releases/11.1-RELEASE/root at homeBackup into
backups/iocage/releases/11.1-RELEASE/root at homeBackup
would receive incremental stream of
iocage/iocage/releases/11.1-RELEASE/root at reverseProxy into
backups/iocage/releases/11.1-RELEASE/root at reverseProxy
would receive incremental stream of
iocage/iocage/releases/11.1-RELEASE/root at 2017-08-19 into
backups/iocage/releases/11.1-RELEASE/root at 2017-08-19
would receive full stream of iocage/iocage/templates at 2017-08-19 into
backups/iocage/templates at 2017-08-19
would receive full stream of iocage/iocage/jails at 2017-08-19 into
backups/iocage/jails at 2017-08-19
would receive full stream of iocage/iocage/jails/webServer at 2017-08-19 into
backups/iocage/jails/webServer at 2017-08-19
cannot receive: local origin for clone
backups/iocage/jails/webServer/root at 2017-08-19 does not exist
warning: cannot send 'iocage/iocage/jails/webServer/root at 2017-08-19': signal
received


However, as I said, removing -n from my input, the error goes away and the
send/receive is successful.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list