Add possibility to specify extra repo for "hot" data#3235
Add possibility to specify extra repo for "hot" data#3235aawsome wants to merge 3 commits intorestic:masterfrom
Conversation
d1c90a2 to
1429f44
Compare
47cae72 to
d464687
Compare
Just wanted to mention, that the PR in question is now merged. No stress though. |
|
Hello and thank you for this great project ! When can the here-mentioned PR be merged ? Can I help somehow with it ? |
|
@aawsome I have tested your code with OVH Cloud Archive (cold storage) and both backup and restore worked well. |
|
@sashokbg I made #3303 which would allow |
|
@aawsome all of this looks awesome good job ! Isn't the current PR merge-able already ? |
No, it is not. There has been changes in master in between which introduced conflicts which need to be resolved. So changes are that this feature is implemented in rustic first. |
This functionality is now available on rustic main, see rustic-rs/rustic#44, and will be part of the next rustic release. |
|
Awesome job! I'd like to see this PR merged too as I would like to use restic with ovh cloud archive too. Anyway we could help? |
|
Same here (CERN), this functionality is very important so we can consolidate the usage of restic for both hot data (disk-based Ceph S3) and cold (internal tape library). What is missing to get this PR merged and how can we contribute? |
|
The main missing part is probably time to review it, think about the design and what is necessary to properly support cold storage in restic. My backlog for PRs to review and bugs to fix / things to improve is unfortunately way too long :-/ . |
|
@MichaelEischer can you get in touch with me by mail at hugo.gonzalez.labrador@cern.ch, we may have a way to speed up that process for review. |
|
@labkode Did you try out rustic where I already implemented this functionality? |
What does this PR change? What problem does it solve?
Adds an option
--repo-hotto specify a "hot repo" that is used for hot data, i.e. for all repository files except data pack files. The repo specified by--repois still fully written and a complete restic repository, but only read if a pack data file is accessed. So, this can be stored in some "cold storage" or storage with very high latency while many restic commands still work. Usually the "hot repo" only takes a small fraction of the space used by the complete repository. See #3202 for the discussion. This PR implements the "cache-aproach".The "hot repo" is marked by an extra data field in the Config file and some additional tests are added to check that only correct combiniations of "hot repo" and cold (i.e. standard) repo can be used. However, if a "hot repo" is openend by older restic versions, it will not give good errors, but seems like a broken repo.
Open points are:
checkcommand that same files exist in hot and "complete" repocheck --read-datacommand that read and check all files from the "complete" repoUsage is:
All the above commands do not read anything from
<cold-repo>, just list the files therein or remove them during prune. In<hot-repo>, only the metadata is saved.Was the change discussed in an issue or in the forum before?
see #3202 and the references therein.
IMO this closes #2504, closes #2611, closes #2817
Checklist
changelog/unreleased/that describes the changes for our users (template here)gofmton the code in all commits