Copy of snapshots from different repos and then backup didn't do deduplication

Hello, all,
I tried to find an answer in existing threads but I wasn’t able to.
What I did is that originally I had different repos like:
[repo name: Path of folder I was backupping]
images: /home/user/Images
documents: /home/user/Documents
Music: /home/user/Music

Then I created a new repo, let’s call it “mymachine”
I copied all snapshots from the 3 repos into mymachine repos using the restic copy. I didn’t include old chunks because the new repo was empty and the data of the 3 original repos where completely not correlated.

Then I did a backup of the 3 folders above on mymachine repo (passing the 3 paths to restic). I expected to have deduplication in place for this backup (and restic to recognize that the files I was sending were equals to the files of the existing snapshots I copied, but this didn’t happen and it ended with a repo that doubled the size after last backup was run.

What did I miss? How can I keep the old snapshots of the 3 original repos and be able to backup again the 3 folders in the new repo but having the deduplication working? Indeed the 3 original repos have different chunks parameters among each other, and they are anyway different from the chunk parameters of the target repo…

Thanks a lot

As per docs in order to make sure that deduplication works for copied snapshots you have to make sure that all your repositories are using the same chunker parameters.

It is something you have to plan in advance when initiating new repo. There is an example in docs as well:

restic -r /srv/restic-repo-copy init --from-repo /srv/restic-repo --copy-chunker-params
1 Like

So if I understood well there is no chance I can merge 3 repos with different data into one copying snapshots, and then expect to have deduplication working when I do a backup in the new one with the same data. Correct?

You can. But only if you initiated all repos with the same chunker params. If not then not.

Ok, I understood well then. Thanks a lot for the support!

I had the same problem. I endend mounting one repo and making snapshots to the new one. Not the best optionc (neither the fastest), but worked.

Thank you for your answer! I thought about the same possibility but I was too lazy to do it :slight_smile:
Jokes apart, since my new Merged repo is already in place, what I could do is:

  • mount old snapshots of old repos
  • do a snapshot reading from mount point and adjust time with the --time option of backup command.
    So at least I should have a proper history on the new repo.

Anything else you recommend from your experience?

It took longer than expected (around 20 hours per snapshot), so I purged some of them before updating.