85 lines
2.6 KiB
Markdown
85 lines
2.6 KiB
Markdown
# 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](./firewalls.md), to be sure that your host's firewall is properly
|
|
set up for providing storage.
|
|
|
|
## Configure Isle
|
|
|
|
See the [Configuring Networks](./configuring-networks.md) 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.
|
|
|
|
```bash
|
|
# 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`.
|
|
|
|
```bash
|
|
# 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][garage] project for its storage system. See the
|
|
[Managing Garage](managing-garage.md) document for more
|
|
information on how to interact directly with the garage instance being run by
|
|
isle.
|
|
|
|
[garage]: https://garagehq.deuxfleurs.fr/documentation/quick-start/
|