Borg Backup
"The holy grail of backup software"
Thomas Waldmann @ shack-a-days 2015
Borg - a fork of Attic
-
Attic: about 5y old, good design, proven code
-
but:
-
going very slowly, main dev has little time
-
not very open to new developers
-
-
Borg Backup: fork of Attic stable codebase
-
and:
-
a community project, bus_factor++
-
has a lot of fixes and good PRs merged
-
open and inviting to new contributors
-
we want your ideas, feedback, contribs!
-
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
-
FUSE support ("mount a backup")
-
Python 3.x + a little Cython & C
-
good test coverage, CI
Deduplication (1)
-
No problem with:
- VM images (sparse file support)
- (physical) disk images
- renamed huge directories/trees
- inner deduplication of data set
- historical deduplication
- deduplication different machines
Deduplication (2)
-
Content defined chunking:
- "buzhash" rolling hash
- cut data when hash has specific bit pattern,
yields chunks with 2^n bits target size - n + other chunker params configurable now
- seeded, to avoid fingerprinting chunk lengths
-
Store chunks under id into store:
- id = HASH(chunk)
- id = MAC(mac_key, chunk)
Borg Backup - Links
borgbackup.github.io
#borgbackup on chat.freenode.net
Questions / Feedback?
-
Just grab me at the conference!
-
Thomas J Waldmann @ twitter
BorgBackup LT (updated)
By Thomas Waldmann
BorgBackup LT (updated)
- 1,955