oetiker / znapzend

zfs backup with remote capabilities and mbuffer integration.
www.znapzend.org
GNU General Public License v3.0
608 stars 137 forks source link

mbuffer: fatal: unknown option "-W" with mbuffer version 20110119 #159

Closed dandanio closed 7 years ago

dandanio commented 9 years ago

Ubuntu 14.04.3 fully updated. Wen running any znapzend job with mbuffer option specified, the job dies with the following error:

mbuffer: fatal: unknown option "-W" cannot receive: failed to read from stream warning: cannot send 'zfs1/backup/temp@2015-08-11-150546': Broken pipe

See below:

root@kotick:/opt/znapzend-0.14.0/bin# ./znapzendzetup create --recursive --mbuffer=/usr/bin/mbuffer - -mbuffersize=1G --tsformat='%Y-%m-%d-%H%M%S' SRC '7d=>1h,30d=>4h,90d=>1d' zfs1/backup/temp DST:a '7d= 1h,30d=>4h,90d=>1d,1y=>1w,10y=>1month' zfs1/backup/temptest * backup plan: zfs1/backup/temp * dst_a = zfs1/backup/temptest dst_a_plan = 7days=>1hour,30days=>4hours,90days=>1day,1year=>1week,10years=>1month enabled = on mbuffer = /usr/bin/mbuffer mbuffer_size = 1G post_znap_cmd = off pre_znap_cmd = off recursive = on src = zfs1/backup/temp src_plan = 7days=>1hour,30days=>4hours,90days=>1day tsformat = %Y-%m-%d-%H%M%S

Do you want to save this backup set [y/N]? y root@kotick:/opt/znapzend-0.14.0/bin# ./znapzendzetup list * backup plan: zfs1/backup/temp * dst_a = zfs1/backup/temptest dst_a_plan = 7days=>1hour,30days=>4hours,90days=>1day,1year=>1week,10years=>1month enabled = on mbuffer = /usr/bin/mbuffer mbuffer_size = 1G post_znap_cmd = off pre_znap_cmd = off recursive = on src = zfs1/backup/temp src_plan = 7days=>1hour,30days=>4hours,90days=>1day tsformat = %Y-%m-%d-%H%M%S

root@kotick:/opt/znapzend-0.14.0/bin# ./znapzend --noaction --debug --runonce=zfs1/backup/temp [Tue Aug 11 15:04:10 2015] [info] refreshing backup plans... [Tue Aug 11 15:04:10 2015] [info] found a valid backup plan for zfs1/backup/temp... [Tue Aug 11 15:04:10 2015] [debug] snapshot worker for zfs1/backup/temp spawned (9569) [Tue Aug 11 15:04:10 2015] [info] creating recursive snapshot on zfs1/backup/temp

zfs snapshot -r zfs1/backup/temp@2015-08-11-150410

[Tue Aug 11 15:04:10 2015] [debug] snapshot worker for zfs1/backup/temp done (9569) [Tue Aug 11 15:04:10 2015] [debug] send/receive worker for zfs1/backup/temp spawned (9570) [Tue Aug 11 15:04:10 2015] [info] starting work on backupSet zfs1/backup/temp

zfs list -H -r -o name zfs1/backup/temp

[Tue Aug 11 15:04:10 2015] [debug] sending snapshots from zfs1/backup/temp to zfs1/backup/temptest

zfs list -H -o name -t snapshot -s creation -d 1 zfs1/backup/temp

zfs list -H -o name -t snapshot -s creation -d 1 zfs1/backup/temptest

zfs list -H -o name -t snapshot -s creation -d 1 zfs1/backup/temptest

[Tue Aug 11 15:04:10 2015] [debug] cleaning up snapshots on zfs1/backup/temptest

zfs list -H -o name -t snapshot -s creation -d 1 zfs1/backup/temp

[Tue Aug 11 15:04:10 2015] [debug] cleaning up snapshots on zfs1/backup/temp [Tue Aug 11 15:04:10 2015] [info] done with backupset zfs1/backup/temp in 0 seconds [Tue Aug 11 15:04:10 2015] [debug] send/receive worker for zfs1/backup/temp done (9570) root@kotick:/opt/znapzend-0.14.0/bin# ./znapzend --debug --runonce=zfs1/backup/temp [Tue Aug 11 15:05:46 2015] [info] refreshing backup plans... [Tue Aug 11 15:05:46 2015] [info] found a valid backup plan for zfs1/backup/temp... [Tue Aug 11 15:05:46 2015] [debug] snapshot worker for zfs1/backup/temp spawned (9649) [Tue Aug 11 15:05:46 2015] [info] creating recursive snapshot on zfs1/backup/temp

zfs snapshot -r zfs1/backup/temp@2015-08-11-150546

[Tue Aug 11 15:05:46 2015] [debug] snapshot worker for zfs1/backup/temp done (9649) [Tue Aug 11 15:05:46 2015] [debug] send/receive worker for zfs1/backup/temp spawned (9654) [Tue Aug 11 15:05:46 2015] [info] starting work on backupSet zfs1/backup/temp

zfs list -H -r -o name zfs1/backup/temp

[Tue Aug 11 15:05:46 2015] [debug] sending snapshots from zfs1/backup/temp to zfs1/backup/temptest

zfs list -H -o name -t snapshot -s creation -d 1 zfs1/backup/temp

zfs list -H -o name -t snapshot -s creation -d 1 zfs1/backup/temptest

zfs list -H -o name -t snapshot -s creation -d 1 zfs1/backup/temptest

zfs send zfs1/backup/temp@2015-08-11-150546|/usr/bin/mbuffer -q -s 128k -W 60 -m 1G|zfs recv -F zfs1/backup/temptest

mbuffer: fatal: unknown option "-W" cannot receive: failed to read from stream warning: cannot send 'zfs1/backup/temp@2015-08-11-150546': Broken pipe [Tue Aug 11 15:05:46 2015] [warn] ERROR: cannot send snapshots to zfs1/backup/temptest

zfs list -H -o name -t snapshot -s creation -d 1 zfs1/backup/temptest

[Tue Aug 11 15:05:46 2015] [debug] cleaning up snapshots on zfs1/backup/temptest [Tue Aug 11 15:05:46 2015] [warn] ERROR: suspending cleanup source dataset because at least one send task failed [Tue Aug 11 15:05:46 2015] [info] done with backupset zfs1/backup/temp in 0 seconds [Tue Aug 11 15:05:46 2015] [debug] send/receive worker for zfs1/backup/temp done (9654)

root@kotick:/opt/znapzend-0.14.0/bin# mbuffer -V mbuffer version 20110119 Copyright 2001-2011 - T. Maier-Komor License: GPLv3 - see file LICENSE This program comes with ABSOLUTELY NO WARRANTY!!! Donations via PayPal to thomas@maier-komor.de are welcome and support this work!

Installed from default ubuntu repository. What does "-W" do?

cronnelly commented 8 years ago

I've packaged the latest version of mbuffer for Ubuntu Trusty, to solve this issue. It's available via our PPA:

https://launchpad.net/~clock/+archive/ubuntu/mbuffer

redmop commented 8 years ago

Also, it works fine if you edit /opt/znapzend-0.14.1/lib/ZnapZend/ZFS.pm and remove the -W from the mbuffer line

has mbufferParam => sub { [qw(-q -s 128k -m)] }; #don't remove the -m as the buffer size will be added

in 14.04

hadfl commented 7 years ago

-W option was added in mbuffer version 20121111

dandanio commented 7 years ago

Thank you! :+1: