MinIo til de mindste

MinIO er en fremragende løsning, når du nemt og enkelt skal organisere objektopbevaring. Elementært setup, mange platforme og god ydeevne har gjort deres arbejde inden for populær kærlighed. Så vi havde intet andet valg end at erklære kompatibilitet for en måned siden Veeam Backup & Replication og MinIO. Herunder en så vigtig funktion som uforanderlighed. Faktisk har MinIO en helhed sektion i dokumentationen dedikeret til vores integration.

Derfor vil vi i dag tale om, hvordan:

  • Opsætning af MinIO er meget hurtig.
  • Opsætning af MinIO er lidt mindre hurtig, men meget bedre.
  • Brug det som et arkivniveau for Veeam SOBR Scalable Repository.

MinIo til de mindste

Hvad er du?

En kort introduktion til dem, der ikke har mødt MinIO. Dette er et open source-objektlager, der er kompatibelt med Amazon S3 API. Udgivet under Apache v2-licensen og overholder filosofien om spartansk minimalisme.

Det vil sige, at den ikke har en vidtstrakt GUI med dashboards, grafer og adskillige menuer. MinIO starter ganske enkelt sin server med én kommando, hvor du blot kan gemme data ved hjælp af S3 API'ens fulde kraft. Men det skal bemærkes, at denne enkelhed kan være vildledende, når det kommer til de anvendte ressourcer. RAM og CPU absorberes perfekt, men årsagerne vil blive diskuteret nedenfor. Og i øvrigt bruger mejetærskere som FreeNAS og TrueNAS MinIO under motorhjelmen.

Denne introduktion kan slutte her.

Opsætning af MinIO er meget hurtig

Opsætningen er så hurtig, at vi vil se på den til Windows og Linux. Der er muligheder for Docker og Kubernetis og endda for MacOS, men betydningen vil være den samme overalt.

Så i tilfælde af Windows, gå til den officielle hjemmeside https://min.io/download#/windows og download den seneste version. Der ser vi også instruktioner til start:

 minio.exe server F:Data

Og der er også et link til en lidt mere detaljeret Lynhåndbog. Det nytter ikke at ikke tro på instruktionerne, så vi kører det og får noget som dette svar.

MinIo til de mindste
Det er alt! Lageret fungerer, og du kan begynde at arbejde med det. Jeg lavede ikke sjov, da jeg sagde, at MinIO er minimalistisk og bare virker. Hvis du følger linket, der tilbydes under lanceringen, er de maksimale tilgængelige funktioner til at oprette en spand. Og du kan begynde at skrive data.

For Linux-elskere forbliver alt ikke mindre enkelt. De enkleste instruktioner:


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

Resultatet vil ikke kunne skelnes fra det, man tidligere har set. 

Opsætning af MinIO er lidt mere meningsfuldt

Som vi forstår, er det foregående afsnit forkælelse til testformål. Og lad os være ærlige, vi bruger MinIO meget bredt til test, hvilket vi slet ikke skammer os over at indrømme. Selvfølgelig virker det, men det er en skam at udholde dette ud over testbænke. Derfor tager vi en fil i hænderne og begynder at tænke på den.

HTTPS

Det første obligatoriske trin på vejen til produktion er kryptering. Der er allerede en million og tusind manualer på netværket til at tilføje certifikater til MiniIO, men deres generelle plan er denne:

  • Opret et certifikat
  • I tilfælde af Windows, læg det i C:Users%User%.miniocerts
  • Til Linux i ${HOME}/.minio/certs 
  • Genstarter serveren

Den banale Let's Encrypt er kedelig og beskrives overalt, så vores vej er samuraiens vej, så i tilfælde af Windows downloader vi Cygwin, og i tilfælde af Linux tjekker vi blot, at vi har openssl installeret. Og vi laver lidt konsolmagi:

  • Opret nøgler: openssl ecparam -genkey -navn prime256v1 | openssl ec -out private.key
  • Vi opretter et certifikat ved hjælp af nøglen: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Kopier private.key og public.crt til mappen angivet ovenfor
  • Genstart MinIO

Hvis alt gik som det skulle, så vil noget som dette dukke op i statussen.

MinIo til de mindste

Aktiver MinIO Erasure Coding

Først et par ord om emnet. I en nøddeskal: dette er softwarebeskyttelse af data mod skade og tab. Som et raid, kun meget mere pålideligt. Hvis klassisk RAID6 har råd til at miste to diske, så kan MinIO sagtens klare tabet af halvdelen. Teknologien er beskrevet mere detaljeret i officiel guide. Men hvis vi tager essensen, så er dette en implementering af Reed-Solomon-koder: al information gemmes i form af datablokke, som har paritetsblokke. Og det ser ud til, at alt dette allerede er blevet gjort mange gange, men der er et vigtigt "men": vi kan eksplicit angive forholdet mellem paritetsblokke og datablokke for lagrede objekter.
Vil du have 1:1? Vær venlig!
Vil du have 5:2? Intet problem!

En meget vigtig funktion, hvis du bruger flere noder på én gang og ønsker at finde din egen balance mellem maksimal datasikkerhed og brugte ressourcer. Ud af boksen bruger MinIO formlen N/2 (hvor N er det samlede antal diske), dvs. opdeler dine data mellem N/2 datadiske og N/2 paritetsdiske. Oversættelse til menneskelige termer: du kan miste halvdelen af ​​diskene og gendanne dataene. Denne relation er givet igennem Opbevaringsklasse, så du selv kan vælge, hvad der er vigtigere: pålidelighed eller kapacitet.

Guiden giver følgende eksempel: antag, at du har en installation på 16 diske, og du skal gemme en fil på 100 MB i størrelse. Hvis standardindstillingerne bruges (8 diske til data, 8 for paritetsblokke), så vil filen i sidste ende fylde næsten det dobbelte af volumen, dvs. 200 MB. Hvis diskforholdet er 10/6, er det nødvendigt med 160 MB. 14/2 - 114 MB.

En anden vigtig forskel fra raids: I tilfælde af diskfejl vil MinIO arbejde på objektniveau, genskabe en efter en uden at stoppe hele systemet. Mens et regulært raid vil blive tvunget til at gendanne hele volumen, hvilket vil tage en uforudsigelig mængde tid. Forfatteren husker en diskhylde, som efter at to diske faldt ud, tog halvanden uge at genberegne. Det var ret ubehageligt.

Og en vigtig note: MinIO opdeler alle diske til sletningskodning i sæt fra 4 til 16 diske ved at bruge den maksimalt mulige sætstørrelse. Og i fremtiden vil ét informationselement kun blive gemt i ét sæt.

Det hele lyder meget fedt, men hvor svært vil det være at sætte op? Lad os tage et kig. Vi tager kommandoen til at køre og viser blot de diske, hvorpå lageret skal oprettes. Hvis alt er gjort korrekt, vil vi i rapporten se antallet af involverede diske. Og rådet er, at det ikke er godt at tilføje halvdelen af ​​diskene til én vært på én gang, fordi det vil føre til tab af data.

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

MinIo til de mindste
For at administrere og konfigurere MinIO-serveren skal vi derefter bruge en agent, som du kan downloade der fra den officielle side.

For ikke at slide fingrene op, hver gang du indtaster adressen og adgangstasterne (og det er ikke sikkert), er det praktisk at oprette et alias med det samme, når du først begynder at bruge formel mc aliassæt [DIN-ADGANGS-NØGLE] [DIN-HEMMELIG-NØGLE]

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

Eller du kan straks tilføje din vært:

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

Og så vil vi skabe en uforanderlig bøtte med et smukt team

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

--fejlfinde giver dig mulighed for at se ikke kun den endelige besked, men mere detaljerede oplysninger. 

-l betyder —med-lås, hvilket betyder uforanderlig

Hvis vi nu vender tilbage til webgrænsefladen, vil vores nye bucket dukke op der.

MinIo til de mindste
Det er alt for nu. Vi har skabt sikker opbevaring og er klar til at gå videre til integration med Veeam.

Du kan også sikre dig, at alt fungerer perfekt:

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 og Veeam

Advarsel! Hvis du af en eller anden utrolig grund vil arbejde via HTTP, skal du oprette en DWORD-nøgle på HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication SOBRArchiveS3DisableTLS. Indstil dens værdi til 1 og husk, at vi på det kraftigste ikke godkender sådan adfærd og ikke anbefaler den til nogen.

OBS igen! Hvis du på grund af en eller anden misforståelse fortsætter med at bruge Windows 2008 R2, så vil du, når du forsøger at forbinde MinIO til Veeam, højst sandsynligt modtage en fejl som denne: Kunne ikke oprette forbindelse til Amazon S3-slutpunktet. Dette kan behandles med et officielt plaster fra microsoft.

Nå, forberedelserne er færdige, lad os åbne VBR-grænsefladen og gå til fanen Backup Infrastructure, hvor vi kalder guiden til at tilføje et nyt lager.

MinIo til de mindste
Selvfølgelig er vi interesserede i Object storage, nemlig S3 Compatible. Indstil et navn i guiden, der åbnes, og gå gennem trinene, der angiver adressen og kontoen. Hvis det kræves, glem ikke at angive den gate, hvorigennem anmodninger til lageret vil blive fuldmagt.

MinIo til de mindste
Vælg derefter bøtten, mappen og marker afkrydsningsfeltet Gør nylige sikkerhedskopier uforanderlige. Eller vi installerer det ikke. Men da vi har lavet et lager, der understøtter denne funktion, ville det være synd ikke at bruge det.

MinIo til de mindste
Næste > Afslut og nyd resultatet.

Nu skal vi tilføje det til SOBR-lageret som et kapacitetsniveau. For at gøre dette opretter vi enten en ny eller redigerer en eksisterende. Vi er interesserede i trinnet Capacity Tier.

MinIo til de mindste
Her skal vi vælge hvilket scenarie vi vil arbejde med. Alle muligheder er beskrevet ganske godt i en anden artiklen, så jeg vil ikke gentage mig selv

Og når guiden er færdig, vil opgaver til kopiering eller overførsel af sikkerhedskopier automatisk blive startet. Men hvis dine planer ikke inkluderer øjeblikkelig at placere belastningen på alle systemer, så sørg for at indstille acceptable intervaller for arbejde på vinduesknappen.

MinIo til de mindste
Og du kan selvfølgelig lave separate sikkerhedskopieringsopgaver. Nogle mener, at dette er endnu mere bekvemt, da de er noget mere gennemsigtige og forudsigelige for brugeren, der ikke ønsker at dykke ned i detaljerne om driften af ​​skydebanen. Og der er nok detaljer der, så endnu en gang anbefaler jeg den tilsvarende artikel på linket ovenfor.

Og endelig, svaret på det forræderiske spørgsmål: hvad vil der ske, hvis du stadig prøver at slette sikkerhedskopien fra det uforanderlige lager?

Her er svaret:

MinIo til de mindste
Det var alt for i dag. I sand tradition kan du fange en liste over nyttige emner om emnet:

Kilde: www.habr.com

Tilføj en kommentar