Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Il mondo ha visto il primo prototipo di storage di oggetti nel 1996. Tra 10 anni, Amazon Web Services lancerà Amazon S3 e il mondo inizierà a impazzire sistematicamente con uno spazio di indirizzi piatto. Grazie al lavoro con i metadati e alla sua capacità di scalare senza cedimenti sotto carico, l'object storage è diventato rapidamente lo standard per la maggior parte dei servizi di archiviazione dati cloud, e non solo. Un'altra caratteristica importante è che è adatto per l'archiviazione di archivi e file simili utilizzati raramente. Tutti coloro che erano coinvolti nell'archiviazione dei dati si sono rallegrati e hanno indossato la nuova tecnologia tra le loro braccia.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Ma le voci della gente erano piene di voci secondo cui l'archiviazione di oggetti riguarda solo grandi cloud e se non hai bisogno di soluzioni da dannati capitalisti, allora sarà molto difficile crearne una tua. È già stato scritto molto sull’implementazione del proprio cloud, ma non sono disponibili informazioni sufficienti sulla creazione delle cosiddette soluzioni compatibili con S3.

Pertanto, oggi scopriremo quali opzioni ci sono "In modo che sia come adulti, non CEPH e un file più grande", ne implementeremo una e controlleremo che tutto funzioni utilizzando Veeam Backup & Replication. Afferma di supportare il lavoro con archivi compatibili con S3 e testeremo questa affermazione.

E gli altri?

Suggerisco di iniziare con una piccola panoramica del mercato e delle opzioni di archiviazione degli oggetti. Il leader e lo standard generalmente riconosciuto è Amazon S3. I due inseguitori più vicini sono Microsoft Azure Blob Storage e IBM Cloud Object Storage.

È tutto? Davvero non ci sono altri concorrenti? Naturalmente ci sono concorrenti, ma alcuni seguono la propria strada, come Google Cloud o Oracle Cloud Object Storage, con un supporto incompleto per l'API S3. Alcuni utilizzano versioni precedenti dell'API, come Baidu Cloud. E alcuni, come Hitachi Cloud, richiedono una logica speciale, che causerà sicuramente le proprie difficoltà. In ogni caso tutti vengono paragonati ad Amazon, che può essere considerato lo standard del settore.

Ma nelle soluzioni on-premise c’è molta più scelta, quindi delineamo i criteri che sono importanti per noi. In linea di principio ne bastano solo due: il supporto per l’API S3 e l’utilizzo della firma v4. Sinceramente a noi, come futuri clienti, interessano solo le interfacce per l'interazione, e non siamo così interessati alla cucina interna del magazzino stesso.

Molte soluzioni si adattano a queste semplici condizioni. Ad esempio, i classici pesi massimi aziendali:

  • DellEMCECS
  • Griglia di storage NetApp S3
  • Benne Nutanix
  • Pure Storage FlashBlade e StorReduce
  • Huawei Fusion Storage

Esiste una nicchia di soluzioni puramente software che funzionano fuori dagli schemi:

  • Cappello Rosso Ceph
  • Archiviazione aziendale SUSE
  • Nubiano

E anche quelli a cui piace archiviare attentamente dopo l'assemblaggio non si sono offesi:

  • CEPH nella sua forma più pura
  • Minio (versione Linux, perché ci sono molte domande sulla versione Windows)

L'elenco è lungi dall'essere completo; può essere discusso nei commenti. Non dimenticare di controllare le prestazioni del sistema oltre alla compatibilità dell'API prima dell'implementazione. L'ultima cosa che desideri è perdere terabyte di dati a causa di query bloccate. Quindi non essere timido con i test di carico. In generale, tutti i software per adulti che funzionano con grandi quantità di dati dispongono almeno di rapporti di compatibilità. In caso di Veeam c'è intero programma su test reciproci, che ci permettono di dichiarare con sicurezza la piena compatibilità dei nostri prodotti con apparecchiature specifiche. Già questo è un lavoro a doppio senso, non sempre veloce, ma in continua espansione elenco soluzioni testate.

Allestimento del nostro stand

Vorrei parlare un po' della scelta del soggetto del test.

Innanzitutto, volevo trovare un'opzione che funzionasse immediatamente. Bene, o almeno con la massima probabilità che funzioni senza la necessità di fare movimenti inutili. Ballare con un tamburello e armeggiare con la console di notte è molto emozionante, ma a volte vorresti che funzionasse subito. E l’affidabilità complessiva di tali soluzioni è generalmente più elevata. E sì, lo spirito di avventurismo è scomparso in noi, abbiamo smesso di arrampicarci sulle finestre delle nostre amate donne, ecc. (c).

In secondo luogo, a dire il vero, la necessità di lavorare con l'object storage sorge in aziende abbastanza grandi, quindi questo è proprio il caso in cui guardare a soluzioni di livello aziendale non solo non è vergognoso, ma addirittura incoraggiato. In ogni caso, non conosco ancora esempi di licenziamenti per aver acquistato tali soluzioni.

Sulla base di tutto quanto sopra, la mia scelta è caduta Dell EMC ECS Community Edition. Questo è un progetto molto interessante e ritengo necessario parlarvene.

La prima cosa che ti viene in mente quando vedi il componente aggiuntivo Community Edition - che questa è solo una copia di un ECS a tutti gli effetti con alcune restrizioni che vengono rimosse acquistando una licenza. Quindi no!

Ricorda:

!!!Community Edition è un progetto separato creato per i test e senza supporto tecnico da parte di Dell!!
E non può essere trasformato in un ECS a tutti gli effetti, anche se lo desideri davvero.

Capiamo

Molte persone credono che Dell EMC ECS sia quasi la soluzione migliore se hai bisogno di storage di oggetti. Tutti i progetti sotto il marchio ECS, compresi quelli commerciali e societari, si basano su githabe. Una sorta di gesto di buona volontà da parte di Dell. E oltre al software che viene eseguito sull'hardware con marchio, esiste una versione open source che può essere distribuita nel cloud, su una macchina virtuale, in un contenitore o su qualsiasi hardware. Guardando al futuro, esiste anche una versione OVA, che utilizzeremo.
La stessa DELL ECS Community Edition è una versione mini di un software completo che funziona su server Dell EMC ECS con marchio.

Ho identificato quattro differenze principali:

  • Nessun supporto per la crittografia. È un peccato, ma non critico.
  • Manca lo strato di tessuto. Questa cosa è responsabile della creazione di cluster, della gestione delle risorse, degli aggiornamenti, del monitoraggio e dell'archiviazione delle immagini Docker. Qui è già molto offensivo, ma Dell può anche essere compreso.
  • La conseguenza più disgustosa del punto precedente: la dimensione del nodo non può essere ampliata una volta completata l'installazione.
  • Nessun supporto tecnico. Questo è un prodotto da testare, di cui non è vietato l'uso in piccole installazioni, ma personalmente non oserei caricare lì petabyte di dati importanti. Ma tecnicamente nessuno può impedirti di farlo.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Cosa c'è nella versione grande?

Galoppiamo per l'Europa e analizziamo soluzioni ferree per avere una comprensione più completa dell'ecosistema.

Non confermerò o confuterò in alcun modo l'affermazione secondo cui DELL ECS è il miglior storage di oggetti on-premise, ma se hai qualcosa da dire su questo argomento, sarò felice di leggerlo nei commenti. Almeno secondo la versione IDC MarketScape 2018 Dell EMC è sicuramente tra i primi cinque leader del mercato OBS. Sebbene le soluzioni basate su cloud non siano prese in considerazione in questo caso, questa è una conversazione separata.

Da un punto di vista tecnico, ECS è un object storage che fornisce l'accesso ai dati utilizzando protocolli di cloud storage. Supporta AWS S3 e OpenStack Swift. Per i bucket abilitati per i file, ECS supporta NFSv3 per l'esportazione file per file.

Il processo di registrazione delle informazioni è piuttosto insolito, soprattutto dopo i classici sistemi di archiviazione a blocchi.

  • Quando arrivano nuovi dati, viene creato un nuovo oggetto che ha un nome, i dati stessi e i metadati.
  • Gli oggetti sono divisi in blocchi da 128 MB e ogni blocco viene scritto su tre nodi contemporaneamente.
  • Il file indice viene aggiornato, dove vengono registrati gli identificatori e le posizioni di archiviazione.
  • Il file di registro (voce di registro) viene aggiornato e anche scritto su tre nodi.
  • Al client viene inviato un messaggio sull'avvenuta registrazione
    Tutte e tre le copie dei dati vengono scritte in parallelo. La scrittura viene considerata riuscita solo se tutte e tre le copie sono state scritte correttamente.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

La lettura è più semplice:

  • Il client richiede dati.
  • L'indice cerca dove sono archiviati i dati.
  • I dati vengono letti da un nodo e inviati al client.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Esistono diversi server, quindi diamo un'occhiata al più piccolo Dell EMC ECS EX300. Si parte da 60TB, con possibilità di crescere fino a 1,5PB. E il suo fratello maggiore, Dell EMC ECS EX3000, consente di archiviare fino a 8,6 PB per rack.

Distribuire

Tecnicamente, Dell ECS CE può essere distribuito a piacere. In ogni caso non ho trovato restrizioni esplicite. Tuttavia, è conveniente eseguire tutto il ridimensionamento clonando il primo nodo, per il quale abbiamo bisogno di:

  • 8 CPU virtuale
  • RAM 64GB
  • 16 GB per il sistema operativo
  • Memoria diretta da 1 TB
  • Ultima versione di CentOS minimal

Questa è un'opzione quando desideri installare tutto da solo fin dall'inizio. Questa opzione non è rilevante per noi, perché... Utilizzerò l'immagine OVA per la distribuzione.

Ma in ogni caso, i requisiti sono molto malvagi anche per un nodo e, se segui rigorosamente la lettera della legge, avrai bisogno di quattro di questi nodi.

Tuttavia, gli sviluppatori ECS CE vivono nel mondo reale e l'installazione riesce anche con un nodo e i requisiti minimi sono:

  • 4 CPU virtuale
  • 16 GB di RAM
  • 16 GB per il sistema operativo
  • Spazio di archiviazione stesso da 104 GB

Queste sono le risorse necessarie per distribuire l'immagine OVA. Già molto più umano e realistico.

Il nodo di installazione stesso può essere ottenuto dal funzionario github. C'è anche una documentazione dettagliata sulla distribuzione all-in-one, ma puoi anche leggere quella ufficiale leggi i documenti. Pertanto non ci soffermeremo nei dettagli sullo svolgimento dell'OVA, non ci sono trucchi lì. La cosa principale è che prima di avviarlo, non dimenticare di espandere il disco al volume richiesto o di allegare quello necessario.
Avviamo la macchina, apriamo la console e utilizziamo le migliori credenziali predefinite:

  • accesso: amministratore
  • password: Cambiami

Quindi eseguiamo sudo nmtui e configuriamo l'interfaccia di rete: IP/maschera, DNS e gate. Tenendo presente che CentOS minimal non dispone di net-tools, controlliamo le impostazioni tramite ip addr.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

E poiché solo i coraggiosi conquistano i mari, facciamo uno squisito aggiornamento, dopodiché riavviamo. In realtà è abbastanza sicuro perché... tutta la distribuzione viene eseguita tramite playbook e tutti i pacchetti docker importanti sono bloccati sulla versione corrente.

Ora è il momento di modificare lo script di installazione. Nessuna finestra fantasiosa o pseudo interfaccia utente per te: tutto viene eseguito tramite il tuo editor di testo preferito. Tecnicamente ci sono due modi: puoi eseguire ogni comando manualmente oppure avviare subito il configuratore di videoploy. Aprirà semplicemente la configurazione in vim e all'uscita inizierà a controllarla. Ma non è interessante semplificarti deliberatamente la vita, quindi eseguiamo altri due comandi. Anche se questo non ha senso, ti avevo avvertito =)

Quindi, creiamo vim ECS-CommunityEdition/deploy.xml e apportiamo le modifiche minime ottimali in modo che ECS sia attivo e funzionante. L'elenco dei parametri può essere abbreviato, ma l'ho fatto in questo modo:

  • Licensed_accepted: true Non è necessario modificarlo, quindi durante la distribuzione ti verrà chiesto esplicitamente di accettarlo e ti verrà mostrata una frase carina. Forse questo è anche un uovo di Pasqua.
    Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi
  • Decommenta le righe autonames: e custom: inserisci almeno un nome desiderato per il nodo: il nome host verrà sostituito con esso durante il processo di installazione.
  • install_node: 192.168.1.1 Specificare l'IP reale del nodo. Nel nostro caso, indichiamo lo stesso di nmtui
  • dns_domain: inserisci il tuo dominio.
  • dns_servers: inserisci il tuo DNS.
  • ntp_servers: puoi specificarne uno qualsiasi. Ho preso il primo che ho trovato dal pool 0.pool.ntp.org (è diventato 91.216.168.42)
  • autonaming: custom Se non rimuovi il commento, la luna si chiamerà Luna.
  • ecs_block_devices:
    / Dev / sdb
    Per qualche motivo sconosciuto, potrebbe esserci un dispositivo di archiviazione a blocchi inesistente /dev/vda
  • storage_pools:
    membri:
    192.168.1.1 Anche qui indichiamo l'IP reale del nodo
  • ecs_block_devices:
    /dev/sdb Ripetiamo l'operazione di eliminazione dei dispositivi inesistenti.

In generale, l'intero file è descritto in modo molto dettagliato in documentazione, ma chi lo leggerà in un momento così travagliato. Dice anche che il minimo sufficiente è specificare l'IP e la maschera, ma nel mio laboratorio un set del genere si è avviato piuttosto male e ho dovuto espanderlo a quello specificato sopra.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Dopo essere usciti dall'editor, è necessario eseguire update_deploy /home/admin/ECS-CommunityEdition/deploy.yml e, se tutto è stato eseguito correttamente, ciò verrà segnalato esplicitamente.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Quindi devi ancora eseguire videoploy, attendere l'aggiornamento dell'ambiente e puoi avviare l'installazione stessa con il comando ova-step1 e, dopo aver completato con successo, il comando ova-step2. Importante: non fermare gli script manualmente! Alcuni passaggi potrebbero richiedere molto tempo, potrebbero non essere completati al primo tentativo e potrebbero sembrare che tutto sia rotto. In ogni caso, devi attendere che lo script si completi in modo naturale. Alla fine dovresti vedere un messaggio simile a questo.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Ora possiamo finalmente aprire il pannello di controllo WebUI utilizzando l'IP che conosciamo. Se la configurazione non è stata modificata in fase, l'account predefinito sarà root/ChangeMe. Puoi anche utilizzare subito il nostro spazio di archiviazione compatibile con S3. È disponibile sulle porte 9020 per HTTP e 9021 per HTTPS. Ancora una volta, se non è stato modificato nulla, access_key: object_admin1 e secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Ma non andiamo troppo avanti e cominciamo con ordine.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Quando accedi per la prima volta, sarai costretto a cambiare la tua password con una adeguata, il che è assolutamente corretta. La dashboard principale è estremamente chiara, quindi facciamo qualcosa di più interessante che spiegare le metriche ovvie. Ad esempio, creiamo un utente che utilizzeremo per accedere allo spazio di archiviazione. Nel mondo dei fornitori di servizi questi si chiamano tenant. Questa operazione viene eseguita in Gestisci > Utenti > Nuovo utente oggetto

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Quando creiamo un utente, ci viene chiesto di specificare uno spazio dei nomi. Tecnicamente, nulla ci impedisce di crearne tanti quanti sono gli utenti. E viceversa. Ciò consente di gestire le risorse in modo indipendente per ciascun tenant.

Di conseguenza, selezioniamo le funzioni di cui abbiamo bisogno e generiamo chiavi utente. Mi basterà S3/Atmos. E non dimenticare di salvare la chiave 😉

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

L'utente è stato creato, ora è il momento di assegnargli un bucket. Vai su Gestisci > Bucket e compila i campi richiesti. Tutto è semplice qui.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Ora abbiamo tutto pronto per un utilizzo combattivo del nostro storage S3.

Configurazione di Veeam

Quindi, come ricordiamo, uno degli usi principali dell'object storage è l'archiviazione a lungo termine di informazioni a cui si accede raramente. Un esempio ideale è la necessità di archiviare i backup in un sito remoto. In Veeam Backup & Replication questa funzionalità è chiamata Capacità Tier.

Iniziamo la configurazione aggiungendo il nostro Dell ECS CE all'interfaccia Veeam. Nella scheda Infrastruttura di backup, avviare l'Aggiunta guidata nuovo repository e selezionare Archiviazione oggetti.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Scegliamo da cosa è iniziato tutto: compatibile con S3.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Nella finestra che appare, scrivi il nome desiderato e vai al passaggio Account. Qui è necessario specificare il punto di servizio nel modulo https://your_IP:9021, la regione può essere lasciata così com'è e l'utente creato può essere aggiunto. Un gate server è necessario se il tuo spazio di archiviazione si trova su un sito remoto, ma questo è già un argomento per l'ottimizzazione dell'infrastruttura e un articolo separato, quindi puoi tranquillamente saltarlo qui.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Se tutto è specificato e configurato correttamente, apparirà un avviso relativo al certificato e poi una finestra con un secchio dove potremo creare una cartella per i nostri file.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Seguiamo la procedura guidata fino alla fine e ci godiamo il risultato.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Il passaggio successivo consiste nel creare un nuovo repository di backup scalabile o aggiungere il nostro S3 a quello esistente: verrà utilizzato come livello di capacità per lo storage di archivio. Nella versione corrente non è disponibile alcuna funzione per utilizzare direttamente lo storage compatibile con S3, come un normale repository. Perché ciò avvenga occorre risolvere troppi problemi non ovvi, ma tutto è possibile.
Vai alle impostazioni del repository e abilita il livello di capacità. Lì tutto è trasparente, ma c'è una sfumatura interessante: se vuoi che tutti i dati vengano inviati allo storage degli oggetti il ​​prima possibile, impostalo semplicemente su 0 giorni.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

Dopo aver eseguito la procedura guidata, se non vuoi aspettare, puoi premere ctrl+RMB sul repository, avviare forzatamente il lavoro di tiering e osservare la scansione dei grafici.

Archiviazione di oggetti nel retro o Come diventare il proprio fornitore di servizi

È tutto per ora. Penso di essere riuscito nel compito di dimostrare che lo storage a blocchi non è così spaventoso come la gente pensa. Sì, ci sono soluzioni e opzioni per un carro e un carretto, ma non è possibile coprire tutto in un unico articolo. Condividiamo quindi la nostra esperienza nei commenti.

Fonte: habr.com

Aggiungi un commento