From ebd283e01e5746f2d4c2494daa7daf6bdacccc9e Mon Sep 17 00:00:00 2001 From: David Prevot Date: Tue, 8 Nov 2022 17:57:59 +0100 Subject: [PATCH] =?UTF-8?q?HowtoMinIO=C2=A0:=20premier=20jet=20(ticket=20#?= =?UTF-8?q?67370)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoMinIO.md | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 HowtoMinIO.md diff --git a/HowtoMinIO.md b/HowtoMinIO.md new file mode 100644 index 00000000..c1cfcbc8 --- /dev/null +++ b/HowtoMinIO.md @@ -0,0 +1,87 @@ +--- +categories: sysadmin +title: Howto MinIO +... + +- Documentation : +- Code : +- 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, c’est de l’object storage : chaque fichier inclus est +un objet. +Les objets sont alors stockés dans un seau (*bucket*). + +L’architecture est séparée en serveur, client (`mc`) et client SDK (qui +fournit l’API) 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 d’objets ; +- 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 c’est du Go, le paquet (serveur ou client) ne fournit qu’un +binaire, compatible a priori avec n’importe 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" +~~~ + +L’interface web est alors disponible en . + +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 d’y 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 +~~~ + +