Changelog
The original announcement is located here.
- [FEATURE] Schedule-based snapshotting using
cron
syntax instead of an interval. - [FEATURE] Configurable initial replication policy. When a filesystem is first replicated to a receiver, this control whether just the newest snapshot will be replicated vs. all existing snapshots. Learn more in the docs.
- [FEATURE] Configurable timestamp format for snapshot names via timestamp_format (Thanks, @ydylla).
- [FEATURE] Add
ZREPL_DESTROY_MAX_BATCH_SIZE
env var (default 0=unlimited) (Thanks, @3nprob). - [FEATURE] Add
zrepl configcheck --skip-cert-check
flag (Thanks, @cole-h). - [BUG] Fix resuming from interrupted replications that use
send.raw
on unencrypted datasets.- The send options introduced in zrepl 0.4 allow users to specify additional zfs send flags for zrepl to use.
Before this fix, when setting
send.raw=true
on a job that replicates unencrypted datasets, zrepl would not allow an interrupted replication to resume. The reason were overly cautious checks to support thesend.encrypted
option. - This bugfix removes these checks from the replication planner.
This makes
send.encrypted
a sender-side-only concern, much like all othersend.*
flags. - However, this means that the
zrepl status
UI no longer indicates whether a replication step uses encrypted sends or not. The setting is still effective though.
- The send options introduced in zrepl 0.4 allow users to specify additional zfs send flags for zrepl to use.
Before this fix, when setting
- [BREAK] convert Prometheus metric
zrepl_version_daemon
tozrepl_start_time
metric- The metric still reports the zrepl version in a label. But the metric value is now the Unix timestamp at the time the daemon was started. The Grafana dashboard in dist/grafana has been updated.
- [BUG] transient zrepl status error:
Post "http://unix/status": EOF
- [BUG] don’t treat receive-side bookmarks as a replication conflict. This facilitates chaining of replication jobs. See issue #490.
- [BUG] workaround for Go/gRPC problem on Illumos where zrepl would
crash when using the
local
transport type (issue #598). - [BUG] fix active child tasks panic that cold occur during replication plannig (issue #193abbe)
- [BUG]
zrepl status
off-by-one error in display of completed step count (commit ce6701f) - [BUG] Allow using day & week units for
snapshotting.interval
(commit ffb1d89) - [DOCS]
docs/overview
improvements (Thanks, @jtagcat). - [MAINT] Update to Go 1.19.
Breaking Changes
- The RPC protocol version was bumped; all zrepl daemons in a setup must be updated and restarted before replication can resume.
New Users
We provide quick-start guides for different usage scenarios.
Also, we recommend studying the overview section of the configuration chapter to understand how zrepl replication works.
Testing & Upgrading
- Read the Changelog
- Download & run the
platformtest
binary on a test system.sudo ./platformtest-linux-amd64 \ -imagepath /tmp/zreplplatformtest.img \ -mountpoint /tmp/zreplplatformtest \ -poolname zreplplatformtest
- Deploy the binary release / install the package.
Donations
zrepl is a spare-time project but nonetheless requires significant development and maintenance effort.
Please consider donating to support future development. Thank you!
Binary Releases
The released binaries were produced with the following docker container:
sudo docker tag zrepl_release problame/zrepl_build:v0.6.0
sudo docker push problame/zrepl_build:v0.6.0
v0.6.0: digest: sha256:b14873f2bb754489cc54ae07b3fc1fcfaf9284f24269c2f92008cf81d39e17ea size: 4101