github zrepl/zrepl v0.6.0

latest release: v0.6.1
18 months ago

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 the send.encrypted option.
    • This bugfix removes these checks from the replication planner. This makes send.encrypted a sender-side-only concern, much like all other send.* 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.
  • [BREAK] convert Prometheus metric zrepl_version_daemon to zrepl_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!

Support me on Patreon Donate via GitHub Sponsors Donate via Liberapay Donate via PayPal

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

Don't miss a new zrepl release

NewReleases is sending notifications on new releases.