MinIo for de minste

MinIO er en utmerket løsning når du enkelt og enkelt skal organisere objektlagring. Elementært oppsett, mange plattformer og god ytelse har gjort jobben sin innen populær kjærlighet. Så vi hadde ikke noe annet valg enn å erklære kompatibilitet for en måned siden Veeam Backup & Replication og MinIO. Inkludert en så viktig funksjon som uforanderlighet. Faktisk har MinIO en helhet seksjon i dokumentasjonen dedikert til vår integrasjon.

Derfor vil vi i dag snakke om hvordan:

  • Det går veldig raskt å sette opp MinIO.
  • Å sette opp MinIO er litt mindre raskt, men mye bedre.
  • Bruk den som et arkivnivå for Veeam SOBR Scalable Repository.

MinIo for de minste

Hva er du?

En kort introduksjon for de som ikke har vært borti MinIO. Dette er en åpen kildekode-objektlagring som er kompatibel med Amazon S3 API. Utgitt under Apache v2-lisensen og følger filosofien om spartansk minimalisme.

Det vil si at den ikke har et omfattende GUI med dashbord, grafer og mange menyer. MinIO starter ganske enkelt serveren sin med én kommando, hvor du ganske enkelt kan lagre data ved å bruke den fulle kraften til S3 API. Men det skal bemerkes at denne enkelheten kan være villedende når det kommer til ressursene som brukes. RAM og CPU absorberes perfekt, men årsakene vil bli diskutert nedenfor. Og forresten, skurtreskere som FreeNAS og TrueNAS bruker MinIO under panseret.

Denne introduksjonen kan avsluttes her.

Det går veldig raskt å sette opp MinIO

Det går så raskt å konfigurere det at vi vil se på det for Windows og Linux. Det er alternativer for Docker, og for Kubernetis, og til og med for MacOS, men betydningen vil være den samme overalt.

Så, i tilfelle av Windows, gå til den offisielle nettsiden https://min.io/download#/windows og last ned den nyeste versjonen. Der ser vi også instruksjoner for start:

 minio.exe server F:Data

Og det er også en link til en litt mer detaljert Hurtigstart-guide. Det er ingen vits å ikke tro på instruksjonene, så vi kjører den og får noe sånt som dette svaret.

MinIo for de minste
Det er alt! Lagringen fungerer, og du kan begynne å jobbe med den. Jeg tullet ikke da jeg sa at MinIO er minimalistisk og bare fungerer. Hvis du følger lenken som tilbys under lanseringen, er de maksimale tilgjengelige funksjonene for å lage en bøtte. Og du kan begynne å skrive data.

For Linux-elskere forblir alt ikke mindre enkelt. De enkleste instruksjonene:


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

Resultatet vil være umulig å skille fra det som ble sett tidligere. 

Å sette opp MinIO er litt mer meningsfylt

Som vi forstår, er forrige avsnitt velvære for testformål. Og la oss være ærlige, vi bruker MinIO veldig mye for testing, noe vi slett ikke skammer oss over å innrømme. Selvfølgelig fungerer det, men det er synd å tåle dette utover testbenker. Derfor tar vi en fil i hendene og begynner å tenke på den.

HTTPS

Det første obligatoriske trinnet på veien til produksjon er kryptering. Det er allerede en million og tusen manualer på nettverket for å legge til sertifikater til MiniIO, men deres generelle plan er denne:

  • Opprett et sertifikat
  • Når det gjelder Windows, legg det inn i C:Users%User%.miniocerts
  • For Linux i ${HOME}/.minio/certs 
  • Starter serveren på nytt

Den banale Let's Encrypt er kjedelig og beskrives overalt, så vår vei er banen til samuraien, så i tilfellet med Windows laster vi ned Cygwin, og i tilfelle av Linux sjekker vi ganske enkelt at vi har openssl installert. Og vi gjør litt konsollmagi:

  • Opprett nøkler: openssl ecparam -genkey -navn prime256v1 | openssl ec -out private.key
  • Vi lager et sertifikat ved å bruke nøkkelen: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Kopier private.key og public.crt til mappen spesifisert ovenfor
  • Start MinIO på nytt

Hvis alt gikk som det skulle, vil noe slikt dukke opp i statusen.

MinIo for de minste

Aktiver MinIO Erasure Coding

Først noen ord om emnet. I et nøtteskall: dette er programvarebeskyttelse av data mot skade og tap. Som et raid, bare mye mer pålitelig. Hvis klassisk RAID6 har råd til å miste to disker, så kan MinIO enkelt takle tapet av halvparten. Teknologien er beskrevet mer detaljert i offisiell guide. Men hvis vi tar essensen, så er dette en implementering av Reed-Solomon-koder: all informasjon lagres i form av datablokker, som har paritetsblokker. Og det ser ut til at alt dette allerede har blitt gjort mange ganger, men det er et viktig "men": vi kan eksplisitt indikere forholdet mellom paritetsblokker og datablokker for lagrede objekter.
Vil du ha 1:1? Vær så snill!
Vil du ha 5:2? Ikke noe problem!

En svært viktig funksjon hvis du bruker flere noder samtidig og ønsker å finne din egen balanse mellom maksimal datasikkerhet og brukte ressurser. Ut av esken bruker MinIO formelen N/2 (der N er det totale antallet disker), dvs. deler dataene dine mellom N/2 datadisker og N/2 paritetsdisker. Oversett til menneskelige termer: du kan miste halvparten av diskene og gjenopprette dataene. Denne relasjonen er gitt gjennom Oppbevaringsklasse, slik at du selv kan velge hva som er viktigere: pålitelighet eller kapasitet.

Guiden gir følgende eksempel: anta at du har en installasjon på 16 disker og du må lagre en fil på 100 MB. Hvis standardinnstillingene brukes (8 disker for data, 8 for paritetsblokker), så vil filen til slutt ta opp nesten det dobbelte av volumet, dvs. 200 MB. Hvis diskforholdet er 10/6, vil det være nødvendig med 160 MB. 14/2 - 114 MB.

En annen viktig forskjell fra raids: i tilfelle diskfeil vil MinIO fungere på objektnivå, gjenopprette én etter én, uten å stoppe hele systemet. Mens et vanlig raid vil bli tvunget til å gjenopprette hele volumet, noe som vil ta en uforutsigbar tid. Forfatteren husker en diskhylle som, etter at to disker falt ut, tok halvannen uke å beregne på nytt. Det var ganske ubehagelig.

Og en viktig merknad: MinIO deler alle disker for slettekoding i sett fra 4 til 16 disker, ved å bruke den maksimalt mulige settstørrelsen. Og i fremtiden vil ett informasjonselement bare lagres i ett sett.

Alt dette høres veldig kult ut, men hvor vanskelig vil det være å sette opp? La oss ta en titt. Vi tar kommandoen for å kjøre og viser bare diskene som lagringen må opprettes på. Hvis alt er gjort riktig, vil vi i rapporten se antall disker som er involvert. Og rådet er at det ikke er bra å legge halvparten av diskene til én vert på en gang, fordi dette vil føre til tap av data.

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

MinIo for de minste
Deretter, for å administrere og konfigurere MinIO-serveren, trenger vi en agent som du kan laste ned der fra den offisielle siden.

For ikke å slite ut fingrene hver gang du skriver inn adressen og tilgangstastene (og det er ikke trygt), er det praktisk å opprette et alias umiddelbart når du begynner å bruke formelen mc aliassettet [DIN-ADGANGS-NØKKEL] [DIN-HEMMELIG-NØKKEL]

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

Eller du kan umiddelbart legge til verten din:

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

Og så skal vi lage en uforanderlig bøtte med et vakkert 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

--feilsøke lar deg se ikke bare den endelige meldingen, men mer detaljert informasjon. 

-l betyr —med-lås, som betyr uforanderlig

Hvis vi nå går tilbake til nettgrensesnittet, vil vår nye bøtte dukke opp der.

MinIo for de minste
Det er alt for nå. Vi har laget sikker lagring og er klare til å gå videre til integrasjon med Veeam.

Du kan også sørge for 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 av en eller annen utrolig grunn vil jobbe via HTTP, kan du opprette en DWORD-nøkkel på HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication SOBRArchiveS3DisableTLS. Sett verdien til 1 og husk at vi på det sterkeste ikke godkjenner slik oppførsel og anbefaler den ikke til noen.

Oppmerksomhet igjen! Hvis du på grunn av en eller annen misforståelse fortsetter å bruke Windows 2008 R2, så når du prøver å koble MinIO til Veeam, vil du mest sannsynlig få en feilmelding som dette: Kunne ikke opprette forbindelse til Amazon S3-endepunktet. Dette kan behandles med en offisiell oppdatering fra Microsoft.

Vel, forberedelsene er fullførte, la oss åpne VBR-grensesnittet og gå til fanen Backup Infrastructure, hvor vi vil ringe veiviseren for å legge til et nytt depot.

MinIo for de minste
Selvfølgelig er vi interessert i Objektlagring, nemlig S3 Compatible. I veiviseren som åpnes, angi et navn og gå gjennom trinnene som angir adressen og kontoen. Om nødvendig, ikke glem å spesifisere porten som forespørsler til lageret skal sendes gjennom.

MinIo for de minste
Velg deretter bøtte, mappe og merk av i boksen Gjør nylige sikkerhetskopier uforanderlige. Eller så installerer vi det ikke. Men siden vi har laget et lager som støtter denne funksjonen, ville det være synd å ikke bruke det.

MinIo for de minste
Neste > Fullfør og nyt resultatet.

Nå må vi legge det til SOBR-depotet som et kapasitetsnivå. For å gjøre dette oppretter vi enten en ny eller redigerer en eksisterende. Vi er interessert i trinnet Capacity Tier.

MinIo for de minste
Her må vi velge hvilket scenario vi skal jobbe med. Alle alternativer er beskrevet ganske godt i en annen artikkel, så jeg skal ikke gjenta meg selv

Og når veiviseren er fullført, vil oppgaver for kopiering eller overføring av sikkerhetskopier automatisk startes. Men hvis planene dine ikke inkluderer umiddelbart å plassere belastningen på alle systemer, sørg for å angi akseptable intervaller for arbeid på Vindu-knappen.

MinIo for de minste
Og du kan selvfølgelig gjøre separate sikkerhetskopieringsoppgaver. Noen mener at dette er enda mer praktisk, siden de er noe mer gjennomsiktige og forutsigbare for brukeren som ikke ønsker å fordype seg i detaljene rundt driften av skytebanen. Og det er nok detaljer der, så nok en gang anbefaler jeg den tilsvarende artikkelen på lenken over.

Og til slutt, svaret på det forræderske spørsmålet: hva vil skje hvis du fortsatt prøver å slette sikkerhetskopien fra den uforanderlige lagringen?

Her er svaret:

MinIo for de minste
Det var alt for i dag. I sann tradisjon, ta en liste over nyttige emner om emnet:

Kilde: www.habr.com

Legg til en kommentar