ipfs / ipfs/kubo

enhancement: multiple block stores with usage policies

Open
#4,141 5 comments 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
17.1k
Forks
3.2k
Avg merge
3d 18h
Merged PRs (30d)
11

Description

#### Type: Enhancement
#### Severity: Medium
#### Description:

If I have a very fast SSD and a very slow magnetic archive disk, I'd like some way to direct the ipfs daemon to use them according to some flags I can set through `ipfs config` and `ipfs pin`.

First, there would need to be a way to designate different block stores in separate directories, leaving it to the user to mount whatever disks there appropriately. In the config, each store could be marked with a relative performance value (positive integer; ∈ Z-+).

Second, when setting pins, there could be a similar `--availability` option to assign a similar value to pinned objects. The initial `ipfs add` would try to use a store that had a performance value at least as high as the availability value. When garbage collecting, objects could be rearranged in a way that prioritized storing higher-availability objects on faster storage, including: swapping out pinned objects that have had that value lowered; and accounting for storage limits that have changed or been hit, reclaiming more performant space as necessary.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.