19
0
Fork 0

HowtoMinIO : premier jet (ticket #67370)

This commit is contained in:
David Prevot 2022-11-08 17:57:59 +01:00
parent 228bb62632
commit ebd283e01e
1 changed files with 87 additions and 0 deletions

87
HowtoMinIO.md Normal file
View File

@ -0,0 +1,87 @@
---
categories: sysadmin
title: Howto MinIO
...
- Documentation : <https://min.io/docs/minio/kubernetes/upstream/>
- Code : <https://github.com/minio/minio>
- Licence : [GNU AFFERO GENERAL PUBLIC LICENSE v3.0](https://github.com/minio/minio/blob/master/LICENSE)
- Language : Go
[MinIO](https://min.io/) est un système de stockage écrit en Go qui
fournit une API compatible avec [Amazon S3](/HowtoAmazon/Amazon-S3).
Comme Amazon S3, cest de lobject storage : chaque fichier inclus est
un objet.
Les objets sont alors stockés dans un seau (*bucket*).
Larchitecture est séparée en serveur, client (`mc`) et client SDK (qui
fournit lAPI) disponible en divers langages (Java, Go, Node.js, Python,
.NET, Haskel).
## Requis
Les [requis](https://min.io/docs/minio/kubernetes/upstream/operations/checklists/hardware.html) du système selon la documentation officielle :
- Assez de processeurs pour le hachage ;
- Assez de mémoire vive pour le cache disque (au moins 128 Go par nœud pour haute performance) ;
- Au moins quatre nœuds pour le stockage dobjets ;
- Au moins huit disques par serveur pour les données ;
## Installation
Des paquets Debian sont
[disponibles au téléchargement](https://min.io/download#/linux)
(mais sans dépôt).
Comme cest du Go, le paquet (serveur ou client) ne fournit quun
binaire, compatible a priori avec nimporte quelle version de Debian.
Cela permet de mettre en place rapidement le service dans un
environnement de développement.
* Serveur
~~~
# wget https://dl.min.io/server/minio/release/linux-amd64/minio_YYYYMMDDHHMMSS.0.0_amd64.deb
# apt install ./minio_YYYYMMDDHHMMSS.0.0_amd64.deb
~~~
* Client
~~~
# wget https://dl.min.io/client/mc/release/linux-amd64/mcli_YYYYMMDDHHMMSS.0.0_amd64.deb
# apt install ./mcli_YYYYMMDDHHMMSS.0.0_amd64.deb
~~~
## Utilisation
Un service systemd est fourni (`/etc/systemd/system/minio.service`),
mais pour un premier test, le serveur peut être lancé directement.
~~~
$ mkdir ~/minio
$ MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password minio server ~/minio --console-address ":9001"
~~~
Linterface web est alors disponible en <http://localhost:9001>.
Le client en ligne de commande peut aussi être configuré.
~~~
mcli alias set local http://localhost:9000 admin password
~~~
Il est maintenant possible de créer un espace de stockage (*bucket*) sur
le serveur, et dy placer un fichier.
~~~
$ mcli mb local/bucket
Bucket created successfully `local/bucket`.
$ echo data >> /tmp/test
$ mcli ls local
[2022-11-08 16:54:07 CET] 0B bucket/
$ mcli cp /tmp/test local/bucket
/tmp/test: 5 B / 5 B ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78 B/s 0s
$ mcli ls local/bucket
[2022-11-08 16:57:46 CET] 5B STANDARD test
~~~