MinIO — odlično rešenje kada je potrebno lako i jednostavno organizovati objekatno skladište. Elementarna konfiguracija, mnoge platforme i dobra performansa su učinile svoje na nivou narodne ljubavi. Nismo imali drugog izbora, nego da pre mesec dana obavestimo o kompatibilnosti . Uključujući tako važnu funkciju kao što je Immutability. U stvarnosti, MinIO ima ceo u dokumentaciji posvećenoj našoj integraciji.
Zato ćemo danas govoriti o tome kako:
- Brzo konfigurirati MinIO.
- Konfigurisati MinIO malo manje brzo, ali značajno kvalitetnije.
- Koristiti ga kao Archive Tier za skalabilni repozitorijum Veeam SOBR.

Šta si ti?
Kratko uvodno za one koji se nisu sreli sa MinIO. To je open-source objekatno skladište, kompatibilno sa Amazon S3 API. Izdaje se pod Apache v2 licencom i drži se filozofije spartanskog minimalizma.
Dakle, nema raskošnog GUI-ja sa kontrolnim panelima, grafikonima i brojnim menijima. MinIO samo pokreće svoj server jednim komandnim redom, na kome se mogu jednostavno čuvati podaci, koristeći svu moć S3 API. Međutim, treba napomenuti da ova jednostavnost može biti obmanjujuća kada je reč o korišćenim resursima. RAM i CPU se odlično koriste, ali o razlozima će biti reči kasnije. I, usput, takvi kombajni kao FreeNAS i TrueNAS koriste upravo MinIO pod haubom.
Na ovom uvodu možemo i završiti.
Podešavanje MinIO je vrlo brzo
Podešavanje je toliko brzo da ćemo ga razmotriti za Windows i Linux. Ima opcija i za Docker, i za Kubernetes, i čak za macOS, ali smisao će biti svuda isti.
Dakle, u slučaju Windows-a idemo na zvaničnu stranicu i preuzimamo poslednju verziju. Tamo takođe možemo videti uputstvo za pokretanje:
minio.exe server F:Data
I tu je i link na malo detaljniju . Uputstvima nema smisla ne verovati, pa pokrećemo i dobijamo otprilike ovakav odgovor.
To je to! Skladište radi i možemo početi sa radom. Nisu se šalili kada su rekli da je MinIO minimalistički i jednostavno funkcioniše. Ako odete na link predložen pri pokretanju, maksimalne dostupne funkcije su kreiranje bačvica. I možete početi da unosite podatke.
Za ljubitelje Linux-a sve ostaje jednako jednostavno. Najjednostavnija instrukcija:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /dataRezultat bo neodvisen od tistega, kar smo videli prej.
Nastavitev MinIO je nekoliko smiselnejša.
Kot razumemo, je zgornji odstavek le balasto za testne namene. In, recimo pošteno, MinIO zelo široko uporabljamo za testiranje, česar se ne sramujemo priznati. Seveda deluje, vendar je sramotno, da bi takšno rešitev nosili čez testne postaje. Zato vzamemo datoteke in začnemo izboljševati.
HTTPS
Prvi obvezen korak na poti do produkcije je šifriranje. Na spletu je že milijon in tisoč priročnikov za dodajanje certifikatov k MiniIO, vendar je njihov splošni načrt takšen:
- Ustvarimo certifikat.
- V primeru Windows ga damo v C:Users%User%.miniocerts.
- V primeru Linuxa v ${HOME}/.minio/certs.
- Ponovno zagnamo strežnik.
Povsem osnovni Let’s Encrypt je dolgočasen in opisan povsod, zato je naša pot pot samuraja, tako da v primeru Windows prenesemo , v primeru Linuxa pa samo preverimo, ali imamo nameščen openssl. In naredimo malo konzolne magije:
- Ustvarimo ključe: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key.
- Ustvarimo certifikat na podlagi ključa: openssl req -new -x509 -days 3650 -key private.key -out public.crt.
- Kopiramo private.key in public.crt v prej omenjeno mapo.
- Ponovno zagnamo MinIO.
Če je vse potekalo tako, kot je treba, se bodo v stanju pojavile približno take vrstice.

Vklopimo MinIO Erasure Coding.
Najprej nekaj besed o temi. Na kratko: to je programska zaščita podatkov pred poškodbami in izgubo. Kot RAID, le veliko bolj zanesljivo. Medtem ko klasični RAID6 lahko prenaša izgubo dveh diskov, MinIO brez težav prenese izgubo polovice. Bolj podrobno je tehnologija opisana v . Ampak če vzamemo bistvo, gre za implementacijo Reed-Solomonovih kod: vse informacije so shranjene v obliki podatkovnih blokov, do katerih obstajajo paritetni bloki. In očitno je to bilo že storjeno mnogokrat, vendar obstaja pomembno 'ampak': lahko izrecno določimo razmerje paritetnih blokov do podatkovnih blokov za shranjene objekte.
Želite 1:1? Prosim!
Želite 5:2? Brez težav!
Zelo pomembna funkcija, če uporabljate več nod in želite najti svoj lasten kompromis med maksimalno varnostjo podatkov in porabljenimi viri. Iz paketa MinIO uporablja formulo N/2 (kjer je N skupno število diskov), tj. razdeli vaše podatke med N/2 diski podatkov in N/2 diski parnosti. V človeškem jeziku: lahko izgubite polovico diskov in obnovite podatke. To razmerje se nastavi preko , kar vam omogoča, da sami izberete, kaj je pomembnejše: zanesljivost ali kapaciteta.
V vodniku je naveden tak primer: domnevamo, da imate namestitev na 16 diskih in morate shraniti datoteko velikosti 100 MB. Če so nastavitve privzete (8 diskov za podatke, 8 za bloke parnosti), bo datoteka na koncu zasedla skoraj dvojni volumen, tj. 200 MB. Če bo razmerje diskov 10/6, bo potrebnih 160 MB. 14/2 — 114 MB.
Druga pomembna razlika od RAID-ov: v primeru odpovedi diskov MinIO deluje na ravni objektov, obnavlja enega za drugim, ne da bi ustavil delovanje celotnega sistema. Medtem ko bi običajni RAID moral obnoviti celoten volumen, kar bi trajalo nepredvidljivo dolgotrajno. Po spominu avtorja je diskovna omara, ki je po izgubi dveh diskov potrebovala poltretjina tedna za ponovno šteje.
In, pomembna opomba: MinIO deli vse diske za Erasure Coding v sete od 4 do 16 diskov, pri čemer uporablja največjo možno velikost seta. In naprej, en element informacij bo shranjen le znotraj enega seta.
Vse to zveni krasno, a kako težavna bo nastavitev? Poglejmo. Vzamemo ukaz za zagon in preprosto naštetimo diske, na katerih je treba ustvariti shrambo. Če je vse pravilno narejeno, bomo v poročilu videli število vključenih diskov. In nasvet, da ni primerno na en gostitelj dodajati takoj polovico diskov, saj to vodi v izgubo podatkov.
c:minio>minio.exe server F: G: H: I: J: K:
Nato za upravljanje in konfiguracijo MinIO strežnika potrebujemo agenta, ki ga lahko prenesemo s uradne spletne strani.
Da ne bi zbrisali prstov vsakokrat, ko vnašate naslov in dostopne ključe (kar niti ni varno), je priročno, da ob prvem zagonu takoj ustvarite alias po formuli mc alias set [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]
mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKEAli pa lahko takoj dodate svoj gostitelj:
mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEYNato bomo ustvarili immutable bucket s privlačnim ukazom
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 omogoča ogled ne le končnega sporočila, ampak tudi podrobnejših informacij.
-l kar pomeni —with-lock, kar pomeni immutable
Če se zdaj vrnemo v spletni vmesnik, se bo prikazal naš nov bucket.

Za zdaj je to vse. Ustvarili smo zaščiteno shrambo in smo pripravljeni na integracijo z Veeam.
Lahko se še prepričate, da vse deluje odlično:
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 in Veeam
Pozor! Če želite iz kakršnega koli neverjetnega razloga delati prek HTTP, ustvarite DWORD ključ na naslovu HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication SOBRArchiveS3DisableTLS. Nastavite njegovo vrednost na 1 in ne pozabite, da takšno ravnanje odločno ne odobrimo in ga ne priporočamo nikomur.
Pozor še enkrat! Če zaradi kakšne zmešnjave še naprej uporabljate Windows 2008 R2, boste ob poskusu povezovanja MinIO s Veeam najverjetneje dobili približno takšno napako: Failed to establish connection to Amazon S3 endpoint. To se reši z uradnim popravkom od .
No, priprave so končane, odprite vmesnik VBR in preidite na zavihek Backup Infrastructure, kjer bomo zagnali čarovnika za dodajanje novega repozitorija.

Seveda nas zanima Object storage, natančneje S3 Compatible. V odprtem čarovniku vnesite ime, preidite skozi korake z navedbo naslova in uporabniškega računa. Če je potrebno, ne pozabite navesti gateway, preko katerega bodo posredovani zahtevki za shrambo.

Nato izberite bucket, mapo in označite možnost Make recent backups immutable. Ali je ne označite. Ampak ker smo ustvarili shrambo s podporo za to funkcijo, bi bilo greh ne izkoristiti.

Next > Finish in uživajte v rezultatu.
Sedaj ga je treba dodati v SOBR repozitorij kot Capacity Tier. Za to lahko ustvarimo novega ali uredimo obstoječega. Interesira nas korak Capacity Tier.

Tukaj moramo izbrati, po katerem scenariju bomo delali. Vse možnosti so precej dobro opisane v drugi , zato ne bom ponavljal
Ob zaključku dela čarovnika bodo samodejno zagnani nalogi za kopiranje ali prenos varnostnih kopij. Ampak, če ne želite takoj obremeniti vseh sistemov, obvezno nastavite sprejemljive intervale za delo s gumbom Window.

In, seveda, lahko naredite tudi ločene naloge Backup Copy. Nekateri menijo, da je to celo bolj udobno, saj so nekoliko bolj pregledne in predvidljive za uporabnika, ki noče preveč razmišljati o podrobnostih delovanja capacity tira. Podrobnosti tam kar dovolj, zato še enkrat priporočam ustrezni članek s povezave zgoraj.
In za konec — odgovor na premeteni vprašanje: kaj se zgodi, če poskušamo izbrisati varnostno kopijo iz Immutable shrambe?
Tukaj je odgovor:

To je za danes vse. Po dobri tradiciji, dobite seznam koristnih tem na to temo:
- Manevrska knjiga
- Primer uporabe .
- Splošni priročnik za nastavitev .
- Tema v našem o S3 shrambah.
Izvor: habr.com
