MinIO â une excellente solution pour organiser facilement et simplement un stockage d'objets. Une configuration Ă©lĂ©mentaire, de nombreuses plateformes et de bonnes performances ont conquis le cĆur du public. Il n'y avait donc pas d'autre choix que d'annoncer il y a un mois la compatibilitĂ© . Y compris une fonction aussi importante que l'ImmutabilitĂ©. En fait, MinIO propose tout un dans la documentation consacrĂ©e Ă notre intĂ©gration.
Aujourd'hui, nous allons parler de comment :
- Configurer MinIO trĂšs rapidement.
- Configurer MinIO un peu moins vite, mais de maniĂšre beaucoup plus qualitative.
- L'utiliser comme Archive Tier pour un référentiel extensible Veeam SOBR.

Qu'est-ce que tu es ?
Une brÚve introduction pour ceux qui n'ont jamais rencontré MinIO. Il s'agit d'un stockage d'objets open source, compatible avec l'API Amazon S3. Distribué sous la licence Apache v2, il adhÚre à une philosophie de minimalisme spartiate.
Cela signifie qu'il n'a pas d'interface graphique complexe avec tableaux de bord, graphiques et de nombreux menus. MinIO se lance simplement sur son serveur avec une seule commande, oĂč vous pouvez stocker des donnĂ©es en utilisant toute la puissance de l'API S3. Mais il faut noter que cette simplicitĂ© peut ĂȘtre trompeuse en ce qui concerne les ressources utilisĂ©es. La RAM et le CPU sont consommĂ©s de maniĂšre notable, mais les raisons seront abordĂ©es plus bas. Et Ă propos, des systĂšmes comme FreeNAS et TrueNAS utilisent MinIO sous le capot.
C'est ainsi que nous pouvons terminer cette introduction.
La configuration de MinIO est trĂšs rapide
Elle est si rapide que nous l'examinerons pour Windows et Linux. Il y a des options pour Docker, Kubernetes, et mĂȘme pour macOS, mais le principe restera le mĂȘme partout.
Alors, dans le cas de Windows, allons sur le site officiel et téléchargeons la derniÚre version. Nous y trouvons également les instructions de démarrage :
minio.exe server F:Data
Et là -bas, un lien vers un guide un peu plus détaillé . Il n'y a pas de raison de ne pas croire les instructions, donc nous lançons et obtenons une réponse comme celle-ci.
Voilà ! Le stockage fonctionne et vous pouvez commencer à l'utiliser. Je ne rigolais pas quand je disais que MinIO est du minimalisme qui fonctionne simplement. Si vous suivez le lien proposé au démarrage, les fonctions disponibles maximales sont de créer un bucket. Vous pouvez commencer à écrire des données.
Pour les amateurs de Linux, tout reste tout aussi simple. Voici les instructions les plus simples :
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /dataLe rĂ©sultat sera indiscernable de ce que nous avons vu prĂ©cĂ©demment.Â
La configuration de MinIO est un peu plus significative.
Comme nous le comprenons, le paragraphe prĂ©cĂ©dent est une farce pour des objectifs de test. Et, disons-le honnĂȘtement, nous utilisons MinIO de maniĂšre assez extensive pour des tests, et cela ne nous dĂ©range absolument pas de l'admettre. Bien sĂ»r, cela fonctionne, mais il est embarrassant d'aller au-delĂ des bancs d'essai. Donc, prenons une lime et commençons Ă peaufiner.
HTTPS
Le premier pas obligatoire vers la production est le chiffrement. Il existe déjà des millions et des milliers de manuels sur l'ajout de certificats à MiniIO, mais leur plan général est le suivant :
- Créons un certificat.
- Dans le cas de Windows, placez-le dans C:Users%User%.miniocerts.
- Dans le cas de Linux, dans ${HOME}/.minio/certs.Â
- Redémarrez le serveur.
Un banal Letâs Encrypt est ennuyeux et dĂ©crit partout, donc notre chemin est celui du samouraĂŻ, par consĂ©quent dans le cas de Windows, tĂ©lĂ©chargez , et dans le cas de Linux, vĂ©rifiez simplement si openssl est installĂ©. Et faisons un peu de magie en console :
- Créons des clés : openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key.
- Créons un certificat à partir de la clé : openssl req -new -x509 -days 3650 -key private.key -out public.crt.
- Copiez private.key et public.crt dans le dossier mentionné ci-dessus.
- Redémarrez MinIO.
Si tout s'est bien passé, le statut affichera environ ces lignes.

Activez le codage de MinIO Erasure.
D'abord, quelques mots sur le sujet. En deux mots : il s'agit d'une protection logicielle des donnĂ©es contre les dommages et la perte. Comme RAID, mais beaucoup plus fiable. Si un RAID6 classique peut perdre deux disques, MinIO peut tranquillement gĂ©rer la perte de la moitiĂ©. La technologie est dĂ©crite en dĂ©tail dans . Mais si l'on prend l'essence mĂȘme, c'est une mise en Ćuvre des codes de Reed-Solomon : toutes les informations sont stockĂ©es sous forme de blocs de donnĂ©es, avec des blocs de paritĂ©. Et il semblerait que cela ait dĂ©jĂ Ă©tĂ© fait plusieurs fois, mais il y a un « mais » important : nous pouvons spĂ©cifiquement indiquer le rapport des blocs de paritĂ© aux blocs de donnĂ©es pour les objets stockĂ©s.
Vous souhaitez 1:1 ? Pas de problĂšme !
Vous souhaitez 5:2 ? Sans souci !
Une fonction trĂšs importante si vous utilisez plusieurs nĆuds et souhaitez trouver votre propre Ă©quilibre entre la sĂ©curitĂ© maximale des donnĂ©es et les ressources utilisĂ©es. Par dĂ©faut, MinIO utilise la formule N/2 (oĂč N est le nombre total de disques), c'est-Ă -dire qu'il divise vos donnĂ©es entre N/2 disques de donnĂ©es et N/2 disques de paritĂ©. En d'autres termes, vous pouvez perdre la moitiĂ© des disques et rĂ©cupĂ©rer les donnĂ©es. Ce ratio est dĂ©fini par , vous permettant de choisir vous-mĂȘme ce qui est le plus important : la fiabilitĂ© ou la capacitĂ©.
Le guide donne cet exemple : supposons que vous ayez une installation sur 16 disques et que vous deviez conserver un fichier de 100 Mo. Si les paramÚtres par défaut sont utilisés (8 disques pour les données, 8 pour les blocs de parité), alors le fichier occupera presque le double de l'espace, c'est-à -dire 200 Mo. Si le ratio de disques est de 10/6, il faudra 160 Mo. 14/2 nécessitera 114 Mo.
Une autre diffĂ©rence importante par rapport aux RAID : en cas de dĂ©faillance de disques, MinIO fonctionnera au niveau des objets, rĂ©cupĂ©rant un Ă un, sans arrĂȘter le travail de l'ensemble du systĂšme. Alors qu'un RAID classique devra restaurer l'ensemble du volume, ce qui prendra un temps imprĂ©visible. Ă la mĂ©moire de l'auteur, une baie de disques qui a subi la perte de deux disques a Ă©tĂ© recalculĂ©e pendant une semaine et demie. C'Ă©tait assez dĂ©sagrĂ©able.
Et, une remarque importante : MinIO divise tous les disques pour le Erasure Coding en ensembles de 4 à 16 disques, utilisant la taille maximale possible de l'ensemble. Et par la suite, un élément d'information sera stocké uniquement dans un ensemble.
Tout cela a l'air formidable, mais Ă quel point la configuration sera-t-elle complexe ? Regardons cela. Prenons la commande pour dĂ©marrer et simplement listons les disques sur lesquels le stockage doit ĂȘtre créé. Si tout est fait correctement, alors dans le rapport, nous verrons le nombre de disques impliquĂ©s. Et un conseil, il ne faut pas ajouter la moitiĂ© des disques sur un seul hĂŽte, car cela pourrait entraĂźner une perte de donnĂ©es.
c:minio>minio.exe server F: G: H: I: J: K:
Ensuite, pour gérer et configurer le serveur MinIO, nous aurons besoin d'un agent, que vous pouvez télécharger tout sur le site officiel.
Pour ne pas écraser vos doigts chaque fois que vous tapez l'adresse et les clés d'accÚs (ce qui n'est pas sûr non plus), il est pratique de créer un alias dÚs le premier lancement selon la formule mc alias set [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]
mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKEOu vous pouvez immédiatement ajouter votre hÎte :
mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEYEt ensuite, nous allons créer un bucket immutable avec cette belle commande
mc mb --debug -l veeamS3/immutable
mc: PUT /immutable/ HTTP/1.1
Host: 172.17.32.52:9000
User-Agent: MinIO (windows; amd64) minio-go/v7.0.5 mc/2020-08-08T02:33:58Z
Content-Length: 0
Authorization: AWS4-HMAC-SHA256 Credential=minioadmin/20200819/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-bucket-object-lock-enabled;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Bucket-Object-Lock-Enabled: true
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20200819T092241Z
Accept-Encoding: gzip
mc: HTTP/1.1 200 OK
Content-Length: 0
Accept-Ranges: bytes
Content-Security-Policy: block-all-mixed-content
Date: Wed, 19 Aug 2020 09:22:42 GMT
Location: /immutable
Server: MinIO/RELEASE.2020-08-16T18-39-38Z
Vary: Origin
X-Amz-Request-Id: 162CA0F9A3A3AEA0
X-Xss-Protection: 1; mode=block
mc: Response Time: 253.0017msâdebug permet de voir non seulement le message final, mais aussi des informations plus dĂ©taillĂ©es.Â
-l ce qui signifie âwith-lock, ce qui signifie immutable
Si nous retournons maintenant Ă l'interface web, notre nouveau bucket apparaĂźtra lĂ .

Pour l'instant, c'est tout. Nous avons créé un stockage sĂ©curisĂ© et sommes prĂȘts Ă passer Ă l'intĂ©gration avec Veeam.
Nous pouvons également vérifier que tout fonctionne parfaitement :
c:minio>mc admin info veeamS3
â 172.17.32.52:9000
Uptime: 32 minutes
Version: 2020-08-16T18-39-38Z
Network: 1/1 OK
Drives: 6/6 OK
0 B Used, 1 Bucket, 0 Objects
6 drives online, 0 drives offlineMinIO et Veeam
Attention ! Si pour une raison improbable vous souhaitez travailler via HTTP, alors à l'adresse HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication, créez une clé DWORD SOBRArchiveS3DisableTLS. Définissez sa valeur à 1 et gardez à l'esprit que nous ne soutenons absolument pas ce comportement et ne le recommandons à personne.
Attention encore une fois ! Si, pour une raison quelconque, vous continuez Ă utiliser Windows 2008 R2, vous obtiendrez probablement une erreur similaire lors de la tentative de connexion de MinIO Ă Veeam : Ăchec de l'Ă©tablissement d'une connexion Ă l'extrĂ©mitĂ© Amazon S3. Cela peut ĂȘtre corrigĂ© avec le correctif officiel de .
Eh bien, les prĂ©paratifs sont terminĂ©s, ouvrons l'interface VBR et allons Ă l'onglet Infrastructure de sauvegarde, oĂč nous allons appeler l'assistant d'ajout d'un nouveau rĂ©fĂ©rentiel.

Bien sĂ»r, nous sommes intĂ©ressĂ©s par le stockage d'objets, notamment S3 Compatible. Dans l'assistant qui s'ouvre, nous donnons un nom, suivons les Ă©tapes en indiquant l'adresse et le compte. Si nĂ©cessaire, n'oubliez pas d'indiquer la passerelle par laquelle les requĂȘtes vers le stockage seront proxy.

Puis, nous choisissons le bucket, le dossier et cochons la case Faire en sorte que les sauvegardes récentes soient immuables. Ou pas. Mais puisque nous avons créé un stockage avec cette fonction, ce serait dommage de ne pas en profiter.

Suivant > Terminer et profiter du résultat.
Nous devons maintenant l'ajouter au dépÎt SOBR en tant que Capacity Tier. Pour cela, nous créons un nouveau dépÎt ou modifions un existant. Nous nous intéressons à l'étape Capacity Tier.

Ici, nous devons choisir selon quel scénario nous allons travailler. Tous les scénarios sont assez bien décrits dans un autre , donc je ne vais pas me répéter.
Ă la fin du travail de l'assistant, des tĂąches de copie ou de transfert de sauvegardes seront lancĂ©es automatiquement. Mais si vous ne souhaitez pas immĂ©diatement solliciter toutes les systĂšmes, veillez Ă dĂ©finir des intervalles acceptables pour le travail via le bouton FenĂȘtre.

Et, bien sĂ»r, il est possible de crĂ©er des tĂąches de Backup Copy distinctes. Certains estiment que c'est mĂȘme plus pratique, car elles sont un peu plus transparentes et prĂ©visibles pour l'utilisateur qui ne veut pas s'attarder sur les dĂ©tails du fonctionnement de la capacitĂ© tier. Et il y a suffisamment de dĂ©tails Ă ce sujet, donc je recommande Ă nouveau de consulter l'article correspondant via le lien ci-dessus.
Et enfin, la réponse à la question sournoise : que se passera-t-il si on essaie de supprimer une sauvegarde du stockage Immutable ?
Voici la réponse :

C'est tout pour aujourd'hui. Comme de coutume, voici une liste de sujets utiles sur le thĂšme :
- Manuel
- Exemple d'utilisation .
- Manuel général de configuration .
- Fil sur notre concernant les stockages S3.
Source : habr.com
