MinIO — skvelé riešenie, keď potrebujete jednoducho a rýchlo zriadiť objektové úložisko. Jednoduché nastavenie, množstvo platforiem a dobrý výkon si získali obľubu medzi používateľmi. Preto sme nemohli inak, ako pred mesiacom oznámiť našu kompatibilitu. . Zahŕňa takú dôležitú funkciu, akou je Immutability. V skutočnosti má MinIO celý v dokumentácii, ktorá sa zaoberá našou integráciou.
Preto dnes budeme hovoriť o tom, ako:
- Nastaviť MinIO veľmi rýchlo.
- Nastaviť MinIO trochu pomalšie, ale o to kvalitnejšie.
- Použiť ho ako Archive Tier pre škálovateľný repozitár Veeam SOBR.

Čo to vlastne je?
Krátky úvod pre tých, ktorí sa s MinIO ešte nestretli. Ide o open-source objektové úložisko, kompatibilné s Amazon S3 API. Vydáva sa pod licenciou Apache v2 a dodržiava filozofiu spartánskeho minimalizmu.
To znamená, že nemá zložitý GUI s dashboardmi, grafikami a nespočetnými ponukami. MinIO jednoducho spúšťa svoj server jedným príkazom, na ktorom je možné jednoducho uchovávať dáta, využívajúc celý potenciál S3 API. Treba však poznamenať, že táto jednoduchosť môže byť klamlivá, pokiaľ ide o využívané zdroje. RAM a CPU sú dobre využívané, ale o príčinách bude reč neskôr. A mimochodom, také nástroje ako FreeNAS a TrueNAS v pozadí používajú práve MinIO.
Na tomto úvodnom slove môžeme skončiť.
Nastavenie MinIO veľmi rýchlo
Je tak rýchle, že sa na to pozrieme pre Windows a Linux. Existujú možnosti aj pre Docker, aj pre Kubernetes, a dokonca aj pre macOS, ale zmysel bude všade rovnaký.
Takže v prípade Windows ideme na oficiálnu stránku a stiahneme si najnovšiu verziu. Tam nájdeme aj pokyny na spustenie:
minio.exe server F:Data
A tam je aj odkaz na o niečo podrobnejší . Inštrukciám niet dôvod neveriť, takže spúšťame a dostávame približne takúto odpoveď.
A to je všetko! Úložisko funguje a môžete začať s ním pracovať. Nežartoval som, keď som povedal, že MinIO je minimalizmus a jednoducho funguje. Ak prejdete po odkaze ponúkanom pri spustení, maximálne dostupné funkcie sú vytvorenie bucketu. A môžete začať zapisovať dáta.
Pre milovníkov Linuxu je to rovnako jednoduché. Najjednoduchšie pokyny sú:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /dataVýsledok bude nerozlíšiteľný od toho, čo bolo vidieť predtým.
Nastavenie MinIO je o niečo zmysluplnejšie.
Ako chápeme, predchádzajúca veta je len nostalgická pre testovacie účely. A povedzme si úprimne, presne na testovanie MinIO ho široko používame, za čo sa vôbec nemusíme hanbiť. Samozrejme, funguje to, ale na niečo viac ako len testovacie prostredia je to hanba preniesť. Takže berieme do rúk súbor a začíname ho dolaďovať.
HTTPS
Prvý povinný krok na ceste k produkcii — šifrovanie. Na internete je už milión a jedno manuál o pridávaní certifikátov k MiniIO, ale ich všeobecný plán je takýto:
- Vytvárame certifikát.
- V prípade Windows ho ukládáme do C:Users%User%.miniocerts.
- V prípade Linuxu do ${HOME}/.minio/certs.
- Reštartujeme server.
Banálny Let’s Encrypt — to je nudné a opísané všade, takže naša cesta je cestou samuraja, preto v prípade Windows stiahneme , a v prípade Linuxu jednoducho skontrolujeme, či máme nainštalovaný openssl. A urobíme trochu konzolovej mágie:
- Vytvárame kľúče: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key.
- Vytvárame certifikát na základe kľúča: openssl req -new -x509 -days 3650 -key private.key -out public.crt.
- Kopírujeme private.key a public.crt do vyššie uvedeného priečinka.
- Reštartujeme MinIO.
Ak všetko prebehlo správne, v stave sa objavia približne takéto riadky.

Aktivujeme MinIO Erasure Coding.
Najprv pár slov o téme. V skratke: je to softvérová ochrana dát pred poškodením a stratou. Ako RAID, len oveľa spoľahlivejšie. Klasický RAID6 si môže dovoliť stratiť dva disky, ale MinIO bez problémov prežije stratu polovice. Podrobnejšie je technológia opísaná v . Ale ak vezmeme podstatu, ide o implementáciu Reed-Solomonových kódov: všetky informácie sa ukladajú vo forme blokov dát, ku ktorým existujú bloky parity. A zdá sa, že toto už bolo raz dokonané, ale existuje dôležité „ale“: môžeme jednoznačne uvádzať pomer parity k dátovým blokom pre ukladané objekty.
Chcete 1:1? Prosím!
Chcete 5:2? Bez problémov!
Veľmi dôležitá funkcia, ak používate viacero uzlov a chcete nájsť vlastnú rovnováhu medzi maximálnou bezpečnosťou dát a vynaloženými prostriedkami. Out of the box MinIO používa vzorec N/2 (kde N je celkový počet diskov), t.j. rozdeľuje vaše dáta medzi N/2 diskami dát a N/2 diskami parity. Preložené do bežnej reči: môžete stratiť polovicu diskov a obnoviť dáta. Tento pomer je možné nastaviť prostredníctvom , pričom si môžete sami zvoliť, čo je dôležitejšie: spoľahlivosť alebo kapacita.
V sprievodcovi je uvedený takýto príklad: predpokladajme, že máte inštaláciu na 16 diskoch a musíte uložiť súbor o veľkosti 100 MB. Ak sú použité predvolené nastavenia (8 diskov pre dáta, 8 pre bloky parity), súbor nakoniec zaberie takmer dvojnásobný objem, t.j. 200 MB. Pri pomere diskov 10/6 bude potrebných 160 MB. 14/2 — 114 MB.
Ďalší dôležitý rozdiel od RAID: v prípade výpadku diskov MinIO bude fungovať na úrovni objektov, obnovujúc jeden po druhom, bez zastavenia celej systému. Kým bežný RAID bude nútený obnoviť celý volume, čo zaberie nepredvídateľné množstvo času. Z pamäte autora disková polica, ktorá po výpadku dvoch diskov prešla na prepočet na jeden a pol týždňa. Bolo to dosť nepríjemné.
A, dôležitá poznámka: MinIO rozdeľuje všetky disky na Erasure Coding do súprav od 4 do 16 diskov, pričom využíva maximálnu možnú veľkosť súpravy. A ďalej, jeden prvok informácií bude uchovávaný len v rámci jednej súpravy.
Znie to všetko veľmi skvele, ale ako náročná bude konfigurácia? Pozrime sa na to. Zoberieme príkaz pre spustenie a jednoducho vymenujeme disky, na ktorých je potrebné vytvoriť úložisko. Ak je všetko spravené správne, v správe uvidíme počet zapojených diskov. A rada, že nie je dobré pridávať na jeden host ihneď polovicu diskov, lebo sa môžete pripraviť o dáta.
c:minio>minio.exe server F: G: H: I: J: K:
Následne na správu a nastavenie MinIO servera budeme potrebovať agenta, ktorého si môžete stiahnuť všetko z oficiálnej stránky.
Aby ste si nezničili prsty, zakaždým keď zadávate adresu a prístupové kľúče (a to ani nie je bezpečné), je praktické pri prvom spustení ihneď vytvoriť alias podľa vzorca mc alias set [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]
mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKEAlebo môžete okamžite pridať svoj hostiteľ:
mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEYA potom vytvoríme immutable bucket s krásnym príkazom
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 umožňuje vidieť nie len výslednú správu, ale aj podrobnejšie informácie.
-l znamená —with-lock, čo znamená immutable
Ak sa teraz vrátite do webového rozhrania, bude tam náš nový bucket.

Týmto končíme. Vytvorili sme zabezpečené úložisko a sme pripravení prejsť k integrácii s Veeam.
Môžeme sa ešte uistiť, že všetko funguje skvele:
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 a Veeam
Pozor! Ak by ste z akéhokoľvek neuveriteľného dôvodu chceli pracovať cez HTTP, vytvorte v HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication DWORD kľúč SOBRArchiveS3DisableTLS. Nastavte jeho hodnotu na 1 a pamätajte, že tak behavior rozhodne neschvaľujeme a nikomu neodporúčame.
Pozor ešte raz! Ak z nejakého nedorozumenia naďalej používate Windows 2008 R2, pri pokuse o pripojenie MinIO k Veeam pravdepodobne dostanete približne takúto chybu: Failed to establish connection to Amazon S3 endpoint. Opraviť to možno oficiálnym patchom od .
Nuže, prípravy sú hotové, otvorme rozhranie VBR a prejdime na kartu Backup Infrastructure, kde vyvoláme sprievodcu na pridanie nového úložiska.

Samozrejme, zaujíma nás Object storage, konkrétne S3 Compatible. V otvorenom sprievodcovi nastavíme názov, prejdeme krokmi s uvedením adresy a účtu. Ak je to potrebné, nezabudnite uviesť bránu, cez ktorú budú prichádzať požiadavky na úložisko.

Potom vyberieme bucket, adresár a zaškrtneme políčko Make recent backups immutable. Alebo nezastrkujeme. Ale keďže sme vytvorili úložisko s podporou tejto funkcie, bolo by hriechom ju nevyužiť.

Next > Finish a užívame si výsledok.
Teraz ho treba pridať do SOBR úložiska ako Capacity Tier. Na to vytvárame nový alebo upravujeme existujúci. Zaujíma nás krok Capacity Tier.

Tu musíme vybrať, podľa akého scenára budeme pracovať. Všetky možnosti sú celkom dobre popísané v inej , takže sa nebudem opakovať
A na konci práce sprievodcu sa automaticky spustia úlohy na kopírovanie alebo presun záloh. Ale ak nemáte v pláne hneď zaťažiť všetky systémy, určite nastavte prijateľné intervaly pre prácu cez tlačidlo Window.

A samozrejme, môžete vytvoriť samostatné úlohy Backup Copy. Niektorí tvrdia, že je to dokonca pohodlnejšie, pretože sú o niečo priehľadnejšie a predvídateľnejšie pre používateľa, ktorý sa nechce zaoberať podrobnosťami práce kapacity tieru. A podrobností je tam dosť, takže ešte raz odporúčam príslušný článok podľa odkazu vyššie.
A napokon — odpoveď na zložitú otázku: čo sa stane, ak sa pokúsime odstrániť zálohu z Immutable úložiska?
Tu je odpoveď:

Na dnes je to všetko. Podľa dobrej tradície, tu je zoznam užitočných tém na túto tému:
- Manuál
- Príklad použitia .
- Celkový manuál k nastaveniu .
- Vlákno na našom o S3 úložiskách.
Zdroj: habr.com
