MinIo foar de lytse bern

MinIO is in poerbêste oplossing as jo objektopslach maklik en gewoan moatte organisearje. Elementêre opset, in protte platfoarms en goede prestaasjes hawwe har wurk dien op it mêd fan populêre leafde. Dat wy hiene gjin oare kar dan in moanne lyn kompatibiliteit te ferklearjen Veeam Reservekopy en replikaasje en MinIO. Ynklusyf sa'n wichtige funksje as Immutability. Yn feite, MinIO hat in gehiel ôfdieling yn 'e dokumintaasje wijd oan ús yntegraasje.

Dêrom, hjoed sille wy prate oer hoe:

  • It ynstellen fan MinIO is heul fluch.
  • It ynstellen fan MinIO is in bytsje minder fluch, mar folle better.
  • Brûk it as Argyf Tier foar Veeam SOBR Scalable Repository.

MinIo foar de lytse bern

Wat bisto?

In koarte ynlieding foar dyjingen dy't MinIO net hawwe tsjinkaam. Dit is in iepen boarne foarwerp opslach kompatibel mei de Amazon S3 API. Utjûn ûnder de Apache v2-lisinsje en hâldt him oan 'e filosofy fan Spartaansk minimalisme.

Dat is, it hat gjin útwreide GUI mei dashboards, grafiken en ferskate menu's. MinIO lanseart gewoan syn tsjinner mei ien kommando, wêr't jo gewoan gegevens kinne opslaan mei de folsleine krêft fan 'e S3 API. Mar it moat opmurken wurde dat dizze ienfâld kin wêze misleidend as it giet om de brûkte middels. RAM en CPU wurde perfekt opnomd, mar de redenen wurde hjirûnder besprutsen. En, trouwens, sokke kombinaasjes lykas FreeNAS en TrueNAS brûke MinIO ûnder de kap.

Dizze ynlieding kin hjir einigje.

It ynstellen fan MinIO is heul fluch

It ynstellen is sa fluch dat wy it sille sjen foar Windows en Linux. D'r binne opsjes foar Docker, en foar Kubernetis, en sels foar MacOS, mar de betsjutting sil oeral itselde wêze.

Dus, yn it gefal fan Windows, gean nei de offisjele webside https://min.io/download#/windows en download de lêste ferzje. Dêr sjogge wy ek ynstruksjes foar it starten:

 minio.exe server F:Data

En der is ek in keppeling nei in wat mear detaillearre Fluch begjinne guide. It hat gjin punt om de ynstruksjes net te leauwen, dus wy rinne it en krije sa'n antwurd.

MinIo foar de lytse bern
Da's alles! De opslach wurket en jo kinne dermei begjinne te wurkjen. Ik makke gjin grapke doe't ik sei dat MinIO minimalistysk is en gewoan wurket. As jo ​​​​de keppeling folgje dy't wurdt oanbean tidens lansearring, binne de maksimale beskikbere funksjes om in bak te meitsjen. En jo kinne begjinne mei it skriuwen fan gegevens.

Foar Linux-leafhawwers bliuwt alles net minder ienfâldich. De ienfâldichste ynstruksjes:


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

It resultaat sil net te ûnderskieden wêze fan wat earder waard sjoen. 

It ynstellen fan MinIO is in bytsje mear sinfol

Lykas wy begripe, is de foarige paragraaf verwennerij foar testdoelen. En lit ús earlik wêze, wy brûke MinIO heul breed foar testen, wat wy ús net skamje om ta te jaan. Fansels wurket it, mar it is spitich om dit bûten testbanken te fernearen. Dêrom nimme wy in bestân yn ús hannen en begjinne it yn 't sin te bringen.

HTTPS

De earste ferplichte stap op it paad nei produksje is fersifering. D'r binne al in miljoen en tûzen hantliedingen op it netwurk foar it tafoegjen fan sertifikaten oan MiniIO, mar har algemiene plan is dit:

  • Meitsje in sertifikaat
  • Yn it gefal fan Windows, set it yn C:Users%User%miniocerts
  • Foar Linux yn ${HOME}/.minio/certs 
  • De tsjinner opnij starte

De banale Let's Encrypt is saai en wurdt oeral beskreaun, dus ús paad is it paad fan 'e samoerai, dus yn it gefal fan Windows downloade wy Cygwin, en yn it gefal fan Linux kontrolearje wy gewoan dat wy openssl ynstalleare hawwe. En wy dogge in lytse konsole magy:

  • Meitsje kaaien: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • Wy meitsje in sertifikaat mei de kaai: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Kopiearje private.key en public.crt nei de hjirboppe spesifisearre map
  • Restart MinIO

As alles gie sa't it moat, dan sil soksawat yn 'e status ferskine.

MinIo foar de lytse bern

Ynskeakelje MinIO Erasure Coding

Earst in pear wurden oer it ûnderwerp. Yn in notedop: dit is softwarebeskerming fan gegevens tsjin skea en ferlies. As in oerfal, allinne folle mear betrouber. As klassike RAID6 kin betelje om twa skiven te ferliezen, dan kin MinIO maklik omgean mei it ferlies fan 'e helte. De technology wurdt beskreaun yn mear detail yn offisjele gids. Mar as wy de essinsje nimme, dan is dit in ymplemintaasje fan Reed-Solomon-koades: alle ynformaasje wurdt opslein yn 'e foarm fan gegevensblokken, dy't pariteitsblokken hawwe. En it liket derop dat dit alles al in protte kearen dien is, mar d'r is in wichtige "mar": wy kinne de ferhâlding fan pariteitsblokken oan gegevensblokken foar opsleine objekten eksplisyt oanjaan.
Wolle jo 1:1? Asjebleaft!
Wolle jo 5:2? Gjin probleem!

In heul wichtige funksje as jo ferskate knooppunten tagelyk brûke en jo eigen lykwicht wolle fine tusken maksimale gegevensfeiligens en bestege boarnen. Ut it fak brûkt MinIO de formule N/2 (wêr't N it totale oantal skiven is), d.w.s. splitst jo gegevens tusken N / 2 gegevens skiven en N / 2 parity skiven. Oersette yn minsklike termen: jo kinne de helte fan 'e skiven ferlieze en de gegevens weromhelje. Dizze relaasje wurdt jûn troch Opslach klasse, wêrtroch jo sels kieze kinne wat wichtiger is: betrouberens of kapasiteit.

De gids jout it folgjende foarbyld: stel dat jo in ynstallaasje hawwe op 16 skiven en jo moatte in bestân fan 100 MB yn grutte bewarje. As de standertynstellingen brûkt wurde (8 skiven foar gegevens, 8 foar pariteitsblokken), dan sil it bestân úteinlik hast dûbel it folume opnimme, d.w.s. 200 MB. As de skiifferhâlding 10/6 is, dan sil 160 MB nedich wêze. 14/2 - 114 MB.

In oar wichtich ferskil fan oerfallen: yn gefal fan skiiffalen sil MinIO wurkje op it objektnivo, ien foar ien weromsette, sûnder it hiele systeem te stopjen. Wylst in reguliere oerfal wurdt twongen om te herstellen it hiele folume, dat sil nimme in ûnfoarspelbere hoemannichte tiid. De skriuwer tinkt oan in skiifplank dy't, nei't twa skiven útfallen binne, in wike en in heal duorre om opnij te berekkenjen. It wie nochal onaangenaam.

En, in wichtige notysje: MinIO ferdielt alle skiven foar Erasure Coding yn sets fan 4 oant 16 skiven, mei de maksimale mooglike setgrutte. En yn 'e takomst sil ien elemint fan ynformaasje allinich binnen ien set wurde opslein.

Dit klinkt allegear heul cool, mar hoe lestich sil it wêze om op te setten? Litte wy ris sjen. Wy nimme it kommando om te rinnen en listje gewoan de skiven wêrop de opslach moat wurde oanmakke. As alles goed is dien, sille wy yn it rapport it oantal belutsen skiven sjen. En it advys is dat it net goed is om de helte fan 'e skiven tagelyk oan ien host te foegjen, om't dit sil liede ta gegevensferlies.

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

MinIo foar de lytse bern
Folgjende, om de MinIO-tsjinner te behearjen en te konfigurearjen, sille wy in agent nedich wêze, dy't jo kinne downloade op itselde plak fan 'e offisjele side.

Om jo fingers net elke kear as jo it adres- en tagongstoetsen typearje (en it is net feilich), is it handich om fuortendaliks in alias te meitsjen as jo earst begjinne mei it brûken fan de formule mc alias set [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]

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

Of jo kinne jo host direkt tafoegje:

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

En dan meitsje wy in ûnferoarlike bak mei in prachtich team

mc mb --debug -l veeamS3/immutable 

mc: <DEBUG> 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: <DEBUG> 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: <DEBUG> Response Time:  253.0017ms

--debug lit jo net allinich it definitive berjocht sjen, mar mear detaillearre ynformaasje. 

-l betsjut -mei-slot, dat betsjut ûnferoarlik

As wy no weromkomme nei de webynterface, sil ús nije bak dêr ferskine.

MinIo foar de lytse bern
Dat is alles foar no. Wy hawwe feilige opslach makke en binne ree om troch te gean nei yntegraasje mei Veeam.

Jo kinne ek soargje dat alles perfekt wurket:

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

Wês opsichtich! As jo ​​om ien of oare ongelooflijke reden wolle wurkje fia HTTP, dan meitsje by HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Reservekopy en replikaasje in DWORD-kaai SOBRArchiveS3DisableTLS. Stel syn wearde op 1 en tink dat wy sa'n gedrach sterk net goedkarre en it net oan elkenien oanbefelje.

Nochris oandacht! As jo, troch wat misferstân, trochgean mei it brûken fan Windows 2008 R2, as jo besykje om MinIO te ferbinen mei Veeam, sille jo nei alle gedachten in flater krije sa'n ding: Mislearre om ferbining te meitsjen mei Amazon S3-einpunt. Dit kin wurde behannele mei in offisjele patch út Microsoft.

No, de tariedingen binne foltôge, litte wy de VBR-ynterface iepenje en nei it ljepblêd Reservekopy-ynfrastruktuer gean, wêr't wy de wizard sille neame foar it tafoegjen fan in nij repository.

MinIo foar de lytse bern
Fansels binne wy ​​ynteressearre yn Object opslach, nammentlik S3 Compatible. Stel in namme yn yn 'e wizard dy't iepenet en gean troch de stappen dy't it adres en akkount oanjaan. As it nedich is, ferjit net de poarte op te jaan wêrmei fersiken nei de opslach wurde proxied.

MinIo foar de lytse bern
Selektearje dan de bak, map en selektearje it fakje Resinte backups ûnferoarlik meitsje. Of wy ynstallearje it net. Mar om't wy in opslachfoarsjenning makke hawwe dy't dizze funksje stipet, soe it in sûnde wêze om it net te brûken.

MinIo foar de lytse bern
Folgjende> Finish en genietsje fan it resultaat.

No moatte wy it tafoegje oan it SOBR-repository as in Capacity Tier. Om dit te dwaan, meitsje wy in nije oan of bewurkje in besteande. Wy binne ynteressearre yn 'e stap Capacity Tier.

MinIo foar de lytse bern
Hjir moatte wy kieze hokker senario wy sille wurkje mei. Alle opsjes wurde beskreaun frij goed yn in oar artikel, dus ik sil my net werhelje

En nei it foltôgjen fan 'e wizard wurde taken foar it kopiearjen of oerdragen fan backups automatysk lansearre. Mar as jo plannen net omfetsje it fuortdaliks pleatsen fan de lading op alle systemen, wês dan wis dat jo akseptabele yntervallen ynstelle foar wurkjen op 'e Finster knop.

MinIo foar de lytse bern
En, fansels, kinne jo aparte reservekopy-taken dwaan. Guon leauwe dat dit noch handiger is, om't se wat transparanter en foarsisber binne foar de brûker dy't net wolle ferdjipje yn 'e details fan' e operaasje fan 'e sjitbaan. En d'r binne genôch details dêr, dus ik advisearje nochris it oerienkommende artikel op 'e keppeling hjirboppe.

En as lêste, it antwurd op 'e ferriederlike fraach: wat sil der barre as jo noch besykje de reservekopy te wiskjen fan' e Immutable opslach?

Hjir is it antwurd:

MinIo foar de lytse bern
Dat is alles foar hjoed. Fang yn wiere tradysje in list mei nuttige ûnderwerpen oer it ûnderwerp:

Boarne: www.habr.com

Add a comment