Live data from Hacker News

Bup – towards the perfect backup

wrouesnel.github.io

11–20 of 98 posts

Re: Bup – towards the perfect backup

#11
post #8

> That is a dataset which is already deduplicated via copy-on-write semantics (it was not using ZFS deduplication because you should basically never use ZFS deduplication). Can someone more experienced with ZFS say why?

I'm not an expert by any means, but the most cited reasons are that it requires a very big amount of ram, and it depends a lot (obviously) on the type of data.

Re: Bup – towards the perfect backup

#12
post #6

Earlier quoted context omitted.

I can see how this would be theoretically possible in the same way I could see using `git filter-branch` to remove one or more commits from a code repository. But as it requires walking back up the tree to recalculate all of the commit hashes based on the new state of your files, I suspect it would be an extremely slow/expensive operation in bup's case. Someone who knows more about bup's internals can correct me if I…

Isn't this exactly what Obnam does?

I suspect that Obnam doesn't cause all of the de-duplicated chunks to get so "entagled" (as bup puts it, in their readme).

There are existing discussions about the way bup pruning would have to work:

https://groups.google.com/forum/#!searchin/bup-list/prune/bu...

Sounds like they are actually making progress on it.

Re: Bup – towards the perfect backup

#13
Is there an easy way to have the backups encrypted at rest? That's a nice feature of Duplicity. I don't have to worry about someone hacking my backup server or borrowing my USB drive having access to my data.

Re: Bup – towards the perfect backup

#14
A shoutout for attic https://attic-backup.org/

Attic is one of the new-generation hash-backup tools (like obnam, zbackup, Vembu Hive etc). It provides encrypted incremental-forever (unlike duplicity, duplicati, rsnapshot, rdiff-backup, Ahsay etc) with no server-side processing and a convenient CLI interface, and it does let you prune old backups.

All other common tools seem to fail on one of the following points

- Incremental forever (bandwidth is expensive in a lot of countries)

- Untrusted remote storage (so i can hook it up to a dodgy lowendbox VPS)

- Optional: No server-side processing needed (so i can hook it up to S3 or Dropbox)

If your backup model is based on the old' original + diff(original, v1) + diff(v1, v2).. then you're going to have a slow time restoring. rdiff-backup gets this right by reversing the incremental chain. However, as soon as you need to consolidate incremental images, you lose the possibility of encrypting the data (since encrypt(diff()) is useless from a diff perspective).

But with a hash-based backup system? All restore points take constant time to restore.

Duplicity, Duplicati 1.x, and Ahsay 5 don't support incremental-forever. Ahsay 6 supports incremental-forever at the expense of requiring trust in the server (server-side decrypt to consolidate images). Duplicati 2 attempted to move to a hash-based system but they chose to use fixed block offsets rather than checksum-based offsets, so the incremental detection is inefficient after an insert point.

IMO Attic gets everything right. There's patches for windows support on their github. I wrote a munin plugin for it.

Disclaimer: I work in the SMB backup industry.

Re: Bup – towards the perfect backup

#15
post #14

A shoutout for attic https://attic-backup.org/ Attic is one of the new-generation hash-backup tools (like obnam, zbackup, Vembu Hive etc). It provides encrypted incremental-forever (unlike duplicity, duplicati, rsnapshot, rdiff-backup, Ahsay etc) with no server-side processing and a convenient CLI interface, and it does let you prune old backups. All other common tools seem to fail on one of the following points - In…

For someone like me who isn't very technically minded (forgive me)...

Could you or someone explain why these fantastic sounding tools don't get a developed front-end? Or if they do why am I missing them?

The best solution I've found is ChronoSync.

Re: Bup – towards the perfect backup

#16

Deleting old backups and the lack of encryption is what stopped me from using bup.

And the reason they are not in bup is that those two things are the only hard things in a backup.

So they did the easy parts and skipped the hard parts.

Hardly a perfect backup.

I'm not sure a backup with all three of: delete old backups, encryption, and upload only differences even exists.

I think it might be one of those "pick any two" things, but if anyone knows of a backup with all three let me know.

Re: Bup – towards the perfect backup

#17
post #13

Is there an easy way to have the backups encrypted at rest? That's a nice feature of Duplicity. I don't have to worry about someone hacking my backup server or borrowing my USB drive having access to my data.

currently bup doesn't implement encryption (since it's a pretty hard feature to get right and we do want to finish coding other key features -- like old backup removal -- before we get to that)

some ppl have reported using an encrypted storage backend like ecryptfs to store their bup repositories in. that option shouldn't be too hard to put together.

Re: Bup – towards the perfect backup

#18
post #8

> That is a dataset which is already deduplicated via copy-on-write semantics (it was not using ZFS deduplication because you should basically never use ZFS deduplication). Can someone more experienced with ZFS say why?

"Basically never" is an overstatement, but it is true to the point of "Never unless you already know why I said 'basically never'"

It boils down to the fact that ZFS maintains a mapping from hashes to LBNs. This allows write-time deduplication (as opposed to a scrubber that runs periodically and retroactively deduplicates already written blocks). This is somewhat memory intensive though. For smaller ZFS pools you can get away with just having lots of RAM (and with or without dedupe ZFS performs better the more RAM you have). For larger ones, you can add a SSD to act as additional disk cache.

Here's a quick description of that setup:

https://blogs.oracle.com/brendan/entry/test

Note in this example that they were already showing 128GB of RAM for a 17TB pool; the L2ARC was to augment that. In general, ZFS was designed with a much higher RAM/Disk ratio than a workstation typically has.

Re: Bup – towards the perfect backup

#19
post #11
post #8

> That is a dataset which is already deduplicated via copy-on-write semantics (it was not using ZFS deduplication because you should basically never use ZFS deduplication). Can someone more experienced with ZFS say why?

I'm not an expert by any means, but the most cited reasons are that it requires a very big amount of ram, and it depends a lot (obviously) on the type of data.

In addition to the memory requirements, I seem to recall that it works at the block level, as opposed to the file level. So you could have two of the same file, but maybe one copy is written at the start of a block and one is written in the middle of a block. Same file, different blocks, so no deduplication.

Re: Bup – towards the perfect backup

#20
post #14

A shoutout for attic https://attic-backup.org/ Attic is one of the new-generation hash-backup tools (like obnam, zbackup, Vembu Hive etc). It provides encrypted incremental-forever (unlike duplicity, duplicati, rsnapshot, rdiff-backup, Ahsay etc) with no server-side processing and a convenient CLI interface, and it does let you prune old backups. All other common tools seem to fail on one of the following points - In…

For someone like me who isn't very technically minded (forgive me)... Could you or someone explain why these fantastic sounding tools don't get a developed front-end? Or if they do why am I missing them? The best solution I've found is ChronoSync.

Because (for the most part) non server-admins don't do backups. It's like flossing; everybody knows you should do it, but nobody actually does it.
Post reply on HN