MinIo för de minsta

MinIO Àr en utmÀrkt lösning nÀr man enkelt och smidigt vill organisera objektlagring. Enkel konfiguration, mÄnga plattformar och bra prestanda har bidragit till dess folkliga kÀrlek. SÄ det fanns ingen annan vÀg Àn att för en mÄnad sedan meddela om kompatibiliteten. Veeam Backup & Replication och MinIO. Inklusive en sÄ viktig funktion som Immutability. Faktum Àr att MinIO har en hel med pseudoklassomkopplare i dokumentationen som handlar om vÄr integration.

SĂ„ idag ska vi prata om hur man:

  • SĂ€tter upp MinIO vĂ€ldigt snabbt.
  • SĂ€tter upp MinIO nĂ„got lĂ„ngsammare men avsevĂ€rt mer kvalitativt.
  • AnvĂ€nder det som Archive Tier för en skalbar Veeam SOBR-repository.

MinIo för de minsta

Vad Àr du?

En kort introduktion för dem som inte har stött pÄ MinIO tidigare. Det Àr en öppen kÀllkod objektlagring som Àr kompatibel med Amazon S3 API. Den slÀpps under Apache v2-licensen och följer filosofin om spartansk minimalism.

Det vill sÀga, den har ingen omfattande GUI med dashboards, grafer och mÄnga menyer. MinIO startar helt enkelt sin server med ett kommando, dÀr man enkelt kan lagra data med hela kraften frÄn S3 API. Men det bör noteras att denna enkelhet kan vara bedrÀglig nÀr det handlar om resursanvÀndning. RAM och CPU utnyttjas effektivt, men orsakerna kommer att diskuteras nedan. Och för att sÀga det sÄ, sÄdana maskiner som FreeNAS och TrueNAS anvÀnder faktiskt MinIO under huven.

Med det kan vi avsluta introduktionen.

Att sÀtta upp MinIO vÀldigt snabbt

Att konfigurera det Àr sÄ snabbt att vi kommer att gÄ igenom det för Windows och Linux. Det finns alternativ för Docker och Kubernetes, och till och med för macOS, men principen Àr densamma överallt.

SÄ i fallet Windows gÄr vi till den officiella webbplatsen https://min.io/download#/windows och laddar ner den senaste versionen. DÀr ser vi Àven en instruktion för att starta igÄng:

 minio.exe server F:Data

Och dÀr finns Àven en lÀnk till en nÄgot mer detaljerad Snabbstartsguide. Det finns ingen anledning att inte lita pÄ instruktionerna, sÄ vi startar och fÄr ett svar som ser ut sÄ hÀr.

MinIo för de minsta
Det Àr allt! Lagringen fungerar och man kan börja arbeta med den. Jag skÀmtade inte nÀr jag sa att MinIO Àr minimalism och fungerar enkelt. Om man följer lÀnken som erbjuds vid uppstart, sÄ Àr maxantalet funktioner dÀr att skapa en bucket. Och man kan börja skriva data.

För Linux-anvÀndare Àr allt lika enkelt. Den enklaste instruktionen:


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

Resultatet kommer att vara odiskutabelt frÄn vad som har setts tidigare. 

InstÀllningen av MinIO Àr nÄgot mer meningsfull.

Som vi förstÄr Àr den föregÄende stycket bara en lek för testÀndamÄl. Och, lÄt oss vara Àrliga, för testning av MinIO anvÀnds vi vÀldigt mycket, vilket vi inte skÀms för att erkÀnna. Naturligtvis fungerar det, men att ta det lÀngre Àn testmiljöerna Àr en annan sak. DÀrför tar vi fram filen och börjar förbÀttra den.

HTTPS

Det första obligatoriska steget mot produktion Àr kryptering. Det finns redan en miljon och ett tusen manualer om hur man lÀgger till certifikat till MinIO, men den övergripande planen ser ut som följer:

  • Skapa certifikat.
  • I Windows lĂ€gger vi det i C:Users%User%.miniocerts.
  • I Linux i ${HOME}/.minio/certs. 
  • Starta om servern.

Det banala Let’s Encrypt Ă€r trĂ„kigt och beskrivet överallt, sĂ„ vĂ„r vĂ€g Ă€r samurajens vĂ€g, sĂ„ i Windows laddar vi ner. Cygwin, och i Linux kontrollerar vi bara att openssl Ă€r installerat. Och vi utför lite konsoltrollande:

  • Skapa nycklar: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key.
  • Skapa certifikat frĂ„n nyckeln: openssl req -new -x509 -days 3650 -key private.key -out public.crt.
  • Kopiera private.key och public.crt till den angivna mappen ovan.
  • Starta om MinIO.

Om allt gick som det skulle, bör status innehÄlla ungefÀr sÄdana rader.

MinIo för de minsta

Aktivera MinIO Erasure Coding.

Först nÄgra ord om Àmnet. Kort sagt: detta Àr mjukvaruskydd för data mot skador och förlust. Som RAID, bara mycket mer pÄlitligt. Med klassisk RAID6 kan man förlora tvÄ diskar, men MinIO klarar att förlora hÀlften. Mer detaljerad teknik beskrivs i den. officiella guiden.. Men om vi tar det mest grundlÀggande, sÄ handlar det om implementeringen av Reed-Solomon-koder: all information lagras i form av datablack som har paritetsblock. Och det verkar som om detta redan har gjorts mÄnga gÄnger, bara att det finns ett viktigt 'men': vi kan tydligt ange förhÄllandet mellan paritetsblock och datablack för de lagrade objekten.
Vill du ha 1:1? VarsÄgod!
Vill du ha 5:2? Inga problem!

En mycket viktig funktion om du anvĂ€nder flera noder och vill hitta din egen balans mellan maximal dataskydd och resursĂ„tgĂ„ng. MinIO anvĂ€nder som standard formeln N/2 (dĂ€r N Ă€r det totala antalet diskar), vilket betyder att dina data delas mellan N/2 datadiskar och N/2 paritetsdiskar. Översatt till mĂ€nskligt sprĂ„k: du kan förlora hĂ€lften av diskarna och Ă„terstĂ€lla data. Denna fördelning stĂ€lls in genom Storage Class, vilket lĂ„ter dig vĂ€lja vad som Ă€r viktigare: tillförlitlighet eller kapacitet.

I guiden ges följande exempel: Antag att du har en installation med 16 diskar och du behöver lagra en fil som Ă€r 100 MB. Om standardinstĂ€llningarna anvĂ€nds (8 skivor för data, 8 för parityblock) kommer filen i slutĂ€ndan att ta nĂ€stan dubbelt sĂ„ mycket utrymme, det vill sĂ€ga 200 MB. Om förhĂ„llandet mellan diskarna Ă€r 10/6 kommer det att krĂ€vas 160 MB. 14/2 – 114 MB.

En annan viktig skillnad frÄn RAID: om diskar faller bort kommer MinIO att arbeta pÄ objektnivÄ, ÄterstÀlla dem en efter en utan att stoppa hela systemet. Medan vanlig RAID mÄste ÄterstÀlla hela volymen, vilket kan ta en oförutsÀgbar tid. UtifrÄn författarens minne tog en diskhylla som tappade tvÄ diskar en och en halv vecka att rÀkna om. Det var ganska frustrerande.

Och ett viktigt meddelande: MinIO delar upp alla diskar för Erasure Coding i set med 4 till 16 diskar, vilket anvÀnder den maximalt möjliga storleken pÄ setet. Och framöver kommer en informationsbit att lagras endast inom ett set.

Det lÄter allt mycket imponerande, men hur komplicerad kommer instÀllningen att vara? LÄt oss ta en titt. Vi tar kommandot för att starta och listar bara diskarna pÄ vilka lagret ska skapas. Om allt görs korrekt kommer vi att se antalet involverade diskar i rapporten. Och ett rÄd Àr att det Àr fel att lÀgga till hÀlften av diskarna pÄ en vÀrd, eftersom det kan leda till dataförlust.

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

MinIo för de minsta
DÀrefter, för att hantera och konfigurera MinIO-servern behöver vi en agent som vi kan ladda ner frÄn dÀr finns Àven den officiella webbplatsen.

För att inte behöva skriva adresser och Ätkomstnycklar hela tiden (och det Àr inte sÀkert), Àr det praktiskt att skapa en alias direkt vid första starten enligt formeln mc alias set [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]

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

Eller sÄ kan du direkt lÀgga till din vÀrd:

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

Och sedan skapar vi en immutable bucket med ett snyggt kommando

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 ger en möjlighet att se inte bara det sammanfattande meddelandet, utan mer detaljerad information. 

-l betyder —with-lock, vilket innebĂ€r immutable

Om vi nu gÄr tillbaka till webbgrÀnssnittet, kommer vÄr nya bucket att visas dÀr.

MinIo för de minsta
Detta Àr allt för nu. Vi har skapat ett sÀkert lagringsutrymme och Àr redo att gÄ vidare till integration med Veeam.

Vi kan ocksÄ dubbelkolla att allt fungerar utmÀrkt:

c:minio>mc admin info veeamS3

● 172.17.32.52:9000
   Uptime: 32 minuter
   Version: 2020-08-16T18:39:38Z
   Network: 1/1 OK
   Drives: 6/6 OK
0 B AnvÀnt, 1 Bucket, 0 Objekt
6 enheter online, 0 enheter offline

MinIO och Veeam

Varning! Om du av nÄgon otrolig anledning vill arbeta via HTTP, skapa en DWORD nyckel pÄ adressen HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication SOBRArchiveS3DisableTLS. StÀll in dess vÀrde till 1 och kom ihÄg att vi bestÀmt inte rekommenderar sÄdan anvÀndning.

Varning igen! Om du av nÄgon missförstÄnd fortfarande anvÀnder Windows 2008 R2, kommer du förmodligen att fÄ ett fel som: Failed to establish connection to Amazon S3 endpoint nÀr du försöker koppla MinIO till Veeam. Detta kan ÄtgÀrdas med en officiell patch frÄn Microsoft.

NÄvÀl, förberedelserna Àr nu klara, lÄt oss öppna VBR-grÀnssnittet och gÄ till fliken Backup Infrastructure, dÀr vi kallar pÄ guiden för att lÀgga till ett nytt repository.

MinIo för de minsta
SjÀlvklart Àr vi intresserade av Object storage, nÀmligen S3 Compatible. I den öppnade guiden anger vi namn, genomför stegen angÄende adress och konto. Om det behövs, glöm inte att ange gatewayen genom vilken förfrÄgningar till lagringen kommer att proxys.

MinIo för de minsta
DÀrefter vÀljer vi bucket, mapp och sÀtter en bock i Make recent backups immutable. Eller sÄ gör vi inte det. Men eftersom vi har skapat lagring med stöd för denna funktion, Àr det en skam att inte utnyttja den.

MinIo för de minsta
Next > Finish och njut av resultatet.

Nu mÄste vi lÀgga till det till SOBR-repot som Capacity Tier. Antingen skapar vi en ny eller redigerar en befintlig. Vi Àr intresserade av steget Capacity Tier.

MinIo för de minsta
HÀr mÄste vi vÀlja vilken scenarie vi ska arbeta med. Alla alternativ Àr ganska vÀl beskrivna i en annan artikeln, sÄ jag kommer inte att upprepa mig.

Och vid avslutningen av guiden kommer uppgifter för att kopiera eller flytta sÀkerhetskopior automatiskt att startas. Men om vi inte planerar att omedelbart belasta alla system, se till att ange tillÄtna intervall för arbete via knappen Window.

MinIo för de minsta
Och sjÀlvklart kan man göra separata Backup Copy-uppgifter. Vissa anser att det Àr bekvÀmare sÄ, eftersom de Àr nÄgot mer genomskinliga och förutsÀgbara för anvÀndare som inte vill gÄ in i detaljerna kring capacity tier. Och det finns mÄnga detaljer dÀr, sÄ jag rekommenderar igen den relevanta artikeln i lÀnken ovan.

Och till sist — svaret pĂ„ den skickliga frĂ„gan: vad hĂ€nder om man försöker ta bort en sĂ€kerhetskopia frĂ„n Immutable lagringen?

HÀr Àr svaret:

MinIo för de minsta
Det var allt för idag. Som vanligt, hÀr Àr en lista över anvÀndbara Àmnen om Àmnet:

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster