Stockage objet
Espaces de stockage et buckets, ce à quoi survivent un nœud et plusieurs nœuds, les clés limitées par bucket, et la connexion en S3.
Un espace de stockage est un serveur compatible S3 qui vous appartient. Il contient des fichiers plutôt que des lignes : téléversements, images, exports, tout ce qu'une application écrit une fois et relit par son nom. Toute bibliothèque et tout outil qui parle S3 peut s'en servir.
Comme une base de données, un espace de stockage se commande séparément de toute application et leur survit.
Choisir un moteur
Trois moteurs sont proposés, et tous les trois parlent S3.
MinIO. Le plus connu. C'est aussi le seul moteur dont les buckets et les clés d'accès limitées se gèrent depuis la console ISOGrid. Si vous n'avez aucune raison d'en prendre un autre, prenez celui-ci.
SeaweedFS. Rapide avec de très grands nombres de petits fichiers.
Garage. Léger, conçu pour tourner en petit cluster.
Sur SeaweedFS et Garage, la plateforme ne gère pour vous ni les buckets ni les clés limitées. Vous travaillez avec les clés racine de l'espace de stockage et un client S3, ou avec la console web propre au moteur.
Un nœud ou plusieurs
Nœud unique. Un nœud, un disque, et ce disque est la seule copie. Si sa machine est arrêtée, l'espace de stockage est injoignable jusqu'à son retour. Si le disque est perdu, les fichiers sont perdus. C'est le moins cher, et le bon choix pour le développement ou pour des fichiers que vous pouvez reproduire.
Distribué. Trois ou cinq nœuds, chacun avec son propre disque, et le moteur recopie chaque écriture entre eux au fil de l'eau. Un nœud peut être perdu sans perdre de fichiers. Trois ou cinq, jamais deux ou quatre, pour la même raison qu'une base de données : les nœuds ont besoin d'une majorité pour s'accorder.
La taille que vous choisissez s'entend par nœud, et l'espace utile d'un espace de stockage distribué est inférieur au nombre de nœuds multiplié par la taille, parce que ce sont les copies supplémentaires qui survivent à une panne. Comptez environ la moitié sur MinIO et SeaweedFS, et environ un tiers sur Garage. Les détails de l'espace de stockage affichent la capacité brute, la capacité utile, et le nombre de nœuds que ce moteur peut perdre.
Choisissez la taille avec de la marge. La console ne permet pas d'agrandir le disque d'un espace de stockage par la suite, ni de transformer un nœud unique en espace distribué.
Le prix avant de créer
Les tailles sont nommées et tarifées par région, et chacune affiche son prix avant le déploiement. Le nœud unique et le distribué sont tarifés séparément, et un espace distribué fait tourner trois ou cinq nœuds de la taille choisie.
Si une région n'a aucune taille tarifée pour une topologie, un espace de stockage de ce type ne peut pas y être créé. Choisissez une autre région ou l'autre topologie.
Buckets et clés d'accès
Cette section concerne les espaces de stockage MinIO, une fois en service.
Les buckets sont privés. Rien ne peut y être lu sans une clé, ou sans un lien signé avec une clé. Un nom de bucket compte 3 à 63 lettres minuscules, chiffres et tirets, sans point.
Les clés racine donnent accès à tous les buckets. Chaque espace de stockage a une paire de clés racine. Réservez-la à l'administration. Elle est affichée sur demande plutôt qu'à l'ouverture de la page, et chaque consultation est inscrite au journal d'audit.
Donnez à chaque application sa propre clé. Une clé d'accès est limitée aux buckets que vous nommez, et elle est soit en lecture seule, soit en lecture et écriture. Elle ne peut ni créer ni supprimer de bucket. Les buckets doivent exister avant la création de la clé.
La moitié secrète d'une clé d'accès est affichée une seule fois, à sa création, et ne peut plus être réaffichée. Si vous la perdez, révoquez la clé et créez-en une autre. C'est aussi la façon de renouveler une clé.
La révocation prend effet immédiatement. Tout ce qui utilise la clé cesse de fonctionner, y compris les liens déjà signés avec elle.
Seule la personne qui a créé un espace de stockage, ou un administrateur, peut le modifier, voir ses clés racine ou le supprimer.
Se connecter
Un nouvel espace de stockage est privé : il n'a aucune adresse en dehors de la plateforme. Publiez-le et il reçoit sa propre adresse HTTPS, avec un certificat. Cette adresse est le point de terminaison que vous donnez à une application ou à un client S3. Le rendre privé à nouveau retire l'adresse ; le republier plus tard redonne la même.
Un client S3 a besoin de quatre choses :
- Le point de terminaison : l'adresse HTTPS de l'espace de stockage, telle qu'affichée, sans bucket dedans.
- La région :
us-east-1sur MinIO et SeaweedFS,garagesur Garage. La région entre dans la signature d'une requête : une région fausse, c'est une requête refusée. - La clé d'accès et la clé secrète : une clé limitée pour une application, les clés racine pour l'administration.
- L'adressage par chemin (path-style) : le bucket va dans le chemin, pas dans le nom d'hôte. La plupart des bibliothèques S3 ont un réglage pour cela, et il doit être activé.
Chaque espace de stockage est aussi livré avec la console web de son moteur, à une adresse distincte. Sur MinIO, vous vous connectez avec les clés de l'espace de stockage. Sur SeaweedFS et Garage, le navigateur demande un mot de passe, affiché avec les informations de connexion. La console peut être désactivée.
La réplication n'est pas une sauvegarde
La plateforme ne sauvegarde pas un espace de stockage, et aucun espace de stockage ne conserve les anciennes versions d'un fichier. Un fichier supprimé ou écrasé a disparu.
Un espace distribué vous protège de la panne d'une machine. Il ne vous protège pas d'une erreur : la suppression est recopiée sur chaque nœud aussi fidèlement que l'avait été le téléversement. Si les fichiers comptent, copiez-les ailleurs à intervalles réguliers avec un outil S3, et vérifiez une fois que vous savez relire la copie.
Cas particuliers à connaître avant d'y être confronté
L'espace de stockage indique qu'il est en service et les requêtes échouent. Ouvrez ses détails et utilisez Réappliquer la configuration. Cela crée ce qui manque et corrige ce qui ne tourne pas dans la bonne configuration. Cela ne supprime rien.
Toutes les requêtes sont refusées avec une erreur de signature. La région ou le mode d'adressage est faux. Voir « Se connecter » ci-dessus.
La section des buckets indique qu'elle n'est pas disponible. L'espace de stockage n'est pas un MinIO, ou il n'est pas encore en service.
Vous avez supprimé un bucket. Tous ses fichiers ont disparu. Aucune copie n'est conservée.
Vous avez supprimé l'espace de stockage. Chaque nœud et chaque disque est supprimé, et les fichiers avec. C'est irréversible.
Pour continuer
- Volumes pour les logiciels qui attendent un répertoire plutôt que S3.
- Bases de données pour des lignes plutôt que des fichiers.
- Quand ça ne va pas