Borg Backup
"The holy grail of backup software"
Thomas Waldmann @ GPN16
Borg - a fork of Attic
-
Attic: about 5y old, good design, proven code
-
but:
-
going slowly
-
some bugs and annoyances
-
not very open to new developers
-
-
Borg Backup: fork of Attic, now ~1y old
-
and:
-
a community project, bus_factor++
-
has a lot of fixes and good PRs merged
-
open and inviting to new contributors
-
faster paced
-
Feature Set (1)
- easy and fast
- content-defined chunking (*)
- chunk deduplication (*)
- lz4, zlib, lzma compression
-
encryption with AES256
-
authentication with HMAC-SHA2
-
simple backend (k/v, fs, via ssh)
Feature Set (2)
-
FOSS (BSD license)
-
good docs
-
good platform / arch support
-
xattr / acl support
-
mount a backup via FUSE
-
Python 3.4+, a little Cython & C
-
good test coverage, CI
Deduplication (1)
-
No problem with:
- VM images (sparse file support)
- (physical) disk images
- renamed huge directories
- inner deduplication of data set
- historical deduplication
- dedups different machines
Deduplication (2)
-
Content defined chunking:
- "buzhash" rolling hash
- cut data when hash has specific bit pattern,
yields chunks with ~ 2^n bytes target size - n + other chunker params configurable now
- seeded, to avoid fingerprinting chunk lengths
-
Store chunks under id into store:
- id = HASH(chunk), or
- id = HMAC(id_key, chunk)
Borg Backup - Links
github.com/borgbackup
#borgbackup on chat.freenode.net
Questions / Feedback?
14:30 kleiner Workshopraum: Code / Project Tour
20:00 ZKM-Vortragssaal: Talk
BorgBackup LT (GPN16)
By Thomas Waldmann
BorgBackup LT (GPN16)
- 1,948