A MinIO remek megoldás, amikor könnyen és egyszerűen kell objektum tárolót létrehozni. Az alapvető beállítás, a sok platform és a jó teljesítmény magukért beszélnek a népszerűség terén. Ezért egy hónappal ezelőtt bejelentettük a kompatibilitást. . Beleértve olyan fontos funkciót, mint az Immutability. Valójában a MinIO-nak van egy a dokumentációban, amely a mi integrációnknak szentelt.
Ezért ma arról beszélünk, hogy:
- A MinIO nagyon gyorsan beállítható.
- A MinIO beállítása kicsit lassabban, de lényegesen magasabb minőségben.
- Használja Archive Tier-ként a skálázható Veeam SOBR adattárolóhoz.

Mi ez?
Rövid bevezetés azoknak, akik még nem találkoztak a MinIO-val. Ez egy nyílt forráskódú objektumtároló, amely kompatibilis az Amazon S3 API-val. Apache v2 licenc alatt kerül kiadásra, és a spártai minimalizmus filozófiáját követi.
Ezért nincsenek bonyolult GUI-k, műszerfalak, grafikonok és számos menü. A MinIO egyszerűen egy parancs segítségével indítja a szerverét, amelyen egyszerűen tárolhatók az adatok, kihasználva az S3 API minden erejét. De meg kell jegyezni, hogy ez a egyszerűség félrevezető lehet, amikor az erőforrásokról van szó. A RAM és a CPU nagyszerűen fogyasztódik, de erről később lesz szó. És mi több, olyan kombinációk, mint a FreeNAS és a TrueNAS, pontosan a MinIO-t használják a háttérben.
Ezzel a bevezetést be is fejezhetjük.
A MinIO nagyon gyorsan beállítható
A beállítása annyira gyors, hogy a Windows és Linux rendszerekhez fogjuk megnézni. Vannak lehetőségek Docker-re, Kubernetes-re és még macOS-ra is, de a lényeg mindenhol ugyanez lesz.
Tehát Windows esetén menjünk az hivatalos weboldalra és töltsük le a legújabb verziót. Ott találkozunk a telepítési útmutatóval is:
minio.exe server F:Data
És ott van egy link egy kicsit részletesebb . Az útmutatásokat nincs értelme nem komolyan venni, ezért elindítjuk és körülbelül ilyen választ kapunk.
Ennyit erről! A tároló működik, és elkezdhetünk dolgozni vele. Nem vicceltem, amikor azt mondtam, hogy a MinIO a minimalizmus és csak működik. Ha követjük a kezdéskor javasolt linket, akkor a maximálisan elérhető funkciók közül az a lehetőség áll rendelkezésre, hogy létrehozzunk egy tárolót. És elkezdhetjük az adatok írását.
A Linux kedvelői számára minden ugyanannyira egyszerű. A legegyszerűbb útmutató:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /dataAz eredmény megkülönböztethetetlen lesz az előzőtől.
A MinIO beállítása valamivel értelmesebb.
Ahogy értjük, az előző bekezdés tesztcélokra szolgál. Őszintén szólva, a MinIO tesztelésére széles körben használjuk, amit egyáltalán nem szégyellünk bevallani. Természetesen működik, de a tesztelési környezeteken kívül ezt szégyen lenne alkalmazni. Így hát megfogjuk a reszelőt, és elkezdjük finomítani.
HTTPS
Az első kötelező lépés a termelés felé a titkosítás. Az interneten már millió és ezer útmutató található a tanúsítványok hozzáadására a MinIO-hoz, de a lényegük a következő:
- Hozzunk létre tanúsítványt.
- Windows esetén helyezzük el a C:Users%User%.miniocerts mappába.
- Linux esetén a ${HOME}/.minio/certs mappába.
- Indítsuk újra a szervert.
A banális Let’s Encrypt unalmas és mindenhol le van írva, ezért mi a szamurájok útját járjuk, így Windows esetén letöltjük a , míg Linux esetén egyszerűen ellenőrizzük, hogy az openssl telepítve van. És végezzünk el egy kis konzolos varázslatot:
- Hozzunk létre kulcsokat: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
- Hozzunk létre tanúsítványt a kulcs alapján: openssl req -new -x509 -days 3650 -key private.key -out public.crt
- Másoljuk a private.key és public.crt fájlokat a fent megadott mappába.
- Indítsuk újra a MinIO-t.
Ha minden rendben ment, akkor a státuszban körülbelül ilyen sorok fognak megjelenni.

Kapcsoljuk be a MinIO Erasure Codingot.
Először pár szó a témáról. Röviden: ez egy szoftveres védelem az adatok sérülése és elvesztése ellen. Olyan, mint a RAID, csak sokkal megbízhatóbb. Míg a klasszikus RAID6 akár két lemez elvesztését is elbírja, a MinIO gond nélkül átvészeli a felét. A technológia részletesebben le van írva a . De ha a lényegét nézzük, ez Reed-Solomon kódok megvalósítása: minden információ adatblokkokként tárolódik, amelyeket paritásblokkok kísérnek. És lássuk be, ezt már sokszor megcsinálták, de van egy fontos „de”: megadhatjuk a paritásblokkok és az adatblokkok arányát a tárolt objektumokhoz.
Szeretne 1:1 arányt? Kérem!
Szeretne 5:2 arányt? Nincs probléma!
Nagyon fontos funkció, ha több csomópontot használsz egyszerre, és szeretnél megtalálni egyensúlyt a maximális adatbiztonság és a felhasznált erőforrások között. Alapértelmezés szerint a MinIO az N/2 formulát használja (ahol N a lemezek összes száma), azaz az adataidat elosztja N/2 adattároló lemez között és N/2 paritáslemez között. Átkonvertálva emberi nyelvre: a lemezek felét elveszítheted, és az adatokat visszaállíthatod. Ez az arány a következő által van megadva , lehetővé téve, hogy saját magad válaszd meg, mi a fontosabb: megbízhatóság vagy kapacitás.
A kézikönyvben a következő példa található: tegyük fel, hogy van egy telepítés 16 lemezzel, és meg kell tartanod egy 100 MB méretű fájlt. Ha az alapértelmezett beállításokat használod (8 lemez az adatoknak, 8 a paritásblokkoknak), akkor a fájl végül gyakorlatilag kétszeres tárolási térfogatot igényel, azaz 200 MB. Ha a lemezek aránya 10/6, akkor 160 MB-ra lesz szükség. 14/2 — 114 MB-ot.
Egy másik fontos különbség a RAID-kel szemben: ha lemezek hibásodnak meg, a MinIO az objektumszinten fog működni, egyesével helyreállítva őket, anélkül, hogy leállítaná az egész rendszert. Míg a hagyományos RAID-nek vissza kell állítani az egész kötetet, ami kiszámíthatatlan időt vehet igénybe. A szerző emlékei szerint a lemezpolc, amely két lemez hibájával küzdött, másfél hétig tartott újraszámlálni. Nagyon kellemetlen volt.
És egy fontos megjegyzés: a MinIO minden lemezt négy és tizenhat lemez közötti készletekre oszt az Erasure Coding számára, a lehető legnagyobb készletméret felhasználásával. A jövőben egy információs elem csak egy készleten belül lesz tárolva.
Ez mind jól hangzik, de mennyire bonyolult a beállítás? Nézzük meg. Vegyük a parancsot a futtatásra, és egyszerűen soroljuk fel azokat a lemezeket, amelyeken tárolót kell létrehozni. Ha minden jól megy, a jelentésben látni fogjuk az érintett lemezek számát. És tanács, hogy nem érdemes egy hostra egyszerre fele lemezt hozzáadni, mert ez adatvesztéshez vezet.
c:minio>minio.exe server F: G: H: I: J: K:
Ezután a MinIO szerver kezeléséhez és beállításához szükségünk lesz egy ügynökre, amit mindezt letölthetjük a hivatalos weboldalról.
Hogy ne kelljen minden alkalommal begépelni a címet és a hozzáférési kulcsokat (és ez nem is biztonságos), kényelmes, ha az első indításkor azonnal létrehozunk egy alias-t a mc alias set <YOUR-MINIO-ENDPOINT> [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY] képlettel
mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKEVagy azonnal hozzáadhatja a hosztját:
mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEYAztán egy mutatós parancs segítségével létrehozzuk az immutable tárolót.
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 lehetővé teszi, hogy ne csak a végső üzenetet nézze meg, hanem egy részletesebb információt is.
-l ez jelentése with-lock, ami immutable-t jelent.
Ha most visszatérünk a webes felületre, akkor ott megjelenik az új tárolónk.

Jelenleg ennyi. Létrehoztuk a védett tárolót és készen állunk a Veeam integrálására.
Ellenőrizhetjük, hogy minden rendben működik:
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 és Veeam
Figyelem! Ha valamilyen hihetetlen okból HTTP-n keresztül szeretne dolgozni, akkor a HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication alatt hozzon létre egy DWORD kulcsot. SOBRArchiveS3DisableTLS. Állítsa be az értékét 1-re, és ne feledje, hogy ezt a magatartást határozottan nem támogatjuk, és senkinek nem ajánljuk.
Figyelem, még egyszer! Ha valamilyen félreértés folytán továbbra is Windows 2008 R2-t használ, akkor amikor megpróbálja csatlakoztatni a MinIO-t a Veeam-hez, valószínűleg körülbelül ilyen hibát fog kapni: Failed to establish connection to Amazon S3 endpoint. Ez hivatalos javítással orvosolható. .
Nos, az előkészületek befejeződtek, nyissuk meg a VBR felületet és lépjünk a Backup Infrastructure fülre, ahol meghívjuk az új repository hozzáadásának varázslóját.

Hogy értelemszerű legyen, bennünket az Object storage érdekel, mégpedig az S3 Compatible. A megnyíló varázslóban adjuk meg a nevet, majd haladjunk át a lépéseken az cím és a felhasználói fiók megadásával. Ha szükséges, ne felejtsük el megadni a kaput, amelyen keresztül a tárolóhoz történő kérések át lesznek proxyzva.

Ezután válasszuk ki a tárolót, a mappát, és pipáljuk be a Make recent backups immutable. Vagy ne pipáljuk be. De mivel létrehoztuk a tárolót ezen funkció támogatásával, kár lenne nem kihasználni.

Tovább > Befejezés és élvezzük az eredményt.
Most már hozzá kell adni a SOBR tárolóhoz Capacity Tier-ként. Ehhez vagy létrehozunk egy újat, vagy szerkesztjük a meglévőt. Minket a Capacity Tier lépése érdekel.

Itt ki kell választanunk, milyen forgatókönyv alapján fogunk dolgozni. Minden lehetőség jól le van írva egy másikban, , így nem akarom megismételni.
A varázsló befejezésével automatikusan elindulnak a mentések másolására vagy áthelyezésére irányuló feladatok. De ha nem áll szándékunkban azonnal megterhelni az összes rendszert, akkor mindenképpen állítsa be a megfelelő időintervallumokat a Window gomb segítségével.

És persze külön Backup Copy feladatokat is létrehozhatunk. Néhányan úgy vélik, hogy ez így kényelmesebb, mivel áttekinthetőbbek és kiszámíthatóbbak a felhasználó számára, aki nem akar részletekbe merülni a capacity tier működésével kapcsolatban. Ott bőven van részlet, ezért ismételten ajánlom a fenti hivatkozásra vonatkozó cikket.
És végül — a ravasz kérdésre a válasz: mi történik, ha mégis megpróbáljuk törölni a mentést az Immutable tárolóból?
Íme a válasz:

Ezzel mára minden, a megszokott hagyomány szerint, itt van egy lista hasznos témákról:
- Útikönyv
- Példa a használatra .
- Általános útmutató a beállításokhoz .
- A fórumunkon az S3 tárolókról.
Forrás: habr.com
