-
-
Notifications
You must be signed in to change notification settings - Fork 761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can borg repair broken repository chunks #148
Comments
Duplicity can use par2 error correction files in order to repair broken and even missing chunks of old backup files. I think that something like that would be even more important with borg because of the deduplication. With duplicity one pretty much ends up with multiple copies of files due to the full-incremental scheme, which borg avoids. Despite being pretty careful, I have had bit rot happen in my backups due to HD failure, rsync network errors, and other accidents. If I could dial-in a % overhead to add some level of redundancy then I'd do that. |
my understandign is, that all that is needed is force-writing said chunk, this needs a implementation |
please continue discussion about adding redundancy there: #225 |
From the mailing list:
|
How about adding a "chunks_healthy" key to the item metadata dict with a copy of the original (correct, but partly unavailable) chunk ids in case we choose to "repair" it (by replacing some chunks with all-zero chunks and modifying the "chunks" key with these replacement IDs)? The copy into the chunks_healthy key would be only made if there is no such key already - so that we do not lose information in case such a repair happens multiple times. A healing operation could then check for the chunks_healthy key, if it is present, compute the set difference with chunks and check if all the missing chunks are in the repo NOW, if so, copy chunks_healthy value into chunks and remove chunks_healthy key. |
1.0.4 will already remember the good/original chunk IDs. |
also: improve logging for archive check
also: improve logging for archive check
also: improve logging for archive check
Fixed in #1300 |
In the case of bit-rot in the repository where a chunk no longer matches its hash value, is it possible for the borg client to upload a new chunk to replace/fix the broken chunk.
It would not help in the case where a file has changed over time and the chunk came from an older version of the file. But for files that are slow to change, repairing the chunk in the repository would keep older archives from being broken. So the usefulness would depend on how fast your data set changes, and whether the bit-rot affected a newer chunk or a really ancient chunk.
The text was updated successfully, but these errors were encountered: