MinIO a legkisebbeknek

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. Veeam Backup & Replication és MinIO. Beleértve olyan fontos funkciót, mint az Immutability. Valójában a MinIO-nak van egy szakasza 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.

MinIO a legkisebbeknek

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 https://min.io/download#/windows é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 Quick start guide. Az útmutatásokat nincs értelme nem komolyan venni, ezért elindítjuk és körülbelül ilyen választ kapunk.

MinIO a legkisebbeknek
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 /data

Az 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 Cygwin, 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.

MinIO a legkisebbeknek

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 hivatalos útmutatóban.. 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 Tárolási osztály, 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:

MinIO a legkisebbeknek
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 ott is 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 YOURSECERTKE

Vagy azonnal hozzáadhatja a hosztját:

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

Aztá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.

MinIO a legkisebbeknek
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 offline

MinIO é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ó. Microsoft.

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.

MinIO a legkisebbeknek
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.

MinIO a legkisebbeknek
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.

MinIO a legkisebbeknek
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.

MinIO a legkisebbeknek
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, a Spotify döntéshozatali módszertanáról. Egyre több felhasználó preferálja a zenehallgatást mobilon a streaming szolgáltatásban, de a cégnél túlnyomórészt webprogramozók dolgoznak. A Spotify elemezte ezt a helyzetet, és úgy döntött, hogy több mobilfejlesztőt vesz fel, valamint átnevezi a webes szakembereket új irányba:, í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.

MinIO a legkisebbeknek
É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:

MinIO a legkisebbeknek
Ezzel mára minden, a megszokott hagyomány szerint, itt van egy lista hasznos témákról:

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster