MinIO je odlično rješenje kada jednostavno i lako želite organizirati objekte pohrane. Elementarna konfiguracija, mnoštvo platformi i dobra izvedba učinili su svoje na području narodne ljubavi. Stoga nismo imali drugog izbora nego prije mjesec dana objaviti kompatibilnost . Uključujući tako važnu funkciju kao što je Immutability. Zapravo, MinIO ima čitav u dokumentaciji posvećenoj našoj integraciji.
Zato ćemo danas govoriti o tome kako:
- Vrlo brzo postaviti MinIO.
- Postaviti MinIO nešto sporije, ali značajno kvalitetnije.
- Koristiti ga kao Archive Tier za skalabilni Veeam SOBR repozitorij.

Što si ti?
Kratki uvod za one koji se nisu susreli s MinIO. Ovo je open-source objektno skladište kompatibilno s Amazon S3 API. Izdaje se pod Apache v2 licencom i pridržava se filozofije spartanskog minimalizma.
To jest, nema raskošnog GUI sa nadzornim pločama, grafikonima i brojnim izbornicima. MinIO jednostavno pokreće svoj poslužitelj jednom naredbom, na kojem se mogu jednostavno pohranjivati podaci, koristeći punu moć S3 API. Međutim, važno je napomenuti da ova jednostavnost može biti varljiva kada se radi o korištenim resursima. RAM i CPU se savršeno troše, ali o uzrocima ćemo govoriti kasnije. Usput, takvi strojevi kao FreeNAS i TrueNAS koriste upravo MinIO.
S tim možemo završiti uvod.
Postavljanje MinIO vrlo brzo
Postavljanje je toliko brzo da ćemo ga prikazati za Windows i Linux. Tu su i opcije za Docker, Kubernetes, pa čak i za macOS, ali smisao će svuda biti isti.
Dakle, u slučaju Windows idemo na službenu stranicu i preuzimamo najnoviju verziju. Tamo također možete vidjeti upute za pokretanje:
minio.exe server F:Data
I tu je i link na malo opširniji . Nema smisla ne vjerovati uputama, stoga pokrećemo i dobivamo otprilike ovakav odgovor.
To je sve! Skladište radi i možete početi raditi s njim. Nije bila šala kada sam rekao da je MinIO minimalizam i jednostavno radi. Ako slijedite link predložen prilikom pokretanja, maksimum dostupnih funkcija je kreirati bucket. I možete početi pisati podatke.
Za ljubitelje Linuxa sve ostaje jednako jednostavno. Najjednostavnija uputa:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /dataRezultat će biti neodvojiv od onog viđenog ranije.
Podešavanje MinIO-a je malo smislenije.
Kako razumijemo, prethodni odlomak je zapravo igračka za testne svrhe. I, da budemo iskreni, upravo zbog testiranja MinIO-a ga veoma široko koristimo, za što se ne stidimo priznati. Naravno, radi, ali je sramotno preći na stvarne postavke bez doterivanja. Zato uzimamo datoteku za doterivanje i počinjemo da je usavršavamo.
HTTPS
Prvi obavezni korak na putu ka produkciji je šifrovanje. Na mreži već postoji milion i jedna uputstva o dodavanju sertifikata MinIO-u, ali njihov osnovni plan je sledeći:
- Stvaramo sertifikat.
- U slučaju Windows-a, stavljamo ga u C:\Users\%User%\.minio\certs
- U slučaju Linux-a u ${HOME}/.minio/certs
- Ponovo pokrećemo server.
Obični Let’s Encrypt je dosadan i svuda opisan, tako da je naš put put samuraja, pa u slučaju Windows-a preuzimamo , a u slučaju Linux-a samo proveravamo da li imamo instaliran openssl. I pravimo malo konzolne magije:
- Stvaramo ključeve: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
- Stvaramo sertifikat po ključiću: openssl req -new -x509 -days 3650 -key private.key -out public.crt
- Kopiramo private.key i public.crt u gorenavedenu fasciklu.
- Ponovo pokrećemo MinIO.
Ako je sve prošlo kako treba, status će sadržavati otprilike ovakve redove.

Uključujemo MinIO Erasure Coding.
Prvo par reči o temi. Ukratko: to je softverska zaštita podataka od oštećenja i gubitka. Kao RAID, samo mnogo pouzdanije. Ako klasični RAID6 može da podnese gubitak dva diska, MinIO bez problema podnosi gubitak polovine. Detaljnije informacije o tehnologiji mogu se naći u . Ali ako uzmemo suštinu, to je implementacija Reed-Solomon kodova: sve informacije se čuvaju u obliku podataka blokova, uz koji postoje paritet blokovi. I čini se da je to već mnogo puta urađeno, ali postoji važno „ali“: možemo jasno odrediti odnos paritet blokova prema blokovima podataka za pohranjene objekte.
Želite 1:1? Molimo!
Želite 5:2? Nema problema!
Vrlo važna funkcija ako koristite više nodova i želite pronaći vlastitu ravnotežu između maksimalne sigurnosti podataka i potrošenih resursa. Izravno, MinIO koristi formulu N/2 (gdje je N ukupni broj diskova), tj. dijeli vaše podatke između N/2 diskova podataka i N/2 diskova parnosti. Prijevod na ljudski: možete izgubiti polovicu diskova i povratiti podatke. Omjer se postavlja preko , omogućujući vam da sami odaberete što je važnije: pouzdanost ili kapacitet.
U vodiču je naveden primjer: pretpostavimo da imate instalaciju na 16 diskova i trebate pohraniti datoteku veličine 100 MB. Ako koristite postavke prema zadanim postavkama (8 diskova za podatke, 8 za blokove parnosti), datoteka će zauzeti praktički dvostruki volumen tj. 200 MB. Ako je omjer diskova 10/6, bit će potrebno 160 MB. 14/2 — 114 MB.
Druga važna razlika od raidova: u slučaju gubitka diskova, MinIO će raditi na razini objekata, obnavljajući jedan po jedan, ne zaustavljajući rad cijelog sustava. Dok će obični raid morati obnavljati cijeli volumen, što će trajati nepredvidivo vrijeme. Na sjećanje autora, diskovna polica koja je nakon gubitka dva diska bila na proračunu više od tjedan i pol. Bilo je prilično neugodno.
I, važno je napomenuti: MinIO dijeli sve diskove za Erasure Coding u setove od 4 do 16 diskova, koristeći maksimalnu moguću veličinu seta. I kasnije, jedan element informacija bit će pohranjen samo unutar jednog seta.
Sve ovo zvuči jako dobro, ali koliko će teško biti postaviti? Pogledajmo. Uzimamo naredbu za pokretanje i jednostavno nabrajamo diskove na kojima treba stvoriti pohranu. Ako je sve napravljeno ispravno, u izvješću ćemo vidjeti broj korištenih diskova. I savjet, nije preporučljivo dodavati odmah polovicu diskova na jedan host, jer to vodi gubitku podataka.
c:minio>minio.exe server F: G: H: I: J: K:
Nakon toga, za upravljanje i konfiguriranje MinIO servera trebat će nam agent, koji možete preuzeti s službene stranice.
Kako ne bi brisali prste, svaki put kada upisujete adresu i pristupne ključeve (a ni to nije sigurno), korisno je pri prvom pokretanju odmah stvoriti alias prema formuli mc alias set [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]
mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKEIli možete odmah dodati vaš host:
mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEYA zatim ćemo stvoriti immutable bucket s prekrasnom komandom
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 omogućuje pregled ne samo završne poruke, već i opširnije informacije.
-l to znači —with-lock, što znači immutable
Ako se sada vratimo u web sučelje, vidjet ćemo naš novi bucket.

Trenutno je to sve. Stvorili smo zaštićeno spremište i spremni smo za integraciju s Veeamom.
Možemo se još uvjeriti da sve radi savršeno:
c:minio>mc admin info veeamS3
● 172.17.32.52:9000
Uptime: 32 minute
Verzija: 2020-08-16T18:39:38Z
Mreža: 1/1 OK
Disci: 6/6 OK
0 B Korišteno, 1 Bucket, 0 Objekata
6 diskova online, 0 diskova offlineMinIO i Veeam
Pažnja! Ako iz bilo kojeg nevjerojatnog razloga želite raditi preko HTTP-a, stvorite DWORD ključ na putu HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication SOBRArchiveS3DisableTLS. Postavite njegovu vrijednost na 1 i zapamtite da takvo ponašanje odlučno ne odobravamo i nikome ne savjetujemo.
Pazite još jednom! Ako iz nekog nesporazuma nastavite koristiti Windows 2008 R2, vjerojatno ćete dobiti otprilike ovu pogrešku prilikom pokušaja povezivanja MinIO-a s Veeamom: Failed to establish connection to Amazon S3 endpoint. To se rješava službenim patchom od .
Pa, s pripremama je gotovo, otvorimo sučelje VBR-a i pređimo na karticu Backup Infrastructure, gdje ćemo pokrenuti čarobnjaka za dodavanje novog repozitorija.

Naravno, zanima nas Object storage, a posebno S3 Compatible. U otvorenom čarobnjaku postavite ime, prođite korake s navođenjem adrese i korisničkog računa. Ako je potrebno, ne zaboravite navesti gateway kroz koji će se proslijediti zahtjevi za spremištem.

Nakon toga odaberite bucket, mapu i stavite kvačicu na Make recent backups immutable. Ili ne stavite. Ali s obzirom da smo napravili spremište s podrškom za tu funkciju, bilo bi šteta ne iskoristiti.

Next > Finish i uživajte u rezultatu.
Sada ga treba dodati u SOBR repozitorij kao Capacity Tier. Da bismo to učinili, možemo napraviti novi ili urediti postojeći. Interesira nas korak Capacity Tier.

Ovdje trebamo odabrati po kojem scenariju ćemo raditi. Svi su pokazatelji prilično dobro opisani u drugom , pa se neću ponavljati.
Na kraju rada čarobnjaka automatski će biti pokrenuti zadaci za kopiranje ili premještanje backupova. No, ako u vaše planove ne spada odmah opteretiti sve sustave, obavezno postavite dozvoljene intervale za rad putem dugmeta Window.

I, naravno, moguće je napraviti zasebne Backup Copy zadatke. Neki smatraju da je to čak i praktičnije, jer su oni nešto transparentniji i predvidljiviji za korisnika koji ne želi ulaziti u detalje rada kapacitetnog tira. A detalja tu ima, pa još jednom preporučujem odgovarajući članak na linku iznad.
I na kraju — odgovor na podmuklo pitanje: što će se zapravo dogoditi ako pokušaš obrisati backup iz Immutable spremnika?
Evo odgovora:

Na tome za danas zaustavljamo. Prema dobroj tradiciji, uhvatite popis korisnih tema o ovoj temi:
- Priručnik
- Primjer korištenja .
- Opći priručnik za podešavanje .
- Grana na našem o S3 spremištima.
Izvor: habr.com
