Talk by Christian Schwarz at OpenZFS Developer Summit 2018:
zrepl - a one-stop ZFS replication solution
ZFS replication using send & recv has been extended significantly in recent years: bookmarks as incremental send sources, channel programs and various flags such as compressed, dedup, large-block and embedded send offer more flexible and efficient ways to replicate data. Further, features such as ZFS-native encryption with raw send & recv enable entirely new use cases for ZFS replication. Despite these exciting developments, the surrounding tooling has struggled to keep up: many shell scripts that evolved to general-purpose tools over time are left unmaintained by their original authors.
We present zrepl, an integrated solution for ZFS replication that supports automatic snapshot management and continuous replication: zrepl runs as a daemon and offers operational benefits such as detailed structured logging, command line tools for status and progress inspection, and monitoring endpoints. zrepl is implemented in Go and focusses on both ease-of-use and clean software architecture, enabling long-term maintainability and extensibility.