mirror of
https://github.com/jimsalterjrs/sanoid.git
synced 2024-09-11 19:32:46 +02:00
245 lines
17 KiB
Text
245 lines
17 KiB
Text
2.1.0 [overall] documentation updates, small fixes (@HavardLine, @croadfeldt, @jimsalterjrs, @jim-perkins, @kr4z33, @phreaker0)
|
|
[syncoid] do not require user to be specified for syncoid (@aerusso)
|
|
[syncoid] implemented option for keeping sync snaps (@phreaker0)
|
|
[syncoid] use sudo if neccessary for checking pool capabilities regarding resumeable send (@phreaker0)
|
|
[syncoid] catch another case were the resume state isn't availabe anymore (@phreaker0)
|
|
[syncoid] check for an invalid argument combination (@phreaker0)
|
|
[syncoid] fix iszfsbusy check for similar dataset names (@phreaker0)
|
|
[syncoid] append timezone offset to the syncoid snapshot name to fix DST collisions (@phreaker0)
|
|
[packaging] post install script for debian package to remove old unused snapshot cache file (@phreaker0)
|
|
[syncoid] implemented fallback for listing snapshots on solaris (@phreaker0)
|
|
[sanoid] remove invalid locks (@phreaker0)
|
|
[packaging] removed debian dependency for systemd (@phreaker0)
|
|
[sanoid] move sanoid cache and lock files to subdirectories (@lopsided98)
|
|
[sanoid] remove 's in monitoring messages (@dlangille)
|
|
[findoid] reworked argument parsing and error out if file path is not provided (@phreaker0)
|
|
[findoid] also show current file version if available (@phreaker0)
|
|
[findoid] handle FileNotFound errors properly (@phreaker0)
|
|
[findoid] don't use hardcoded paths (@phreaker0)
|
|
[findoid] improve dataset detection by only including mounted datasets (@phreaker0)
|
|
[sanoid] pass more information to pre/post/prune scripts and execute them only once per dataset (@tiedotguy, @phreaker0)
|
|
[syncoid] implemented option for preserving recordsizes on initial replications (@phreaker0)
|
|
[syncoid] fixed send size estimation for latest FreeBSD versions (@phreaker0)
|
|
[syncoid] add ability to configure pv (@gdevenyi)
|
|
[sanoid] don't use hardcoded paths (@phreaker0)
|
|
[syncoid] gracefully handle error when source dataset disappeared (@mschout)
|
|
|
|
2.0.3 [sanoid] reverted DST handling and improved it as quickfix (@phreaker0)
|
|
|
|
2.0.2 [overall] documentation updates, new dependencies, small fixes, more warnings (@benyanke, @matveevandrey, @RulerOf, @klemens-u, @johnramsden, @danielewood, @g-a-c, @hartzell, @fryfrog, @phreaker0)
|
|
[sanoid] changed and simplified DST handling (@shodanshok)
|
|
[syncoid] reset partially resume state automatically (@phreaker0)
|
|
[syncoid] handle some zfs erros automatically by parsing the stderr outputs (@phreaker0)
|
|
[syncoid] fixed ordering of snapshots with the same creation timestamp (@phreaker0)
|
|
[syncoid] don't use hardcoded paths (@phreaker0)
|
|
[syncoid] fix for special setup with listsnapshots=on (@phreaker0)
|
|
[syncoid] check ssh connection on startup (@phreaker0)
|
|
[syncoid] fix edge case with initial send and no-stream option (@phreaker0)
|
|
[syncoid] fallback to normal replication if clone recreation fails (@phreaker0)
|
|
[packaging] ebuild for gentoo (@thehaven)
|
|
[syncoid] support for zfs bookmark creation (@phreaker0)
|
|
[syncoid] fixed bookmark edge cases (@phreaker0)
|
|
[syncoid] handle invalid dataset paths nicely (@phreaker0)
|
|
[syncoid] fixed resume support check to be zpool based (@phreaker0)
|
|
[sanoid] added hotspare template (@jimsalterjrs)
|
|
[syncoid] support for advanced zfs send/recv options (@clinta, @phreaker0)
|
|
[syncoid] option to change mbuffer size (@TerraTech)
|
|
[tests] fixes for FreeBSD (@phreaker0)
|
|
[sanoid] support for zfs recursion (@jMichaelA, @phreaker0)
|
|
[syncoid] fixed bookmark handling for volumes (@ppcontrib)
|
|
[sanoid] allow time units for monitoring warn/crit values (@phreaker0)
|
|
|
|
2.0.1 [sanoid] fixed broken monthly warn/critical monitoring values in default template (@jimsalterjrs)
|
|
[sanoid] flag to force pruning while filesystem is in an active zfs send/recv (@shodanshok)
|
|
[syncoid] flags to disable rollbacks (@shodanshok)
|
|
|
|
2.0.0 [overall] documentation updates, small fixes, more warnings (@sparky3387, @ljwobker, @phreaker0)
|
|
[syncoid] added force delete flag (@phreaker0)
|
|
[sanoid] removed sleeping between snapshot taking (@phreaker0)
|
|
[syncoid] added '--no-privilege-elevation' option to bypass root check (@lopsided98)
|
|
[sanoid] implemented weekly period (@phreaker0)
|
|
[syncoid] implemented support for zfs bookmarks as fallback (@phreaker0)
|
|
[sanoid] support for pre, post and prune snapshot scripts (@jouir, @darkbasic, @phreaker0)
|
|
[sanoid] ignore snapshots types that are set to 0 (@muff1nman)
|
|
[packaging] split snapshot taking/pruning into separate systemd units for debian package (@phreaker0)
|
|
[syncoid] replicate clones (@phreaker0)
|
|
[syncoid] added compression algorithms: lz4, xz (@spheenik, @phreaker0)
|
|
[sanoid] added option to defer pruning based on the available pool capacity (@phreaker0)
|
|
[sanoid] implemented frequent snapshots with configurable period (@phreaker0)
|
|
[syncoid] prevent a perl warning on systems which doesn't output estimated send size information (@phreaker0)
|
|
[packaging] dependency fixes (@rodgerd, mabushey)
|
|
[syncoid] implemented support for excluding children of a specific dataset (@phreaker0)
|
|
[sanoid] monitor-health command additionally checks vdev members for io and checksum errors (@phreaker0)
|
|
[syncoid] added ability to skip datasets by a custom dataset property 'syncoid:no-sync' (@attie)
|
|
[syncoid] don't die on some critical replication errors, but continue with the remaining datasets (@phreaker0)
|
|
[syncoid] return a non zero exit code if there was a problem replicating datasets (@phreaker0)
|
|
[syncoid] make local source bwlimit work (@phreaker0)
|
|
[syncoid] fix 'resume support' detection on FreeBSD (@pit3k)
|
|
[sanoid] updated INSTALL with missing dependency
|
|
[sanoid] fixed monitor-health command for pools containing cache and log devices (@phreaker0)
|
|
[sanoid] quiet flag suppresses all info output (@martinvw)
|
|
[sanoid] check for empty lockfile which lead to sanoid failing on start (@jasonblewis)
|
|
[sanoid] added dst handling to prevent multiple invalid snapshots on time shift (@phreaker0)
|
|
[sanoid] cache improvements, makes sanoid much faster with a huge amount of datasets/snapshots (@phreaker0)
|
|
[sanoid] implemented monitor-capacity flag for checking zpool capacity limits (@phreaker0)
|
|
[syncoid] Added support for ZStandard compression.(@danielewood)
|
|
[syncoid] implemented support for excluding datasets from replication with regular expressions (@phreaker0)
|
|
[syncoid] correctly parse zfs column output, fixes resumeable send with datasets containing spaces (@phreaker0)
|
|
[syncoid] added option for using extra identification in the snapshot name for replication to multiple targets (@phreaker0)
|
|
[syncoid] added option for skipping the parent dataset in recursive replication (@phreaker0)
|
|
[syncoid] typos (@UnlawfulMonad, @jsavikko, @phreaker0)
|
|
[sanoid] use UTC by default in unit template and documentation (@phreaker0)
|
|
[syncoid] don't prune snapshots if instructed to not create them either (@phreaker0)
|
|
[syncoid] documented compatibility issues with (t)csh shells (@ecoutu)
|
|
|
|
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
|