Minio per i più piccoli

MinIO è un'ottima soluzione quando è necessario organizzare in modo facile e semplice l'archiviazione di oggetti. Configurazione elementare, molte piattaforme e buone prestazioni hanno fatto il loro lavoro nel campo dell'amore popolare. Quindi non abbiamo avuto altra scelta che dichiarare la compatibilità un mese fa Veeam Backup & Replication e MiniIO. Inclusa una caratteristica così importante come l'immutabilità. In effetti, MinIO ha un tutto sezione nella documentazione dedicata alla nostra integrazione.

Pertanto, oggi parleremo di come:

  • La configurazione di MinIO è molto rapida.
  • La configurazione di MinIO è un po' meno veloce, ma molto migliore.
  • Usalo come livello archivio per il repository scalabile Veeam SOBR.

Minio per i più piccoli

Che cosa siete?

Una breve introduzione per coloro che non hanno incontrato MinIO. Si tratta di uno storage di oggetti open source compatibile con l'API Amazon S3. Rilasciato sotto la licenza Apache v2 e aderisce alla filosofia del minimalismo spartano.

Cioè, non ha una GUI tentacolare con dashboard, grafici e numerosi menu. MinIO avvia semplicemente il suo server con un comando, dove puoi semplicemente archiviare i dati utilizzando tutta la potenza dell'API S3. Ma va notato che questa semplicità può essere ingannevole quando si tratta delle risorse utilizzate. RAM e CPU vengono assorbite perfettamente, ma i motivi verranno discussi di seguito. E, a proposito, combinazioni come FreeNAS e TrueNAS utilizzano MinIO sotto il cofano.

Questa introduzione può terminare qui.

La configurazione di MinIO è molto veloce

La configurazione è così veloce che la esamineremo per Windows e Linux. Esistono opzioni per Docker, Kubernetis e persino per MacOS, ma il significato sarà lo stesso ovunque.

Quindi, nel caso di Windows, vai al sito ufficiale https://min.io/download#/windows e scarica l'ultima versione. Lì vediamo anche le istruzioni per l'avvio:

 minio.exe server F:Data

E c'è anche un collegamento a uno leggermente più dettagliato Guida Rapida. Non ha senso non credere alle istruzioni, quindi lo eseguiamo e otteniamo qualcosa di simile a questa risposta.

Minio per i più piccoli
È tutto! Lo spazio di archiviazione funziona e puoi iniziare a lavorarci. Non stavo scherzando quando ho detto che MinIO è minimalista e funziona e basta. Se segui il collegamento offerto durante il lancio, le funzioni massime disponibili sono per creare un bucket. E puoi iniziare a scrivere dati.

Per gli amanti di Linux tutto rimane non meno semplice. Le istruzioni più semplici:


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

Il risultato sarà indistinguibile da quanto visto in precedenza. 

Configurare MinIO è un po' più significativo

Come abbiamo capito, il paragrafo precedente è una coccola a scopo di test. E, siamo onesti, utilizziamo MinIO molto ampiamente per i test, cosa che non ci vergogniamo affatto di ammetterlo. Certo, funziona, ma è un peccato sopportarlo oltre i banchi di prova. Pertanto, prendiamo il file tra le mani e iniziamo a ricordarlo.

HTTPS

Il primo passo obbligatorio nel percorso verso la produzione è la crittografia. Esistono già un milione e mille manuali in rete per aggiungere certificati a MiniIO, ma il loro piano generale è questo:

  • Crea un certificato
  • Nel caso di Windows, inseriscilo in C:Users%User%.miniocerts
  • Per Linux in ${HOME}/.minio/certs 
  • Riavvio del server

Il banale Let's Encrypt è noioso ed è descritto ovunque, quindi il nostro percorso è il percorso del samurai, quindi nel caso di Windows scarichiamo Cygwin, e nel caso di Linux controlliamo semplicemente che abbiamo openssl installato. E facciamo una piccola magia da console:

  • Crea le chiavi: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • Creiamo un certificato utilizzando la chiave: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Copia private.key e public.crt nella cartella specificata sopra
  • Riavvia MinIO

Se tutto è andato come dovrebbe, nello stato apparirà qualcosa di simile.

Minio per i più piccoli

Abilita la codifica di cancellazione MinIO

Innanzitutto qualche parola sull’argomento. In poche parole: questa è la protezione software dei dati da danni e perdite. Come un raid, solo molto più affidabile. Se il classico RAID6 può permettersi di perdere due dischi, allora MinIO può facilmente far fronte alla perdita della metà. La tecnologia è descritta più dettagliatamente in guida ufficiale. Ma se prendiamo l'essenza, allora questa è un'implementazione dei codici Reed-Solomon: tutte le informazioni sono memorizzate sotto forma di blocchi di dati, che hanno blocchi di parità. E sembra che tutto questo sia già stato fatto molte volte, ma c'è un “ma” importante: possiamo indicare esplicitamente il rapporto tra blocchi di parità e blocchi di dati per gli oggetti archiviati.
Vuoi 1:1? Per favore!
Vuoi 5:2? Nessun problema!

Una caratteristica molto importante se si utilizzano più nodi contemporaneamente e si desidera trovare il proprio equilibrio tra la massima sicurezza dei dati e le risorse spese. Per impostazione predefinita, MinIO utilizza la formula N/2 (dove N è il numero totale di dischi), ovvero divide i dati tra N/2 dischi dati e N/2 dischi di parità. Traducendo in termini umani: puoi perdere metà dei dischi e recuperare i dati. Questa relazione è data attraverso Classe di stoccaggio, permettendoti di scegliere tu stesso cosa è più importante: affidabilità o capacità.

La guida riporta il seguente esempio: supponiamo di avere un'installazione su 16 dischi e di dover salvare un file di 100 MB. Se vengono utilizzate le impostazioni predefinite (8 dischi per i dati, 8 per i blocchi di parità), il file alla fine occuperà quasi il doppio del volume, ovvero 200 MB. Se il rapporto del disco è 10/6, saranno necessari 160 MB. 14/2 - 114MB.

Un'altra importante differenza rispetto ai raid: in caso di guasto del disco, MinIO funzionerà a livello di oggetto, ripristinandone uno per uno, senza fermare l'intero sistema. Mentre un raid regolare sarà costretto a ripristinare l'intero volume, il che richiederà un tempo imprevedibile. L'autore ricorda uno scaffale di dischi che, dopo la caduta di due dischi, impiegò una settimana e mezza per ricalcolarli. È stato piuttosto spiacevole.

E una nota importante: MinIO divide tutti i dischi per la codifica di cancellazione in set da 4 a 16 dischi, utilizzando la dimensione massima possibile del set. E in futuro, un elemento di informazione verrà archiviato solo all'interno di un set.

Sembra tutto molto interessante, ma quanto sarà difficile configurarlo? Diamo un'occhiata. Prendiamo il comando da eseguire ed elenchiamo semplicemente i dischi su cui deve essere creato lo spazio di archiviazione. Se tutto è stato eseguito correttamente, nel rapporto vedremo il numero di dischi coinvolti. E il consiglio è che non è bene aggiungere metà dei dischi a un host alla volta, perché ciò comporterebbe la perdita di dati.

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

Minio per i più piccoli
Successivamente, per gestire e configurare il server MinIO, avremo bisogno di un agente, che puoi scaricare ibid dal sito ufficiale.

Per non stancarti le dita ogni volta che digiti l'indirizzo e le chiavi di accesso (e non è sicuro), è conveniente creare subito un alias quando inizi a utilizzare la formula mc alias set [LA TUA CHIAVE DI ACCESSO] [LA TUA CHIAVE SEGRETA]

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

Oppure puoi aggiungere immediatamente il tuo host:

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

E poi creeremo un secchio immutabile con una bellissima squadra

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 ti consente di vedere non solo il messaggio finale, ma informazioni più dettagliate. 

-l significa —con-serratura, che significa immutabile

Se ora torniamo all'interfaccia web, lì apparirà il nostro nuovo bucket.

Minio per i più piccoli
È tutto per ora. Abbiamo creato uno storage sicuro e siamo pronti a passare all'integrazione con Veeam.

Puoi anche assicurarti che tutto funzioni perfettamente:

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

Attenzione! Se per qualche motivo incredibile desideri lavorare tramite HTTP, in HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication crea una chiave DWORD SOBRArchiveS3DisableTLS. Imposta il suo valore su 1 e ricorda che non approviamo assolutamente tale comportamento e non lo consigliamo a nessuno.

Ancora attenzione! Se, a causa di qualche malinteso, continui a utilizzare Windows 2008 R2, quando provi a connettere MinIO a Veeam, molto probabilmente riceverai un errore simile a questo: Impossibile stabilire la connessione all'endpoint Amazon S3. Questo può essere trattato con una patch ufficiale di Microsoft.

Bene, i preparativi sono completi, apriamo l'interfaccia VBR e andiamo alla scheda Infrastruttura di backup, dove chiameremo la procedura guidata per l'aggiunta di un nuovo repository.

Minio per i più piccoli
Naturalmente a noi interessa l'Object storage, ovvero la compatibilità S3. Nella procedura guidata che si apre, imposta un nome e segui i passaggi indicando l'indirizzo e l'account. Se richiesto, non dimenticare di specificare il gate attraverso il quale verranno proxy le richieste allo storage.

Minio per i più piccoli
Quindi seleziona il bucket, la cartella e seleziona la casella Rendi immutabili i backup recenti. Oppure non lo installiamo. Ma poiché abbiamo realizzato un magazzino che supporta questa funzione, sarebbe un peccato non utilizzarlo.

Minio per i più piccoli
Avanti > Termina e goditi il ​​risultato.

Ora dobbiamo aggiungerlo al repository SOBR come livello di capacità. Per fare ciò, ne creiamo uno nuovo o ne modifichiamo uno esistente. Siamo interessati al passaggio Livello di capacità.

Minio per i più piccoli
Qui dobbiamo scegliere con quale scenario lavoreremo. Tutte le opzioni sono descritte abbastanza bene in un altro Articolo, quindi non mi ripeterò

E al completamento della procedura guidata, le attività per la copia o il trasferimento dei backup verranno avviate automaticamente. Ma se i tuoi piani non prevedono il posizionamento immediato del carico su tutti i sistemi, assicurati di impostare intervalli accettabili per lavorare sul pulsante Finestra.

Minio per i più piccoli
E, naturalmente, puoi eseguire attività di copia di backup separate. Alcuni credono che questo sia ancora più conveniente, poiché sono in qualche modo più trasparenti e prevedibili per l'utente che non vuole approfondire i dettagli del funzionamento del poligono di tiro. E ci sono abbastanza dettagli lì, quindi ancora una volta consiglio l'articolo corrispondente al link sopra.

E infine, la risposta alla domanda insidiosa: cosa succederà se provi ancora a eliminare il backup dall'archivio immutabile?

Ecco la risposta:

Minio per i più piccoli
È tutto per oggi. Nella vera tradizione, prendi un elenco di argomenti utili sull'argomento:

Fonte: habr.com

Aggiungi un commento