MinIo pentru cei mici

MinIO este o soluție excelentă atunci când trebuie să organizați ușor și simplu depozitarea obiectelor. Configurație elementară, multe platforme și performanțe bune și-au făcut treaba în domeniul iubirii populare. Așa că nu am avut altă opțiune decât să declarăm compatibilitatea acum o lună Veeam Backup & Replication și MiniIO. Inclusiv o caracteristică atât de importantă precum Imuabilitatea. De fapt, MinIO are un întreg secțiune în documentația dedicată integrării noastre.

Prin urmare, astăzi vom vorbi despre cum:

  • Configurarea MiniIO este foarte rapidă.
  • Configurarea MiniIO este puțin mai puțin rapidă, dar mult mai bună.
  • Utilizați-l ca nivel de arhivă pentru depozitul scalabil Veeam SOBR.

MinIo pentru cei mici

Ce ești tu?

O scurtă introducere pentru cei care nu au întâlnit MinIO. Acesta este un obiect de stocare open source compatibil cu API-ul Amazon S3. Lansat sub licența Apache v2 și aderă la filozofia minimalismului spartan.

Adică nu are o interfață grafică extinsă cu tablouri de bord, grafice și numeroase meniuri. MinIO pur și simplu își lansează serverul cu o singură comandă, unde puteți stoca pur și simplu date folosind întreaga putere a API-ului S3. Dar trebuie remarcat faptul că această simplitate poate fi înșelătoare când vine vorba de resursele folosite. RAM și CPU sunt absorbite perfect, dar motivele vor fi discutate mai jos. Și, apropo, combine precum FreeNAS și TrueNAS folosesc MiniIO sub capotă.

Această introducere se poate încheia aici.

Configurarea MiniIO este foarte rapidă

Configurarea este atât de rapidă încât ne vom uita la ea pentru Windows și Linux. Există opțiuni pentru Docker, și pentru Kubernetis și chiar și pentru MacOS, dar semnificația va fi aceeași peste tot.

Deci, în cazul Windows, accesați site-ul oficial https://min.io/download#/windows și descărcați cea mai recentă versiune. Acolo vedem și instrucțiuni pentru pornire:

 minio.exe server F:Data

Și există și un link către unul puțin mai detaliat Ghid de inițiere rapidă. Nu are rost să nu credem instrucțiunile, așa că îl rulăm și obținem ceva de genul acesta.

MinIo pentru cei mici
Asta e tot! Stocarea funcționează și puteți începe să lucrați cu el. Nu glumeam când am spus că MinIO este minimalist și funcționează. Dacă urmați linkul oferit în timpul lansării, funcțiile maxime disponibile sunt crearea unei găleți. Și puteți începe să scrieți date.

Pentru iubitorii de Linux, totul rămâne nu mai puțin simplu. Cele mai simple instrucțiuni:


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

Rezultatul va fi imposibil de distins de ceea ce s-a văzut anterior. 

Configurarea MiniIO este puțin mai semnificativă

După cum înțelegem, paragraful anterior este răsfăț în scopuri de testare. Și, să fim sinceri, folosim MinIO pe scară largă pentru testare, ceea ce nu ne este deloc rușine să recunoaștem. Desigur, funcționează, dar este păcat să suporti asta dincolo de bancurile de testare. Prin urmare, luăm un dosar în mâini și începem să-l aducem în minte.

HTTPS

Primul pas obligatoriu pe calea către producție este criptarea. Există deja un milion și o mie de manuale în rețea pentru adăugarea de certificate la MiniIO, dar planul lor general este acesta:

  • Creați un certificat
  • În cazul Windows, puneți-l în C:Users%User%.miniocerts
  • Pentru Linux în ${HOME}/.minio/certs 
  • Repornirea serverului

Banalul Let's Encrypt este plictisitor și este descris peste tot, așa că calea noastră este calea samurailor, așa că în cazul Windows-ului descarcăm Cygwin, iar în cazul Linux pur și simplu verificăm dacă avem openssl instalat. Și facem puțină magie pe consolă:

  • Creați chei: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • Creăm un certificat folosind cheia: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Copiați private.key și public.crt în folderul specificat mai sus
  • Reporniți MinIO

Dacă totul a mers așa cum ar trebui, atunci ceva de genul acesta va apărea în stare.

MinIo pentru cei mici

Activați codarea de ștergere MinIO

În primul rând, câteva cuvinte despre subiect. Pe scurt: aceasta este protecția software a datelor împotriva deteriorării și pierderii. Ca un raid, doar mult mai de încredere. Dacă RAID6 clasic își poate permite să piardă două discuri, atunci MiniIO poate face față cu ușurință pierderii a jumătate. Tehnologia este descrisă mai detaliat în ghid oficial. Dar dacă luăm esența, atunci aceasta este o implementare a codurilor Reed-Solomon: toate informațiile sunt stocate sub formă de blocuri de date, care au blocuri de paritate. Și se pare că toate acestea au fost deja făcute de multe ori, dar există un „dar” important: putem indica în mod explicit raportul dintre blocurile de paritate și blocurile de date pentru obiectele stocate.
Vrei 1:1? Vă rog!
Vrei 5:2? Nici o problemă!

O caracteristică foarte importantă dacă utilizați mai multe noduri simultan și doriți să găsiți propriul echilibru între securitatea maximă a datelor și resursele consumate. Din cutie, MinIO folosește formula N/2 (unde N este numărul total de discuri), adică. împarte datele dvs. între N/2 discuri de date și N/2 discuri de paritate. Traducerea în termeni umani: puteți pierde jumătate din discuri și puteți recupera datele. Această relație este dată prin Clasa de stocare, permițându-vă să alegeți singur ceea ce este mai important: fiabilitatea sau capacitatea.

Ghidul oferă următorul exemplu: să presupunem că aveți o instalare pe 16 discuri și trebuie să salvați un fișier de 100 MB în dimensiune. Dacă sunt utilizate setările implicite (8 discuri pentru date, 8 pentru blocuri de paritate), atunci fișierul va ocupa în cele din urmă aproape dublu volum, adică. 200 MB. Dacă raportul de disc este 10/6, atunci va fi necesar 160 MB. 14/2 - 114 MB.

O altă diferență importantă față de raiduri: în cazul defecțiunii discului, MinIO va funcționa la nivel de obiect, restabilind unul câte unul, fără a opri întregul sistem. În timp ce un raid obișnuit va fi forțat să restabilească întregul volum, ceea ce va dura o perioadă de timp imprevizibilă. Autorul își amintește un raft de discuri care, după ce două discuri au căzut, a durat o săptămână și jumătate pentru a-l recalcula. A fost destul de neplăcut.

Și, o notă importantă: MinIO împarte toate discurile pentru codificarea ștergerii în seturi de la 4 la 16 discuri, folosind dimensiunea maximă posibilă a setului. Și în viitor, un element de informații va fi stocat doar într-un singur set.

Toate acestea sună foarte bine, dar cât de greu va fi de configurat? Să aruncăm o privire. Luăm comanda pentru a rula și pur și simplu listăm discurile pe care trebuie creat stocarea. Dacă totul este făcut corect, atunci în raport vom vedea numărul de discuri implicate. Și sfatul este că nu este bine să adăugați jumătate din discuri la o singură gazdă deodată, pentru că acest lucru va duce la pierderea datelor.

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

MinIo pentru cei mici
În continuare, pentru a gestiona și configura serverul MinIO, vom avea nevoie de un agent, pe care îl puteți descărca Acolo de pe site-ul oficial.

Pentru a nu vă uza degetele de fiecare dată când introduceți adresa și cheile de acces (și nu este sigur), este convenabil să creați imediat un alias atunci când începeți să utilizați formula mc alias set [CHEIA-DVS.-ACCES] [CHEIA-TA-SECRETA]

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

Sau puteți adăuga imediat gazda:

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

Și apoi vom crea o găleată imuabilă cu o echipă frumoasă

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

--depanare vă permite să vedeți nu doar mesajul final, ci și informații mai detaliate. 

-l înseamnă —cu blocare, ceea ce înseamnă imuabil

Dacă ne întoarcem acum la interfața web, noul nostru bucket va apărea acolo.

MinIo pentru cei mici
Asta este tot pentru acum. Am creat stocare securizată și suntem gata să trecem la integrarea cu Veeam.

De asemenea, vă puteți asigura că totul funcționează perfect:

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 și Veeam

Atenție! Dacă dintr-un motiv incredibil doriți să lucrați prin HTTP, atunci la HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication creați o cheie DWORD SOBRArchiveS3DisableTLS. Setați-i valoarea la 1 și amintiți-vă că nu aprobăm cu fermitate un astfel de comportament și nu îl recomandăm nimănui.

Atentie din nou! Dacă, din cauza unor neînțelegeri, continuați să utilizați Windows 2008 R2, atunci când încercați să conectați MiniIO la Veeam, cel mai probabil veți primi o eroare de genul acesta: Nu s-a putut stabili conexiunea la punctul final Amazon S3. Acest lucru poate fi tratat cu un plasture oficial de la Microsoft.

Ei bine, pregătirile sunt finalizate, să deschidem interfața VBR și să mergem la fila Backup Infrastructure, unde vom apela vrăjitorul pentru adăugarea unui nou depozit.

MinIo pentru cei mici
Desigur, ne interesează stocarea de obiecte, și anume S3 Compatible. În vrăjitorul care se deschide, setați un nume și parcurgeți pașii indicând adresa și contul. Dacă este necesar, nu uitați să specificați poarta prin care vor fi trimise cererile către depozit.

MinIo pentru cei mici
Apoi selectați găleata, folderul și bifați caseta Faceți imuabile copiile de rezervă recente. Sau nu îl instalăm. Dar, din moment ce am realizat o unitate de depozitare care susține această funcție, ar fi un păcat să nu o folosim.

MinIo pentru cei mici
Următorul > Termină și bucură-te de rezultat.

Acum trebuie să-l adăugăm la depozitul SOBR ca nivel de capacitate. Pentru a face acest lucru, fie creăm unul nou, fie edităm unul existent. Suntem interesați de etapa Capacity Tier.

MinIo pentru cei mici
Aici trebuie să alegem cu ce scenariu vom lucra. Toate opțiunile sunt descrise destul de bine în alta articol, așa că nu mă voi repeta

Iar după finalizarea vrăjitorului, sarcinile de copiere sau transfer de copii de rezervă vor fi lansate automat. Dar dacă planurile dvs. nu includ plasarea imediată a sarcinii pe toate sistemele, atunci asigurați-vă că setați intervale acceptabile pentru lucrul pe butonul Fereastră.

MinIo pentru cei mici
Și, desigur, puteți face sarcini separate de copiere de rezervă. Unii cred că acest lucru este și mai convenabil, deoarece sunt oarecum mai transparente și mai previzibile pentru utilizatorul care nu dorește să se aprofundeze în detaliile funcționării poligonului de tragere. Și sunt suficiente detalii acolo, așa că încă o dată recomand articolul corespunzător la linkul de mai sus.

Și în sfârșit, răspunsul la întrebarea perfidă: ce se va întâmpla dacă tot încercați să ștergeți backup-ul din stocarea Immutable?

Iată răspunsul:

MinIo pentru cei mici
Asta e tot pentru azi. În adevărata tradiție, prindeți o listă de subiecte utile pe această temă:

Sursa: www.habr.com

Adauga un comentariu