Vous recherchez un logiciel de stockage objet à héberger sur votre serveur ?
Je suppose oui?
Il existe de nombreux stockages d’objets basés sur le cloud comme AWS S3 et d’autres que j’ai mentionnés ici. Cependant, si vous avez besoin d’héberger vos données sur votre serveur, MinIO peut vous aider au sein de vos centres de données.
MiniIO est un logiciel de stockage d’objets distribué open-source populaire et compatible avec S3. Il est prêt pour l’entreprise et connu pour ses hautes performances.
Vous pouvez utiliser MinIO d’une simple application Web à de grandes charges de travail de distribution de données pour les applications d’analyse et d’apprentissage automatique. Cela peut aider dans de nombreux cas d’utilisation.
- Stockage de fichiers plats standard
- Distribution de données multi-cloud
- Reprise après sinistre
- Analyse des données
Est-ce un logiciel volumineux ?
Non, c’est juste environ ~ 50 Mo et compatible avec Kubernetes. Il écrit des données et des métadonnées en tant qu’objet. Cela supprime la dépendance à l’égard d’une base de données ou d’un logiciel supplémentaire pour stocker les métadonnées et améliorer les performances.
L’architecture ci-dessous de leur site officiel.
Explorons quelques-unes des fonctionnalités à noter.
- Haute performance – le titre l’indique. Il est capable de lire/écrire à une vitesse d’environ 170 Go/s. C’est beaucoup!
- Évolutif – optez pour le clustering et mettez à l’échelle selon vos besoins
- Nuage natif
- Protection des données à l’aide de la méthode du code d’effacement
- Cryptage multiple pris en charge, y compris AES-CBC, AES-256-GCM, ChaCha20
- Compatible avec les KMS courants
- Identité de l’application et de l’utilisateur
- Avis d’événement
- Fédération utilisant etcd et CoreDNS
MinIO est un bon choix pour le stockage défini par logiciel. Voyons comment configurer les choses.
Table des matières
Installation du serveur MinIO
Tu peux installer sur Linux, Windows, macOS et via Kubernetes. Vous préférez construire via la source ? Bien sûr, vous pouvez le faire si vous avez installé Golang.
Pour cette démonstration, je vais installer sur CentOS qui est hébergé sur Kamatera.
- Connectez-vous au serveur
- Créez un dossier sous le système de fichiers souhaité. Peut-être minio-serveur
- Accédez au dossier nouvellement créé et exécutez la commande wget ci-dessous
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Il téléchargera un fichier binaire et devrait ressembler à ceci.
-rw-r--r-- 1 root root 48271360 Oct 18 21:57 minio
Rendre le fichier exécutable avec la commande chmod
chmod 755 minio
Démarrons le MinIO en tant que serveur.
./minio server /data &
/data mentionné ci-dessus est le système de fichiers où MinIO stockera les objets.
Le démarrage est rapide et vous devriez voir les informations de démarrage comme ci-dessous.
Endpoint: http://xx.71.141.xx:9000 http://127.0.0.1:9000 AccessKey: minioadmin SecretKey: minioadmin Browser Access: http://xx.71.141.xx:9000 http://127.0.0.1:9000 Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide $ mc alias set myminio http://xx.71.141.xx:9000 minioadmin minioadmin Object API (Amazon S3 compatible): Go: https://docs.min.io/docs/golang-client-quickstart-guide Java: https://docs.min.io/docs/java-client-quickstart-guide Python: https://docs.min.io/docs/python-client-quickstart-guide JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide .NET: https://docs.min.io/docs/dotnet-client-quickstart-guide Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'
Accéder à MinIO sur le navigateur avec les informations d’identification par défaut – minioadmin:minioadmin
L’interface est très soignée et propre, mais avant tout, changeons les informations d’identification par défaut car elles exposent le risque. Il n’y a pas d’option pour modifier les informations d’identification de l’administrateur via le navigateur mais les variables d’environnement.
Pour changer les informations d’identification par défaut de MinIO, nous allons exporter l’accès et la clé secrète comme ci-dessous et démarrer le MinIO.
export MINIO_ACCESS_KEY=toptips.fr export MINIO_SECRET_KEY=geekpassword ./minio server /data &
Maintenant, il ne devrait pas se plaindre de l’avertissement de détection des informations d’identification par défaut.
Essayons de télécharger quelques fichiers.
- Cliquez sur l’icône + en bas à droite et créez un bucket
- J’ai téléchargé un fichier de test et immédiatement visible sur le navigateur
et, sur le serveur
[[email protected] geekflare]# ls -ltr total 4 -rw-r--r-- 1 root root 11 Oct 19 11:09 MinIO-Test.txt [[email protected] geekflare]#
Si vous cliquez sur le bouton de partage de fichiers sur le navigateur, vous obtiendrez le lien partageable et une option pour définir l’expiration.
Client MinIO
Le client MinIO est plus qu’aws-cli qui vous permet de gérer le stockage. Le client est disponible pour Windows, macOS et Linux.
Pour installer sur Linux, exécutez ce qui suit.
wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod 755 mc
Exécutez la commande mc pour voir l’aide de la commande.
[[email protected] ~]# ./mc NAME: mc - MinIO Client for cloud storage and filesystems. USAGE: mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...] COMMANDS: alias set, remove and list aliases in configuration file ls list buckets and objects mb make a bucket rb remove a bucket cp copy objects mirror synchronize object(s) to a remote site cat display object contents head display first 'n' lines of an object pipe stream STDIN to an object share generate URL for temporary access to an object find search for objects sql run sql queries on objects stat show object metadata mv move objects tree list buckets and objects in a tree format du summarize disk usage recursively retention set retention for object(s) legalhold manage legal hold for object(s) diff list differences in object name, size, and date between two buckets rm remove objects version manage bucket versioning ilm manage bucket lifecycle encrypt manage bucket encryption config event manage object notifications watch listen for object notification events undo undo PUT/DELETE operations policy manage anonymous access to buckets and objects tag manage tags for bucket and object(s) replicate configure server side bucket replication admin manage MinIO servers update update mc to latest release GLOBAL FLAGS: --autocompletion install auto-completion for your shell --config-dir value, -C value path to configuration folder (default: "/root/.mc") --quiet, -q disable progress bar display --no-color disable color theme --json enable JSON lines formatted output --debug enable debug output --insecure disable SSL certificate verification --help, -h show help --version, -v print the version TIP: Use 'mc --autocompletion' to enable shell autocompletion VERSION: RELEASE.2020-10-03T02-54-56Z [[email protected] ~]#
Essayons de lister le fichier que j’ai téléchargé via la commande mc.
Tout d’abord, nous devons définir l’alias sur le stockage que nous voulons administrer.
[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ toptips.fr geekpassword Added `minio` successfully. [[email protected] ~]#
- minio est le nom d’alias. Vous pouvez changer cela en ce que vous voulez.
- Remplacez le point de terminaison HTTP par votre vrai point de terminaison
- Changez d’accès et de clé secrète avec la vôtre
et, pour lister, utilisera la commande ls comme ci-dessous.
[[email protected] ~]# ./mc ls --recursive minio [2020-10-19 11:09:06 UTC] 11B toptips.fr/MinIO-Test.txt [[email protected] ~]#
Super. Ça marche!
Vous pouvez littéralement tout faire via le client. Non seulement vous pouvez gérer le stockage cloud MinIO, mais également GCS, AWS S3, Azure.
Regarde ça guide de démarrage rapide client pour plus de détails.
SDK MinIO
En fonction de votre pile d’applications, vous pouvez interagir avec le stockage d’objets par programmation à l’aide du SDK. Il prend en charge Go, Python, Node.js, .NET, Haskell et Java.
Passerelle MinIO
Ajoutez la passerelle MiniIO à S3, Azure, NAS, HDFS pour tirer parti du navigateur MinIO et de la mise en cache du disque.
Conclusion
Si vous recherchez un stockage d’objets privé, hybride ou multi-cloud, alors MinIO semble prometteur. Essayez et vous en tomberez amoureux. Pour tester des choses, vous pouvez obtenir Machine virtuelle MinIO de Kamatera ou installez-vous sur n’importe quel serveur Cloud.