MinIo pre najmenších

MinIO je vynikajúce riešenie, keď potrebujete ľahko a jednoducho organizovať ukladanie predmetov. Elementárne nastavenie, veľa platforiem a dobrý výkon urobili svoje na poli populárnej lásky. Nezostávalo nám teda nič iné, len pred mesiacom deklarovať kompatibilitu Veeam Backup & Replication a MinIO. Vrátane takej dôležitej vlastnosti, akou je Immutability. V skutočnosti má MinIO celok časť v dokumentácii venovanej našej integrácii.

Preto si dnes povieme, ako:

  • Nastavenie MinIO je veľmi rýchle.
  • Nastavenie MinIO je o niečo menej rýchle, ale oveľa lepšie.
  • Použite ho ako archivačnú vrstvu pre Veeam SOBR Scalable Repository.

MinIo pre najmenších

Čo si?

Krátky úvod pre tých, ktorí sa s MinIO nestretli. Toto je open source objektové úložisko kompatibilné s Amazon S3 API. Vydané pod licenciou Apache v2 a dodržiava filozofiu sparťanského minimalizmu.

To znamená, že nemá rozľahlé GUI s ovládacími panelmi, grafmi a početnými ponukami. MinIO jednoducho spustí svoj server jedným príkazom, kde môžete jednoducho ukladať dáta s využitím plného výkonu S3 API. Treba však poznamenať, že táto jednoduchosť môže byť klamlivá, pokiaľ ide o použité zdroje. RAM a CPU sú absorbované dokonale, ale dôvody budú uvedené nižšie. A mimochodom, také kombajny ako FreeNAS a TrueNAS využívajú pod kapotou MiniIO.

Tento úvod tu môže skončiť.

Nastavenie MinIO je veľmi rýchle

Nastavenie je také rýchle, že sa naň pozrieme pre Windows a Linux. Existujú možnosti pre Docker a Kubernetis a dokonca aj pre MacOS, ale význam bude všade rovnaký.

V prípade systému Windows teda prejdite na oficiálnu webovú stránku https://min.io/download#/windows a stiahnite si najnovšiu verziu. Tam tiež vidíme pokyny na spustenie:

 minio.exe server F:Data

A je tam aj odkaz na trochu podrobnejší Stručná príručka spustenia. Nemá zmysel neveriť inštrukciám, tak to spustíme a dostaneme niečo ako táto odpoveď.

MinIo pre najmenších
To je všetko! Úložisko funguje a môžete s ním začať pracovať. Nerobil som si srandu, keď som povedal, že MiniIO je minimalistické a jednoducho funguje. Ak budete postupovať podľa odkazu ponúkaného počas spustenia, maximálny počet dostupných funkcií je na vytvorenie vedra. A môžete začať zapisovať dáta.

Pre milovníkov Linuxu zostáva všetko nemenej jednoduché. Najjednoduchší návod:


wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

Výsledok bude na nerozoznanie od toho, čo ste videli predtým. 

Nastavenie MinIO je o niečo zmysluplnejšie

Ako sme pochopili, predchádzajúci odsek je rozmaznávanie na účely testovania. A povedzme si úprimne, MinIO používame na testovanie veľmi široko, čo sa vôbec nehanbíme priznať. Samozrejme, funguje to, ale je škoda to vydržať mimo skúšobných stolov. Preto vezmeme do rúk súbor a začneme si ho pripomínať.

HTTPS

Prvým povinným krokom na ceste k produkcii je šifrovanie. V sieti už existuje milión a tisíc manuálov na pridávanie certifikátov do MiniIO, ale ich všeobecný plán je takýto:

  • Vytvorte certifikát
  • V prípade Windows ho vložte do C:Users%User%.miniocerts
  • Pre Linux v ${HOME}/.minio/certs 
  • Reštartovanie servera

Banálny Let's Encrypt je nudný a je všade popísaný, takže naša cesta je cesta samuraja, takže v prípade Windows sťahujeme Cygwina v prípade Linuxu jednoducho skontrolujeme, či máme nainštalovaný openssl. A urobíme malú konzolovú mágiu:

  • Vytvorte kľúče: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • Certifikát vytvoríme pomocou kľúča: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Skopírujte private.key a public.crt do vyššie uvedeného priečinka
  • Reštartujte MinIO

Ak všetko prebehlo ako má, tak sa v statuse objaví niečo takéto.

MinIo pre najmenších

Povoliť kódovanie MinIO Erasure Coding

Najprv pár slov k téme. V skratke: ide o softvérovú ochranu dát pred poškodením a stratou. Ako nájazd, len oveľa spoľahlivejší. Ak si klasický RAID6 môže dovoliť stratiť dva disky, tak MinIO si bez problémov poradí aj so stratou polovice. Technológia je podrobnejšie opísaná v oficiálny sprievodca. Ale ak vezmeme podstatu, potom ide o implementáciu kódov Reed-Solomon: všetky informácie sú uložené vo forme dátových blokov, ktoré majú paritné bloky. A zdá sa, že toto všetko sa už urobilo mnohokrát, ale je tu dôležité „ale“: môžeme explicitne uviesť pomer paritných blokov k blokom údajov pre uložené objekty.
Chcete 1:1? Prosím!
Chcete 5:2? Žiaden problém!

Veľmi dôležitá funkcia, ak používate viacero uzlov naraz a chcete nájsť vlastnú rovnováhu medzi maximálnou bezpečnosťou dát a vynaloženými prostriedkami. MinIO po vybalení používa vzorec N/2 (kde N je celkový počet diskov), t.j. rozdelí vaše dáta medzi N/2 dátové disky a N/2 paritné disky. Preložené do ľudskej terminológie: môžete stratiť polovicu diskov a obnoviť dáta. Tento vzťah je daný cez Skladovacia trieda, čo vám umožní vybrať si, čo je dôležitejšie: spoľahlivosť alebo kapacita.

Sprievodca uvádza nasledujúci príklad: Predpokladajme, že máte inštaláciu na 16 diskoch a potrebujete uložiť súbor s veľkosťou 100 MB. Ak sa použijú predvolené nastavenia (8 diskov pre dáta, 8 pre paritné bloky), potom súbor nakoniec zaberie takmer dvojnásobný objem, t.j. 200 MB. Ak je pomer disku 10/6, potom bude potrebných 160 MB. 14/2 – 114 MB.

Ďalší dôležitý rozdiel od raidov: v prípade zlyhania disku bude MinIO pracovať na úrovni objektov, obnovuje sa jeden po druhom, bez zastavenia celého systému. Kým bežný nájazd bude nútený obnoviť celý zväzok, čo zaberie nepredvídateľne veľa času. Autor si pamätá poličku na disky, ktorej po vypadnutí dvoch diskov trvalo prepočítavanie týždeň a pol. Bolo to dosť nepríjemné.

A dôležitá poznámka: MinIO rozdeľuje všetky disky pre Erasure Coding do sád od 4 do 16 diskov s použitím maximálnej možnej veľkosti sady. A v budúcnosti bude jeden prvok informácií uložený iba v rámci jedného súboru.

To všetko znie veľmi cool, ale aké ťažké bude nastavenie? Poďme sa pozrieť. Vezmeme príkaz spustiť a jednoducho vypíšeme disky, na ktorých je potrebné úložisko vytvoriť. Ak je všetko vykonané správne, potom v správe uvidíme počet zapojených diskov. A rada je, že nie je dobré pridávať polovicu diskov na jeden hostiteľ naraz, pretože to povedie k strate dát.

c:minio>minio.exe server F: G: H: I: J: K:

MinIo pre najmenších
Ďalej na správu a konfiguráciu servera MinIO budeme potrebovať agenta, ktorého si môžete stiahnuť tam z oficiálnej stránky.

Aby ste si neopotrebovali prsty pri každom písaní adresy a prístupových kláves (a nie je to bezpečné), je vhodné okamžite vytvoriť alias, keď prvýkrát začnete používať sadu aliasov vzorca mc [VÁŠ-PRÍSTUPOVÝ-KĽÚČ] [VÁŠ-TAJNÝ-KĽÚČ]

mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKE

Alebo môžete okamžite pridať svojho hostiteľa:

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

A potom vytvoríme nemenné vedro s krásnym tímom

mc mb --debug -l veeamS3/immutable 

mc: <DEBUG> 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: <DEBUG> 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: <DEBUG> Response Time:  253.0017ms

--debug vám umožní vidieť nielen záverečnú správu, ale aj podrobnejšie informácie. 

-l znamená —so zámkom, čo znamená nemenný

Ak sa teraz vrátime do webového rozhrania, objaví sa tam náš nový vedro.

MinIo pre najmenších
To je zatiaľ všetko. Vytvorili sme bezpečné úložisko a sme pripravení prejsť na integráciu s Veeam.

Môžete sa tiež uistiť, že všetko funguje perfektne:

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

MiniIO a Veeam

Varovanie! Ak z nejakého neuveriteľného dôvodu chcete pracovať cez HTTP, potom na HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication vytvorte kľúč DWORD SOBRArchiveS3DisableTLS. Nastavte jej hodnotu na 1 a pamätajte, že takéto správanie dôrazne neschvaľujeme a nikomu ho neodporúčame.

Opäť pozor! Ak z dôvodu nejakého nedorozumenia budete naďalej používať Windows 2008 R2, potom sa pri pokuse o pripojenie MinIO k Veeam s najväčšou pravdepodobnosťou zobrazí chyba podobná tomuto: Nepodarilo sa vytvoriť pripojenie ku koncovému bodu Amazon S3. Dá sa to liečiť oficiálnou náplasťou od Microsoft.

Prípravy sú hotové, otvoríme rozhranie VBR a prejdeme na záložku Infraštruktúra zálohovania, kde zavoláme sprievodcu pridaním nového úložiska.

MinIo pre najmenších
Nás samozrejme zaujíma Object storage, konkrétne S3 Compatible. V sprievodcovi, ktorý sa otvorí, nastavte názov a prejdite krokmi s uvedením adresy a účtu. V prípade potreby nezabudnite špecifikovať bránu, cez ktorú sa budú požiadavky do úložiska proxy posielať.

MinIo pre najmenších
Potom vyberte vedro, priečinok a začiarknite políčko Urobiť posledné zálohy nezmeniteľné. Alebo ho nenainštalujeme. Ale keďže sme vytvorili úložisko, ktoré túto funkciu podporuje, bolo by hriechom to nevyužiť.

MinIo pre najmenších
Ďalej > Dokončite a vychutnajte si výsledok.

Teraz ho musíme pridať do úložiska SOBR ako kapacitnú vrstvu. Za týmto účelom buď vytvoríme nový, alebo upravíme existujúci. Máme záujem o krok Capacity Tier.

MinIo pre najmenších
Tu si treba vybrať, s akým scenárom budeme pracovať. Všetky možnosti sú celkom dobre popísané v inom článok, tak sa nebudem opakovať

A po dokončení sprievodcu sa automaticky spustia úlohy na kopírovanie alebo prenos záloh. Ak však vaše plány nezahŕňajú okamžité zaťaženie všetkých systémov, nezabudnite nastaviť prijateľné intervaly pre prácu na tlačidle Okno.

MinIo pre najmenších
A, samozrejme, môžete vykonávať samostatné úlohy zálohovania. Niektorí veria, že je to ešte pohodlnejšie, keďže sú o niečo prehľadnejšie a predvídateľnejšie pre používateľa, ktorý sa nechce vŕtať v detailoch fungovania strelnice. A je tam dosť podrobností, takže ešte raz odporúčam príslušný článok na vyššie uvedenom odkaze.

A na záver odpoveď na zradnú otázku: čo sa stane, ak sa predsa len pokúsite vymazať zálohu z Immutable storage?

Tu je odpoveď:

MinIo pre najmenších
To je na dnes všetko. V skutočnej tradícii si prečítajte zoznam užitočných tém na túto tému:

Zdroj: hab.com

Pridať komentár