151 lines
9.2 KiB
Plaintext
151 lines
9.2 KiB
Plaintext
1.4.18 implemented special character handling and support of ZFS resume/receive tokens by default in syncoid,
|
|
thank you @phreaker0!
|
|
|
|
1.4.17 changed die to warn when unexpectedly unable to remove a snapshot - this
|
|
allows sanoid to continue taking/removing other snapshots not affected by
|
|
whatever lock prevented the first from being taken or removed
|
|
|
|
1.4.16 merged @hrast01's extended fix to support -o option1=val,option2=val passthrough to SSH. merged @JakobR's
|
|
off-by-one fix to stop unnecessary extra snapshots being taken under certain conditions. merged @stardude900's
|
|
update to INSTALL for FreeBSD users re:symlinks. Implemented @LordAro's update to change DIE to WARN when
|
|
encountering a dataset with no snapshots and --no-sync-snap set during recursive replication. Implemented
|
|
@LordAro's update to sanoid.conf to add an ignore template which does not snap, prune, or monitor.
|
|
|
|
1.4.15 merged @hrast01's -o option to pass ssh CLI options through. Currently only supports a single -o=option argument -
|
|
in the near future, need to add some simple parsing to expand -o=option1,option2 on the CLI to
|
|
-o option1 -o option2 as passed to SSH.
|
|
|
|
1.4.14 fixed significant regression in syncoid - now pulls creation AND guid on each snap; sorts by
|
|
creation and matches by guid. regression reported in #112 by @da-me, thank you!
|
|
|
|
1.4.13 Syncoid will now continue trying to replicate other child datasets after one dataset fails replication
|
|
when called recursively. Eg syncoid -r source/parent target/parent when source/parent/child1 has been
|
|
deleted and replaced with an imposter will no longer prevent source/parent/child2 from successfully
|
|
replicating to target/parent/child2. This could still use some cleanup TBH; syncoid SHOULD exit 3
|
|
if any of these errors happen (to assist detection of errors in scripting) but now would exit 0.
|
|
|
|
1.4.12 Sanoid now strips trailing whitespace in template definitions in sanoid.conf, per Github #61
|
|
|
|
1.4.11 enhanced Syncoid to use zfs `guid` property rather than `creation` property to ensure snapshots on source
|
|
and target actually match. This immediately prevents conflicts due to timezone differences on source and target,
|
|
and also paves the way in the future for Syncoid to find matching snapshots even after `zfs rename` on source
|
|
or target. Thank you Github user @mailinglists35 for the idea!
|
|
|
|
1.4.10 added --compress=pigz-fast and --compress=pigz-slow. On a Xeon E3-1231v3, pigz-fast is equivalent compression
|
|
to --compress=gzip but with compressed throughput of 75.2 MiB/s instead of 18.1 MiB/s. pigz-slow is around 5%
|
|
better compression than compress=gzip with roughly equivalent compressed throughput. Note that pigz-fast produces
|
|
a whopping 20+% better compression on the test data (a linux boot drive) than lzop does, while still being fast
|
|
enough to saturate or nearly saturate a real-world gigabit LAN link. The down side: pigz chews through 100% util
|
|
of all available system threads, if not bottlenecked by the network link speed.
|
|
|
|
Default compression remains lzop for SSH transport, with compression automatically set to none if there's no transport
|
|
(ie syncoid replication from dataset to dataset on the local machine only).
|
|
|
|
1.4.9 added -c option to manually specify the SSH cipher used. Must use a cipher supported by both source and target! Thanks
|
|
Tamas Papp.
|
|
|
|
1.4.8 added --no-stream argument to syncoid: allows use of -i incrementals (do not replicate a full snapshot stream, only a
|
|
direct incremental update from oldest to most recent snapshot) instead of the normal -I incrementals which include
|
|
all intermediate snapshots.
|
|
|
|
added --no-sync-snap, which has syncoid replicate using only the newest PRE-EXISTING snapshot on source,
|
|
instead of default behavior in which syncoid creates a new, ephemeral syncoid snapshot.
|
|
|
|
1.4.7a (syncoid only) added standard invocation output when called without source or target
|
|
as per @rriley and @fajarnugraha suggestions
|
|
|
|
1.4.7 reverted Perl shebangs to #!/usr/bin/perl - sorry FreeBSD folks, shebanged to /usr/bin/env perl bare calls to syncoid
|
|
or sanoid (without explicit calls to Perl) don't work on EITHER of our systems. I'm not OK with that, this is going to be
|
|
an OS localization issue that can either be addressed with BSD-specific packaging, or you can individually address it
|
|
by editing the shebangs on your own systems OR by doing a one-time ln -s /usr/local/bin/perl to /usr/bin/perl, which will
|
|
fix the issue for this particular script AND all other Perl scripts developed on non-BSD systems.
|
|
|
|
also temporarily dyked out the set readonly functionality in syncoid - it was causing more problems than it prevented, and
|
|
using the -F argument with receive prevents incautious writes (including just cd'ing into mounted datasets, if atimes are on)
|
|
from interrupting syncoid runs anyway.
|
|
|
|
1.4.6c merged @gusson's pull request to add -sshport argument
|
|
|
|
1.4.6b updated default cipherlist for syncoid to
|
|
chacha20-poly1305@openssh.com,arcfour - arcfour isn't supported on
|
|
newer SSH (in Ubuntu Xenial and FreeBSD), chacha20 isn't supported on
|
|
some older SSH versions (Ubuntu Precise< I think?)
|
|
|
|
1.4.6a due to bug in ZFS on Linux which frequently causes errors to return from `zfs set readonly`,
|
|
changed ==0 or die in setzfsvalue() to ==0 or [complain] - it's not worth causing replication
|
|
to fail while this ZFS on Linux bug exists.
|
|
|
|
1.4.6 added a mollyguard to syncoid to help newbies who try to zfs create a new target dataset
|
|
before doing an initial replication, instead of letting the replication itself create
|
|
the target.
|
|
|
|
added "==0 or die" to all system() calls in sanoid and syncoid that didn't already have them.
|
|
|
|
1.4.5 altered shebang to '#!/usr/bin/env perl' for enhanced FreeBSD compatibility
|
|
|
|
1.4.4 merged pull requests from jjlawren for OmniOS compatibility, added --configdir=/path/to/configs CLI option to sanoid at jjlawrens' request presumably for same
|
|
|
|
1.4.3 added SSH persistence to syncoid - using socket speeds up SSH overhead 300%! =)
|
|
one extra commit to get rid of the "Exit request sent." SSH noise at the end.
|
|
|
|
1.4.2 removed -r flag for zfs destroy of pruned snapshots in sanoid, which unintentionally caused same-name
|
|
child snapshots to be deleted - thank you Lenz Weber!
|
|
|
|
1.4.1 updated check_zpool() in sanoid to parse zpool list properly both pre- and post- ZoL v0.6.4
|
|
|
|
1.4.0 added findoid tool - find and list all versions of a given file in all available ZFS snapshots.
|
|
use: findoid /path/to/file
|
|
|
|
1.3.1 whoops - prevent process_children_only from getting set from blank value in defaults
|
|
|
|
1.3.0 changed monitor_children_only to process_children_only. which keeps sanoid from messing around with
|
|
empty parent datasets at all. also more thoroughly documented features in default config files.
|
|
|
|
1.2.0 added monitor_children_only parameter to sanoid.conf for use with recursive definitions - in cases where container dataset is kept empty
|
|
|
|
1.1.0 woooo - working recursive definitions in Sanoid! Also intelligent config errors in Sanoid; will die with errors if unknown config value is set.
|
|
|
|
1.0.20 greatly cleaned up config parsing in sanoid, got rid of 'hardcoded defaults' in favor of /etc/sanoid/sanoid.defaults.conf
|
|
|
|
1.0.19 working recursive sync (sync specified dataset and all child datasets, ie pool/ds, pool/ds/1, pool, ds/1/a, pool/ds/2 ...) with --recursive or -r in syncoid!
|
|
|
|
1.0.18 updated syncoid to break sync out of main routine and into syncdataset(). this will allow doing recursive sync, in next update :)
|
|
|
|
1.0.17 updated syncoid to use sudo when necessary if it isn't already root - working user needs NOPASSWD for /sbin/zfs in /etc/sudoers
|
|
updated syncoid to throw errors on unknown arguments
|
|
|
|
1.0.16 updated sanoid to use VASTLY improved CLI argument parsing, throw errors on unknown arguments, etc
|
|
|
|
1.0.15 updated syncoid to accept compression engine flags - --compress=lzo|gzip|none
|
|
|
|
1.0.14 updated syncoid to reduce output when fetching snapshot list - thank you github user @0xFate.
|
|
|
|
1.0.13 removed monitor_version again - sorry for the feature instability, forgot I removed it in the first place because I didn't like pulling
|
|
in so many dependencies for such a trivial feature
|
|
|
|
1.0.12 patched default sanoid.conf provided to set yearly_mon and yearly_mday correctly
|
|
|
|
1.0.11 patched bug in yearly snapshots - thank you @stevenolen for the bug report!
|
|
|
|
1.0.10 added --monitor-version to check installed version against current version in trunk on GitHub
|
|
|
|
1.0.9 added CR/LF after --monitor-health message output to make CLI usage cleaner looking
|
|
|
|
1.0.8 added --version checking in sanoid and syncoid
|
|
|
|
1.0.7 got rid of unnecessary sudo commands in sanoid's --monitor-health
|
|
|
|
1.0.6 added 'or die' to make sure /var/cache/sanoidsnapshots.txt is writeable
|
|
|
|
1.0.5 fixed another ps BSD-ism bug in sanoid
|
|
|
|
1.0.4 updated ps usage in sanoid to comply with BSDisms
|
|
|
|
1.0.3 nerfed references to $debug (not implemented yet) in sanoid
|
|
|
|
1.0.2 implemented iszfsbusy check to the thinning routine in sanoid
|
|
|
|
1.0.1 ported slightly modified iszfsbusy sub from syncoid to sanoid (to keep from thinning snapshots during replications)
|
|
|
|
1.0.0 initial commit to Github
|