Skip to content

restore --warmup option to enable cold storage based repositories #2796

@beer4duke

Description

@beer4duke

Output of restic version

Running restic 0.9.6 compiled with go1.13.6 on linux/amd64

Which functionality do you think we should add?

restic restore command should have a dry-run option that lists all the pack files needed to satisfy the restore.
Other commands that require the presence of pack files on the restic backend could be complemented as well with the same dry-run option in a second time (dump for example).
Json output as a list of packs would be perfect when used in conjunction with --json.
In addition the json format could contain the restic command that generated this pack list and a timestamp that indicates when the command was issued.

What are you trying to do?

I am trying to put restic in front of a tape based cold storage.

The basic properties of a cold storage restic repository are the following with regard to the folder structure and files:

  • config file, index, keys, snapshots` directories both on hot and cold storage to allow immediate metadata operations on the repository
  • locks directory is a hot storage only directory as the repository can be recreated from cold storage without its content.
  • data directory cold storage

The idea users can perform backups that go straight to cold storage.
They can query restic repo from hot storage to look into metadata as usual.

And then they could issue a restic restore --dry-run --json query. The json result is then submitted to the cold storage that asynchronously brings back the cold pack files in the hot storage area.
When all the pack files are back in hot storage, the user can proceed with the actual restore.

This could be extended in a second time to other commands that require the presence of pack files in hot storage.

Adding the command and timestamp that generated the pack list would allow cold storage manager to understand usage and refine various parameters. For example if users are requesting to bring back 2 days old snapshots regularly, the pack files could stay a bit longer than 2 days in the hot storage area.

Did restic help you today? Did it make you happy in any way?

I am very happy with the nice specification work and the clean design of restic that nicely separates content, metadata and encryption. Very well done!
I was able to test the backup workflow to cold storage and understand the blobls/subtrees/indexes... structures in only a few hours.
I tried to structure this proposal to avoid any conceptual issue but do not hesitate to complement it as I have only been using restic for few days.

I am proposing this feature request as a follow up to my initial forum question. As it looks like I am not the only one with this cold storage interest.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions