Problem/Justification
The existing Data Protection features do not offer an option that provides snapshots, compression, deduplication, and encryption all over a simple SSH connection. The existing features only provide, at most, a few of these options at a time.
Borg offers all of these features together.
Impact
(How is this feature going to impact all TrueNAS users? What are the benefits and advantages? Are there disadvantages?)
- Disadvantages
- May require ahead-of-time repository setup, depending on implementation.
- Advantages
- Borg has 1.x releases
- Similar to ZFS send/recv, only new chunks/blocks are transmitted
- Most efficient when a compatible version of
borg
is available on the remote host- Services like BorgBase or rsync.net offer Borg support.
- Most efficient when a compatible version of
- Usable over SSH or a local target
- Local target can be locally-mounted network filesystem
- Pre- and post-scripts can be used for mounting these filesystems
- Local target can be locally-mounted network filesystem
- Snapshot retention for seconds, minutes, hours, days, weeks, years.
User Story
(Please give a short description on how you envision some user taking advantage of this feature, what are the steps a user will follow to accomplish it)
(This user story is a slight mix of the stories for TrueCloud Backup Tasks and Cloud Sync Tasks)
As a user, I want to back up my TrueNAS system using a tool that provides compression, deduplication, client-side encryption, and snapshots over something as simple as an SSH connection.
I want to specify the datasets to back up, a list of patterns to exclude, and define a retention period from years down to hours or minutes.