Explore integration with blk-archive

Open
#613 0 comments 0 reactions 1 assignee View on GitHub

@bmr-cymru is already working on this.

Since Nov 26, 2025.

Assessment

This issue has not been assessed yet.

Description

Enhancement InterOp Question

The blk-archive project is a tool for archiving block devices. It is particularly effective when used with dm-thin devices and supports compression and de-duplication while maximising data sharing on restore operations.

There is the potential to integrate this into snapshot manager, allowing users to archive entire snapshot sets to stable storage or restore existing archives to live devices.

There are a number of things to consider:

  • UI integration
    • Archival seems straightforward: snapm snapset archive snapset_name /path/to/archive.
    • But how would restore work?
      • What would the command line look like? All current snapset subcommands expect a snapset_name argument.
      • Can we enumerate devices in a blk-archive archive? Or add our own metadata to describe the restore destinations?
      • What does the restore workflow look like? Create "dummy" snapshots, then overwrite them with the extracted archive and initiate a merge?
  • A Manager API seems like it would be straightforward for archive, raises same questions as UI for restore
  • There's a desire for "send/receive" (cf. btrfs/ZFS) style support, but this was considered out of scope by the blk-archive author this is under reconsideration
Dominant language
Python
Stars
14
Forks
8
Avg merge
1d 13h
Merged PRs (30d)
6

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from snapshotmanager/snapm

All issues in snapshotmanager/snapm

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.