zrepl - ZFS replication
zrepl is a one-stop, integrated solution for ZFS replication.
Job: prod_to_backups Type: push Replication: Attempt #1 Status: fan-out-filesystems Progress: [=========================\----] 246.7 MiB / 264.7 MiB @ 11.5 MiB/s zroot STEPPING (step 1/2, 624 B/1.2 KiB) next: @a => @b zroot/ROOT DONE (step 2/2, 1.2 KiB/1.2 KiB) zroot/ROOT/default STEPPING (step 1/2, 123.4 MiB/129.3 MiB) next: @a => @b zroot/tmp STEPPING (step 1/2, 29.9 KiB/44.2 KiB) next: @a => @b zroot/usr STEPPING (step 1/2, 624 B/1.2 KiB) next: @a => @b zroot/usr/home STEPPING (step 1/2, 123.3 MiB/135.3 MiB) next: @a => @b zroot/var STEPPING (step 1/2, 624 B/1.2 KiB) next: @a => @b zroot/var/audit DONE (step 2/2, 1.2 KiB/1.2 KiB) zroot/var/crash DONE (step 2/2, 1.2 KiB/1.2 KiB) zroot/var/log STEPPING (step 1/2, 22.0 KiB/29.2 KiB) next: @a => @b zroot/var/mail STEPPING (step 1/2, 624 B/1.2 KiB) next: @a => @b Pruning Sender: ... Pruning Receiver:
The 10 minute quick-start guides give you a first impression.
[x] Pull & Push mode
[x] Multiple transport modes: TCP, TCP + TLS client auth, SSH
Advanced replication features
[x] Automatic retries for temporary network errors
[x] Automatic resumable send & receive
[x] Automatic ZFS holds during send & receive
[x] Automatic bookmark & hold management for guaranteed incremental send & recv
[x] Encrypted raw send & receive to untrusted receivers (OpenZFS native encryption)
[x] Properties send & receive
[x] Compressed send & receive
[x] Large blocks send & receive
[x] Embedded data send & receive
[x] Resume state send & receive
Automatic snapshot management
Sophisticated Monitoring & Logging
Maintainable implementation in Go
[x] Cross platform
[x] Dynamic feature checking
[x] Type safe & testable code
zrepl as well as this documentation is still under active development. There is no stability guarantee on the RPC protocol or configuration format, but we do our best to document breaking changes in the Changelog.
We are happy about any help we can get!
Explore the codebase
These docs live in the
Document any non-obvious / confusing / plain broken behavior you encounter when setting up zrepl for the first time
Table of Contents
- Quick Start by Use Case
- Talks & Presentations
- GitHub Repository & Issue Tracker