isle/docs/operator/contributing-storage.md

2.6 KiB

Contributing Storage

This document is for you if your host machine can be reliably be online at all times and has 1GB or more of unused drive space you'd like to contribute to the network.

Set Up Your Firewall

The Isle daemon will automatically allow the ports used for your storage allocations in Isle's builtin firewall. See the doc on Firewalls, to be sure that your host's firewall is properly set up for providing storage.

Configure Isle

See the Configuring Networks document for notes on how to configure Isle networks. This guide assumes configuration using the CLI.

The isle storage allocation sub-commands can be used to inspect and manage the storage allocations provided by the host.

isle storage allocations list
# []

isle storage allocation add \
    --data-path /mnt/drive/isle/data \
    --meta-path /mnt/drive/isle/meta \
    --capacity 100

isle storage allocations list
# - index: 0
#   data_path: /mnt/drive/isle/data
#   meta_path: /mnt/drive/isle/meta
#   capacity: 100
#   s3_api_port: 3901
#   rpc_port: 3900
#   admin_port: 3902

The above example shows 100GB of storage being added to the network at /mnt/drive/isle/data. It's important to remember that the same data or meta directory cannot be shared between different allocations or different networks.

The meta directory doesn't store very much data. If possible it's better to place the meta directory on a fast drive like an SSD, while the data directory for the same allocation remains on a large spinning-disk drive. This is not a requirement though, and the network will function fine either way.

Removing Allocations

If you later decide to no longer provide storage the isle storage allocations remove command can be used to remove it. Each allocation is identified by its index, as returned by isle storage allocations list.

isle storage allocations list
# - index: 0
#   data_path: /mnt/drive/isle/data
#   meta_path: /mnt/drive/isle/meta
#   capacity: 100
#   s3_api_port: 3901
#   rpc_port: 3900
#   admin_port: 3902

isle storage allocation remove --index=0

isle storage allocations list
# []

Once removed, it is advisable to wait some time before removing storage allocations from other hosts. This ensures that all data which was previously on this host has had a chance to fully replicate to multiple other hosts.

Further Reading

Isle uses the garage project for its storage system. See the Managing Garage document for more information on how to interact directly with the garage instance being run by isle.