Skip to content
Snippets Groups Projects
Verified Commit 06c056e2 authored by anarcat's avatar anarcat
Browse files

more minio tests

parent 52a39670
No related branches found
No related tags found
No related merge requests found
......@@ -218,20 +218,9 @@ we ended up [brainstorming this in a meeting][] , where we said:
so it looks like the next step might be to setup MinIO here as a prototype.
hiro is also considering object storage for collector
([tpo/network-health/metrics/collector#40023 (closed)][] which could
solve a lot of the problems we're having here.
[trusted high performance cluster]: https://gitlab.torproject.org/groups/tpo/tpa/-/milestones/2
[brainstorming this in a meeting]: https://gitlab.torproject.org/tpo/tpa/team/-/wikis/meeting/2022-02-14#storage-brainstorm
## upstream provider
"they have terabytes of storage where we could run a VM to have a
secondary storage server for bacula."
https://gitlab.torproject.org/tpo/tpa/team/-/issues/40478#note_2843500
## MinIO
[MinIO][] is suggested/shipped by gitlab omnibus now? It is [not packaged in
......@@ -262,6 +251,7 @@ Features:
* [self-diagnostics and hardware tests](https://min.io/docs/minio/linux/operations/checklists/hardware.html#recommended-hardware-tests)
* [lifecycle management](https://min.io/docs/minio/linux/administration/object-management/object-lifecycle-management.html#minio-lifecycle-management)
* [FTP/SFTP/FTPS support](https://min.io/docs/minio/linux/developers/file-transfer-protocol.html)
* has detailed instructions for Linux, MacOS, Windows, Kubernetes and Docker/Podman
Missing and downsides:
......@@ -275,6 +265,15 @@ Missing and downsides:
* [other limitations](https://min.io/docs/minio/linux/operations/checklists/thresholds.html)
* backups need to be done through bucket replication or site
replication, difficult to backup using our normal backup systems
* some "open core", features are hidden behind a paywall even in the
free version, for example profiling, health diagnostics and
performance tests
* docker version is limited to setting up a "[Single-Node
Single-Drive](https://min.io/docs/minio/linux/operations/installation.html#minio-installation-comparison "\(in MinIO Documentation for Linux\)") MinIO server onto Docker or Podman for early
development and evaluation of MinIO Object Storage and its
S3-compatible API layer"
* that simpler setup, in turn, seems less supported for production
and has lots of warnings around risk of data loss
[MinIO]: https://min.io/
[not packaged in Debian]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859207
......@@ -295,6 +294,29 @@ note to say there's some storm brewing there.
[32148007]: https://news.ycombinator.com/item?id=32148007
[licensing dispute]: https://blocksandfiles.com/2023/03/26/we-object-minio-says-no-more-open-license-for-you-weka/
### First run
The [quickstart guide](https://min.io/docs/minio/container/index.html) is easy enough to follow to get us started,
for example:
PASSWORD=$(tr -dc '[:alnum:]' < /dev/urandom | head -c 32)
mkdir -p ~/minio/data
podman run \
-p 9000:9000 \
-p 9090:9090 \
-v ~/minio/data:/data \
-e "MINIO_ROOT_USER=root" \
-e "MINIO_ROOT_PASSWORD=$PASSWORD" \
quay.io/minio/minio server /data --console-address ":9090"
... will start with an admin interface on <https://localhost:9090> and
the API on <https://localhost:9000> (even though the console messages
will say otherwise).
You can use the web interface to create the buckets, or the [mc
client](https://min.io/docs/minio/linux/reference/minio-mc.html) which is [also available as a Docker container](https://quay.io/repository/minio/mc).
## Garage
[Garage][] is another alternative, written in Rust. They provide a
......@@ -381,7 +403,27 @@ News discussion][30256753] and [this other one][33853539].
## SeaweedFS
TODO: review https://github.com/seaweedfs/seaweedfs
"[SeaweedFS](https://github.com/seaweedfs/seaweedfs) is a fast distributed storage system for blobs,
objects, files, and data lake, for billions of files!" according to
their GitHub page. [Not packaged in Debian][956957], written in Golang.
Features:
* Blob store has O(1) disk seek, cloud tiering
* cross-DC active-active replication
* Kubernetes
* POSIX FUSE mount
* S3 API
* S3 Gateway
* Hadoop
* WebDAV
* encryption
* Erasure Coding
* optimized for small files
[956957]: https://bugs.debian.org/956957
Not considered because of focus on small files.
## OpenIO
......@@ -584,6 +626,13 @@ trash its own backups). we could build this with ZFS/BTRFS replication, again.
> restoring websites in #40501 (closed) today, really positive
> feeling.
## Upstream provider
[According to this](https://gitlab.torproject.org/tpo/tpa/team/-/issues/40478#note_2843500), one of our upstream provider has terabytes of
storage where we could run a VM to have a secondary storage server for
Bacula. This requires a bit too much trust in them that we'd like to
avoid for now, but could be considered later.
# Costs
# Approval
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment