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

Made with Slides.com