BSDCan2018 - 1.54

BSDCan 2018
The Technical BSD Conference

Christian Schwarz
Day Talks #2 - 9 June - 2018-06-09
Room DMS 1160
Start time 14:45
Duration 01:00
ID 925
Event type Lecture
Track System Administration
Language used for presentation English

zrepl - ZFS replication

ZFS replication functionality has been greatly extended in recent years, e.g., through bookmarks and compressed, deduplicated and encrypted send & receive. However, the surrounding tooling has struggled to keep up: Many shell-script-based solutions are left unmaintained by their original authors. We present zrepl, a one-stop solution for continuous ZFS filesystem replication, featuring automatic snapshotting, replication and pruning of filesystem snapshots.

zrepl runs as a daemon and provides activity information via detailed structured logging, control & status commands and remote monitoring endpoints. Replication is implemented using a custom low-overhead RPC-protocol that only requires an authenticated, reliable, bidirectional byte stream channel. Explicit communication enables ZFS feature negotiation, cross-platform compatibility and the ability to distrust a remote zrepl instance, enabling SaaS-type use cases. The latter is particularly interesting in the light of upcoming OpenZFS native encryption. zrepl is implemented in Go and thus works on and between all combinations of OSes supporting OpenZFS.

This talk presents

  • the core functionality provided by zrepl,
  • typical use cases,
  • software architecture and implementation,
  • pain points / lacking functionality / feature wishlist in OpenZFS.