Skip to content
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

Backend: Amazon Glacier #541

Closed
osiloke opened this issue Jul 6, 2016 · 8 comments
Closed

Backend: Amazon Glacier #541

osiloke opened this issue Jul 6, 2016 · 8 comments
Labels
category: backend type: discussion undecided topics needing supplementary input

Comments

@osiloke
Copy link

osiloke commented Jul 6, 2016

I would like to use restic to do nightly backups for long term storage and glacier seems to be a cheap solution. I'm about to dive into the current s3 backend and see how i can transmorph that into a glacier backend. I was wondering if anyone had any plans for this or any suggestions on how i could go about it.

Thanks

@fd0 fd0 changed the title I dream of a glacier backend. Backend: Amazon Glacier Jul 6, 2016
@fd0 fd0 added category: backend feature type: discussion undecided topics needing supplementary input labels Jul 6, 2016
@fd0
Copy link
Member

fd0 commented Jul 6, 2016

Hi, thanks for the suggestion. I've already thought about this and I think that Glacier is unsuitable (as far as I understood the concept) for restic. At the moment, restic holds all the state in at the backend, which means it downloads quite some data before starting a backup. For Glacier, this means waiting 3-5 hours to start the backup, according to the FAQ:

Q: How can I retrieve data from the service?

You can download data directly from the service using the service’s REST API. When you make a request to retrieve data from Glacier, you initiate a retrieval job. Once the retrieval job completes, your data will be available to download for 24 hours. Retrieval jobs typically complete within 3-5 hours.

I think it will require many changes in restic's repository architecture before it is feasible to try and implement a backend for Glacier.

What do you think?

@osiloke
Copy link
Author

osiloke commented Jul 9, 2016

I was thinking of a proxy type solution, where a local backup is kept as well as pushed to the glacier backend. You would not need to download a backup everytime but only when you loose the local data. It's kind of a worst case scenario. For example, being hit by a "ransomware" which encrypts all local backups (somehow), maybe if a user mounts a backup folder on an affected system.

@fd0
Copy link
Member

fd0 commented Jul 9, 2016

I was thinking of a proxy type solution, where a local backup is kept as well as pushed to the glacier backend.

You can easily achieve this already by create a local repository, using this for the backup, and then use a Glacier client to copy the files to Amazon.

@osiloke
Copy link
Author

osiloke commented Jul 9, 2016

Yes that was obvious, i was on a path of over engineering. I'll do that instead. Thanks

@osiloke osiloke closed this as completed Jul 9, 2016
@rektide
Copy link

rektide commented Sep 14, 2017

I've already thought about this and I think that Glacier is unsuitable (as far as I understood the concept) for restic. At the moment, restic holds all the state in at the backend, which means it downloads quite some data before starting a backup.

Would obviously be a lot of complexity, but I could see a hybrid solution being a possible: use regular S3 to hold state, but send contents to Glacier. Just a thought.

@buzzlawless
Copy link

Glacier now offers expedited retrieval (1-5 minutes), which makes it a more appealing option for restic.

@andreasnuesslein
Copy link
Contributor

you can also put a policy on any s3 bucket, telling it to put certain objects into glacier after a period of days.
you could maybe put anything that restic does not have to access regularly (assuming index files and such?, so: all the data objects) into that policy.

https://aws.amazon.com/de/blogs/aws/archive-s3-to-glacier/

@moggers87 moggers87 mentioned this issue Jul 31, 2020
@bscott
Copy link

bscott commented Mar 17, 2021

You could just have the first bucket with a policy for replication of a copy of all objects to another bucket that is glacier enabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: backend type: discussion undecided topics needing supplementary input
Projects
None yet
Development

No branches or pull requests

6 participants