MinIo voor de kleinsten

MinIO is een uitstekende oplossing wanneer je eenvoudig en snel een objectopslag wilt organiseren. Eenvoudige configuratie, veel platforms en goede prestaties hebben bijgedragen aan de populaire acceptatie. Daarom was er niets anders voor ons dan een maand geleden de compatibiliteit aan te geven. Veeam Backup & Replication en MinIO. Inclusief zo'n belangrijke functie als Immutability. In feite heeft MinIO een hele sectie in de documentatie gewijd aan onze integratie.

Dus vandaag gaan we het hebben over hoe:

  • MinIO heel snel in te stellen.
  • MinIO iets minder snel in te stellen, maar aanzienlijk beter.
  • Het te gebruiken als Archive Tier voor een schaalbare Veeam SOBR-repository.

MinIo voor de kleinsten

Wat ben jij?

Een korte inleiding voor degenen die niet met MinIO hebben gewerkt. Dit is een open source objectopslag dat compatibel is met de Amazon S3 API. Het wordt uitgegeven onder de Apache v2-licentie en volgt de filosofie van spartaans minimalisme.

Dat betekent dat het geen uitgebreide GUI heeft met dashboards, grafieken en talloze menu's. MinIO start gewoon zijn server met ƩƩn commando, waarop je eenvoudig gegevens kunt opslaan en gebruik kunt maken van de volledige kracht van de S3 API. Maar het moet worden opgemerkt dat deze eenvoud misleidend kan zijn als het gaat om de gebruikte middelen. RAM en CPU worden uitstekend gebruikt, maar daarover later meer. En terzijde opmerking, zulke combinatie-oplossingen zoals FreeNAS en TrueNAS gebruiken onder de motorkap precies MinIO.

Hiermee kan de inleiding worden afgesloten.

MinIO instellen is heel snel

Het instellen is zo snel dat we het zullen behandelen voor Windows en Linux. Er zijn ook opties voor Docker en Kubernetes, en zelfs voor macOS, maar het principe is overal hetzelfde.

Dus, in het geval van Windows, gaan we naar de officiƫle website https://min.io/download#/windows en downloaden de laatste versie. Daar zien we ook de instructies voor het opstarten:

 minio.exe server F:Data

En daar is ook de link naar een iets uitgebreider Quick start guide. De instructies zijn betrouwbaar, dus we starten op en krijgen ongeveer dit antwoord.

MinIo voor de kleinsten
Dat is alles! De opslag werkt en je kunt ermee aan de slag. Ik was niet aan het grappen, toen ik zei dat MinIO minimalisme is en gewoon werkt. Als je op de link klikt die bij de opstart werd voorgesteld, zijn de maximaal beschikbare functies daar alleen het maken van een bucket. En je kunt beginnen met het opslaan van gegevens.

Voor Linux-liefhebbers blijft alles minstens zo eenvoudig. De eenvoudigste instructie:


wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

Het resultaat zal niet te onderscheiden zijn van wat eerder gezien is.Ā 

De configuratie van MinIO is iets meer doordacht.

Zoals we begrijpen, is de vorige alinea gewoon onzin voor testdoeleinden. En laten we eerlijk zijn, we gebruiken MinIO heel breed voor tests, waar we absoluut niet beschaamd over zijn. Natuurlijk werkt het, maar om verder te gaan dan testomgevingen is dit iets om je voor te schamen. Dus nemen we een vijl in de hand en beginnen we het verder te perfectioneren.

HTTPS

De eerste verplichte stap op weg naar productie is encryptie. Er zijn al miljoenen handleidingen beschikbaar voor het toevoegen van certificaten aan MinIO, maar het algemene plan is als volgt:

  • We creĆ«ren een certificaat.
  • In het geval van Windows plaatsen we het in C:Users%User%.miniocerts.
  • In het geval van Linux in ${HOME}/.minio/certs.Ā 
  • We herstarten de server.

De alledaagse Let’s Encrypt is saai en overal beschreven, dus onze weg is die van de samoerai. Daarom downloaden we in het geval van Windows. Cygwin, en in het geval van Linux controleren we gewoon of openssl is geĆÆnstalleerd. En we doen iets console-magie:

  • We creĆ«ren sleutels: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key.
  • We creĆ«ren een certificaat met de sleutel: openssl req -new -x509 -days 3650 -key private.key -out public.crt.
  • We kopiĆ«ren private.key en public.crt naar de hierboven genoemde map.
  • We herstarten MinIO.

Als alles goed is gegaan, verschijnen er ongeveer zulke regels in de status.

MinIo voor de kleinsten

We schakelen MinIO Erasure Coding in.

Eerst een paar woorden over het onderwerp. In het kort: dit is een softwarematige bescherming van gegevens tegen beschadiging en verlies. Zoals RAID, maar veel betrouwbaarder. Als klassiek RAID6 zich kan permitteren om twee schijven te verliezen, dan overleeft MinIO comfortabel het verlies van de helft. Meer gedetailleerde technologie wordt beschreven in de officiƫle gids.. Maar als we naar de kern kijken, is dit de implementatie van de Reed-Solomon codes: alle informatie wordt opgeslagen in de vorm van datablocks, waarvoor pariteitsblocks bestaan. En het lijkt erop dat dit al vele malen is gedaan, maar er is ƩƩn belangrijk 'maar': we kunnen expliciet de verhouding van pariteitsblocks tot datablocks voor opgeslagen objecten opgeven.
Wil je 1:1? Alsjeblieft!
Wil je 5:2? Geen probleem!

Een zeer belangrijke functie als je meerdere knooppunten gebruikt en je je eigen balans tussen maximale gegevensbeveiliging en gebruikte middelen wilt vinden. Standaard gebruikt MinIO de formule N/2 (waarbij N het totale aantal schijven is), wat betekent dat het je gegevens verdeelt tussen N/2 dataschijven en N/2 pariteitschijven. In begrijpelijke termen: je kunt de helft van de schijven verliezen en de gegevens herstellen. Deze verhouding wordt ingesteld via Opslagklasse, waardoor je zelf kunt kiezen wat belangrijker is: betrouwbaarheid of capaciteit.

In de handleiding staat een voorbeeld: stel dat je een installatie hebt met 16 schijven en je moet een bestand van 100 MB opslaan. Als de standaardinstellingen worden gebruikt (8 schijven voor gegevens, 8 voor pariteitsblokken), dan neemt het bestand praktisch het dubbele volume in beslag, dus 200 MB. Als de verhouding schijven 10/6 is, dan zijn er 160 MB nodig. 14/2 vereist 114 MB.

Een ander belangrijk verschil met RAID: in het geval van schijfuitval blijft MinIO op objectniveau werken, waarbij het een voor een herstelt, zonder de hele systeemeenheid te stoppen. Terwijl een gewone RAID gedwongen zal zijn om de hele volume te herstellen, wat een onvoorspelbare hoeveelheid tijd in beslag zal nemen. Naar de herinnering van de auteur ging een schap dat na de uitval van twee schijven werd gerepareerd, een week bezig met opnieuw tellen. Dit was zeer vervelend.

En een belangrijk opmerking: MinIO verdeelt alle schijven voor Erasure Coding in sets van 4 tot 16 schijven en gebruikt de maximaal mogelijke setgrootte. Verder zal ƩƩn informatie-element alleen binnen een enkele set worden opgeslagen.

Het klinkt allemaal geweldig, maar hoe lastig zal de configuratie zijn? Laten we eens kijken. We nemen een commando om te starten en vermelden eenvoudigweg de schijven waarop de opslag moet worden gemaakt. Als alles correct is gedaan, zien we in het rapport het aantal gebruikte schijven. En een advies is dat het niet wijs is om onmiddellijk de helft van de schijven op ƩƩn host toe te voegen, omdat dit kan leiden tot gegevensverlies.

c:minio>minio.exe server F: G: H: I: J: K:

MinIo voor de kleinsten
Daarna hebben we een agent nodig om de MinIO-server te beheren en in te stellen, deze kan volledig worden gedownload daarzelfde van de officiƫle website.

Om niet steeds je vingers te vervuilen bij het invoeren van het adres en de toegangssleutels (en dat is ook onveilig), is het handig om bij de eerste keer dat je het opstart meteen een alias te maken volgens de formule mc alias set [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]

mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKE

Of kunt u uw host direct toevoegen:

mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEY

En dan maken we een immutable bucket met dit mooie commando

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 laat zien dat niet alleen de eindboodschap, maar ook meer uitgebreide informatie wordt weergegeven.Ā 

-l dat betekent —with-lock, wat immutable betekent

Als we nu teruggaan naar de webinterface, zal onze nieuwe bucket daar verschijnen.

MinIo voor de kleinsten
Dat is alles tot nu toe. We hebben een beveiligde opslag gemaakt en zijn klaar om verder te gaan met de integratie met Veeam.

We kunnen ook controleren of alles perfect werkt:

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 offline

MinIO en Veeam

Let op! Als u om een of andere ongelooflijke reden via HTTP wilt werken, kunt u in de registerlocatie HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication een DWORD-sleutel aanmaken SOBRArchiveS3DisableTLS. Stel de waarde in op 1 en onthoud dat we dit gedrag ten zeerste afkeuren en aan niemand aanraden.

Let nogmaals op! Als u om een of andere reden Windows 2008 R2 blijft gebruiken, krijgt u waarschijnlijk een foutmelding zoals: Failed to establish connection to Amazon S3 endpoint. Dit kan worden opgelost met de officiƫle patch van Microsoft.

Nou, de voorbereidingen zijn voorbij, laten we de VBR-interface openen en naar het tabblad Backup Infrastructure gaan, waar we de wizard voor het toevoegen van een nieuwe repository zullen starten.

MinIo voor de kleinsten
Natuurlijk zijn we geĆÆnteresseerd in Object storage, en specifiek in S3 Compatible. In de geopende wizard geven we een naam op, doorlopen de stappen met het opgeven van het adres en account. Vergeet niet de gateway op te geven waaronder de verzoeken naar de opslag zullen worden doorgegeven, indien nodig.

MinIo voor de kleinsten
Daarna selecteren we de bucket, de map en vinken we de optie Make recent backups immutable aan. Of niet. Maar aangezien we opslag met deze functie hebben gemaakt, zou het zonde zijn om er geen gebruik van te maken.

MinIo voor de kleinsten
Volgende > Voltooien en geniet van het resultaat.

Nu moet je het toevoegen aan het SOBR-repository als Capacity Tier. Hiervoor maken we een nieuwe of bewerken we een bestaande. We zijn geĆÆnteresseerd in de stap Capacity Tier.

MinIo voor de kleinsten
Hier moeten we kiezen volgens welk scenario we gaan werken. Alle opties zijn vrij goed beschreven in een andere artikel, dus ik zal niet herhalen

En na het voltooien van de wizard worden de taken voor het kopiƫren of verplaatsen van back-ups automatisch gestart. Maar als je niet van plan bent om onmiddellijk een belasting op alle systemen te leggen, zorg dan dat je toelaatbare tijdsintervallen stelt voor het werk via de knop Window.

MinIo voor de kleinsten
En natuurlijk kunnen we aparte Backup Copy-taken maken. Sommigen beschouwen dit als zelfs handiger, omdat ze iets transparanter en voorspelbaarder zijn voor gebruikers die niet in de details van het functioneren van de capacity tier willen duiken. En er zijn genoeg details, dus ik raad nogmaals het bijbehorende artikel via de bovenstaande link aan.

En tot slot — het antwoord op de sluwe vraag: wat gebeurt er als je toch probeert een back-up uit de Immutable opslag te verwijderen?

Hier is het antwoord:

MinIo voor de kleinsten
Dat is alles voor vandaag. Volg in de goede traditie de lijst met nuttige onderwerpen over het onderwerp:

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster