Contents
- Definizione di OpenStack Cinder
- La necessità di eseguire il backup degli ambienti OpenStack Cinder
- Funzionalità di backup integrate in OpenStack Cinder
- Snapshot nativi di OpenStack Cinder
- Servizio di backup Cinder
- Metodi di backup di OpenStack Cinder di terze parti
- Veeam
- Commvault
- TrilioVault
- Bacula Enterprise
- Backup di OpenStack Cinder con Bacula Enterprise
- Le migliori pratiche per i backup di OpenStack Cinder
- Conclusione
- Domande frequenti
- È possibile eseguire backup incrementali per i volumi Cinder?
- Con quale frequenza un’azienda dovrebbe eseguire il backup dei suoi volumi Cinder?
- Ci sono limiti di dimensione per i lavori di backup di Cinder?
- È possibile eseguire il backup dei volumi Cinder quando sono in uso attivo?
Sempre più organizzazioni si affidano all’infrastruttura cloud per molte delle loro attività quotidiane, esercitando una forte pressione su questi sistemi dal punto di vista della continuità. L’importanza di backup regolari con livelli di sicurezza sostanziali è difficile da sopravvalutare, soprattutto in ambienti di livello aziendale con piattaforme complesse. Queste combinazioni di casi d’uso tendono a richiedere il massimo livello possibile di disponibilità e integrità dei dati in ogni momento.
OpenStack Cinder è uno dei tanti esempi di questi ambienti di valore: è un componente centrale dell’omonimo ambiente cloud, che fornisce uno storage a blocchi persistente sia per i container che per le macchine virtuali, quando necessario. Fornisce uno storage persistente alle istanze in esecuzione, gestendo e fornendo risorse di storage a blocchi, come la creazione, il collegamento e la gestione di volumi.
Cinder consente agli utenti di sfruttare una varietà di backend di storage (come LVM, Ceph e NFS) e si integra con gli altri componenti di OpenStack, come Nova (il servizio di calcolo), per facilitare l’archiviazione e il recupero efficiente dei dati in diversi ambienti cloud. Supporta funzioni come snapshot, backup dei volumi e gestione dello storage multi-tenant, rendendolo un componente chiave dell’infrastruttura cloud.
Il nostro obiettivo in questo articolo è quello di illustrare l’argomento di OpenStack Cinder e le sue capacità di backup, sia in termini di soluzioni integrate che di terze parti.
Definizione di OpenStack Cinder
OpenStack Cinder (o servizio Block Storage) è un elemento essenziale della piattaforma di cloud computing chiamata OpenStack. Il suo scopo principale è quello di offrire dispositivi di archiviazione persistenti a livello di blocco nelle istanze informatiche di OpenStack – container, VM, ecc. Simile a molti altri elementi di OpenStack, Cinder è progettato per archiviare le risorse in un modo specifico che le rende accessibili per il consumo di un altro elemento – OpenStack Compute (Nova).
Altre caratteristiche degne di nota di OpenStack Cinder sono:
- Gestione dei volumi, compresa la creazione e la cancellazione.
- Supporto API per attività di gestione estese.
- Creazione di snapshot di volume.
- Possibilità di collegare e scollegare i volumi da e verso le istanze.
- Flessibilità nel supportare diversi back-end di storage.
Anche se OpenStack Cinder è tecnicamente un modulo di un ambiente OpenStack più ampio, comprende anche una serie di moduli importanti, come cinder-api, cinder-scheduler, cinder-volume, e cinder-backup.
- cinder-api è il modulo responsabile dell’elaborazione delle richieste API prima di instradarle ad altri moduli Cinder. Funziona sia con le normali API di OpenStack che con un’API separata per scopi amministrativi.
- cinder-scheduler è un modulo responsabile della distribuzione delle richieste di storage a blocchi, utilizzando uno scheduler configurabile. Lo scopo di questo scheduler è quello di determinare il nodo di archiviazione che deve gestire quella specifica richiesta.
- cinder-volume è utilizzato per gestire il ciclo di vita dei dispositivi di archiviazione a blocchi, basandosi sull’architettura dei driver per interagire con diversi fornitori di storage.
- cinder-backup è un altro componente che può essere utilizzato per creare backup di Cinder e trasferirli a determinati provider di storage di backup (opzionale).
Tutti e quattro questi moduli operano insieme per offrire una soluzione di storage a blocchi scalabile e versatile nelle implementazioni OpenStack.
La necessità di eseguire il backup degli ambienti OpenStack Cinder
Cinder è un fattore importante quando si tratta di archiviare molte forme diverse di informazioni preziose, come database, dati applicativi essenziali, volumi del sistema operativo e altro ancora. La mancanza di una strategia di backup adeguata per questi dati porta alla luce molti rischi potenziali, tra cui:
- Problemi di coerenza dei dati applicativi tra i backup; è essenziale per il successo degli sforzi di recupero dei dati.
- Assenza di capacità di protezione dei dati dimostrabili; la maggior parte delle normative richiede sistemi di sicurezza dei dati completi per tutte le aziende che operano in un determinato settore o industria.
- Alto potenziale di perdita di dati; l’incapacità di recuperare da bug del software, guasti dell’hardware o errori umani è un enorme svantaggio per qualsiasi azienda.
- Mancanza di capacità di ripristino di emergenza; un’estensione del punto precedente delegato alle questioni più problematiche che possono portare alla corruzione o all’eliminazione di tutti i dati aziendali senza backup in loco.
L’abbondanza di rischi potenziali è il motivo principale per cui le misure di backup e ripristino sono fortemente raccomandate per ogni ambiente OpenStack Cinder. In questo contesto, molti utenti ricorrono alle funzionalità integrate di OpenStack stesso per motivi di convenienza. Tuttavia, queste funzionalità di backup hanno la loro parte di problemi che discuteremo qui di seguito.
Funzionalità di backup integrate in OpenStack Cinder
Ci sono due funzioni di backup principali in OpenStack Cinder che possono essere utilizzate a scopo di backup: gli snapshot nativi di OpenStack Cinder e Cinder Backup Service.
Snapshot nativi di OpenStack Cinder
Le copie point-in-time dei volumi Cinder sotto forma di snapshot possono essere create con facilità grazie alla funzione snapshot nativa di OpenStack Cinder. La funzionalità è strettamente integrata con OpenStack stesso, creando un comodo backup a breve termine senza reali capacità di ridondanza.
I vantaggi più degni di nota di tali snapshot sono:
- Impatto minimo sulle istanze e sulle operazioni dell’infrastruttura.
- Integrazione stretta con il resto dell’ambiente OpenStack.
- Elevate prestazioni sia per i processi di backup che di ripristino.
Allo stesso tempo, queste snapshot presentano molti difetti importanti, tra cui capacità di conservazione limitate, nessuna considerazione del consumo di spazio di archiviazione e il fatto che le snapshot sono archiviate nello stesso ambiente dei dati originali.
Servizio di backup Cinder
Cinder Backup Service è, in una certa misura, un’estensione della funzionalità snapshot, che consente di archiviare i backup in sistemi di archiviazione separati (come OpenStack Swift o altri ambienti di archiviazione a oggetti).
I vantaggi di Cinder Backup Service sono piuttosto utili in alcune situazioni, tra cui:
- Integrazione con OpenStack a livello di flusso di lavoro e di API.
- Possibilità di ripristinare i backup come nuovi volumi.
- Posizione di archiviazione dei backup personalizzabile per una migliore ridondanza.
- La scelta tra i tipi di backup incrementale e completo per risparmiare spazio di archiviazione.
Detto questo, a questo servizio mancano le funzionalità di backup più avanzate, come la crittografia o la deduplicazione, i backup offsite non sono ancora supportati ed è altamente improbabile che soddisfino la maggior parte dei requisiti di sicurezza di livello aziendale.
Le funzionalità di backup nativo di OpenStack in entrambi i casi sono molto limitate e raramente possono offrire il livello di protezione necessario ai suoi utenti. Per questo motivo, la maggior parte delle aziende e delle imprese sceglie di utilizzare soluzioni di backup di terze parti come unica alternativa rimasta per proteggere i dati sensibili di OpenStack Cinder.
Metodi di backup di OpenStack Cinder di terze parti
Prima di esaminare le istanze complete di software di terze parti per i backup, dobbiamo affrontare l’argomento dello scripting personalizzato.
Il supporto API di OpenStack favorisce questo tipo di iniziative, ma non è così facile o conveniente come potrebbe sembrare all’inizio. La pratica di creare programmi o script personalizzati per interagire direttamente con l’API di OpenStack per gestire i backup in modi diversi. Il motivo per cui questo approccio viene trattato come un metodo di backup di terze parti è che questi script sono sviluppati da persone che non sono legate a OpenStack in primo luogo.
I vantaggi più evidenti dello scripting personalizzato per i backup di OpenStack Cinder sono:
- Economicità. Lo scripting personalizzato può essere relativamente economico rispetto alle soluzioni di backup di terze parti esistenti, ma solo in circostanze specifiche.
- Controllo preciso. L’ampia personalizzazione fornita dagli script personalizzati consente di creare un’ampia selezione dei processi di backup e ripristino, compresi i criteri di conservazione, le tempistiche, la selezione dei volumi e così via.
- Flessibilità delle funzioni. Le funzionalità di progettazione per lo scripting personalizzato hanno molte opzioni potenziali e la gamma di funzionalità dipende solitamente dalle competenze dell’autore dello script. È possibile utilizzare gli script per introdurre la verifica dei dati, la crittografia, la compressione, l’integrazione estesa con altri servizi, l’automazione a grana fine e molto altro.
Detto questo, il numero di potenziali difetti di questo approccio è molto più elevato in confronto:
- Curva di apprendimento. Lo scripting personalizzato per scopi come i backup richiede spesso una conoscenza approfondita del sistema stesso e dei suoi linguaggi di scripting, il che potrebbe richiedere processi di assunzione o di formazione dedicati e un notevole dispendio di risorse.
- Manutenzione impegnativa. La manutenzione continua per supportare le nuove versioni di Cinder API e allo stesso tempo per risolvere eventuali problemi o bug potenziali dello script può essere molto dispendiosa in termini di tempo e di risorse.
- Trasferimento di conoscenze. La mancanza di documentazione ufficiale rende la manutenzione e i miglioramenti delle funzionalità molto più difficili se il creatore dello script originale non lavora più per l’azienda.
- Assenza di supporto ufficiale. L’assenza di qualsiasi tipo di supporto ufficiale da parte di OpenStack rende ogni singolo problema molto più difficile da risolvere.
- Potenziale di errori o funzionalità mancanti. Se lo sviluppo e il set di funzionalità dello script non sono stati pensati in anticipo, può essere facile perdere alcune funzionalità preziose nel processo di sviluppo, come il recupero istantaneo o la deduplicazione. Lo stesso vale per gli errori e i bug dello script che potrebbero verificarsi se lo script in questione non è stato testato correttamente in precedenza.
- Problemi di sicurezza. Come conseguenza di un processo di sviluppo non standardizzato, la maggior parte degli script personalizzati può facilmente generare numerose vulnerabilità nel processo di backup, se non è stato accuratamente pianificato e testato in anticipo.
Lo scripting personalizzato è un’opzione molto più valida per le aziende con team di sviluppo interni e requisiti limitati per le operazioni di backup e ripristino in OpenStack. Questa combinazione è uno dei pochi esempi in cui l’uso di script personalizzati rispetto al software di terze parti ha un senso economico.
Naturalmente, lo scripting personalizzato non è l’unica alternativa alle misure di backup integrate in Cinder, poiché esiste anche un intero mercato di software di backup di terze parti. Gli esempi più importanti di questo mercato saranno illustrati in un elenco che segue, con quattro soluzioni principali in evidenza: Veeam, Commvault, TrilioVault e Bacula Enterprise.
Veeam
Veeam è una piattaforma popolare per la protezione dei dati e altre funzioni simili che supportano un’abbondanza di tipi di storage e ambienti operativi. Il backup e il ripristino sono solo alcuni esempi delle capacità complete di Veeam, anche se dà il meglio di sé quando lavora con i flussi di backup e ripristino relativi alle macchine virtuali. Le funzionalità di Veeam orientate a OpenStack includono il supporto per il backup e il ripristino dei volumi Cinder. La sua integrazione approfondita con le API OpenStack può anche offrire un discreto grado di controllo e personalizzazione di questi processi di backup, quando necessario.
I vantaggi di Veeam:
- Ampia selezione di funzionalità avanzate non solo per le attività di backup, ma anche per i flussi di lavoro di ripristino e di test.
- Comoda integrazione con una moltitudine di tipi di storage e variazioni di ambiente.
- La gestione semplificata dei processi è resa possibile dalla comodità di una dashboard centralizzata.
- Funzionalità impressionanti relative alla sicurezza, con una delle caratteristiche più degne di nota: i backup consapevoli delle app.
I difetti di Veeam:
- I costi totali delle licenze di Veeam sono significativamente superiori alla media del mercato.
- L’implementazione e la configurazione di Veeam come piattaforma possono essere un processo lungo e scoraggiante.
- La maggior parte delle funzionalità della piattaforma possono essere considerate superflue se sono necessarie solo per i backup di OpenStack Cinder e nient’altro.
- Le funzionalità di sicurezza di Veeam potrebbero non essere sufficienti per alcune organizzazioni.
- Veeam è limitato nella sua scalabilità.
Commvault
Commvault può offrire una piattaforma di gestione dei dati centralizzata con vaste capacità di backup. Può essere utilizzato per gestire le informazioni in diversi tipi di ambiente e il supporto di molte varianti di infrastruttura, come OpenStack, ne aumenta la versatilità. Scalabilità ed efficienza sono i punti principali su cui Commvault si concentra nei backup OpenStack, offrendo una selezione di funzionalità con un impatto minimo o nullo sulle prestazioni del sistema.
I vantaggi di Commvault:
- Ampia automazione delle attività, adatta a piani di backup sofisticati.
- Numerose funzionalità di gestione dei dati al di fuori dei processi di backup e ripristino.
- Un alto grado di scalabilità per gli ambienti più enormi con petabyte di dati.
- Ampia selezione di funzioni di sicurezza dei dati, come la protezione da ransomware e l’immutabilità dei dati.
I difetti di Commvault:
- Modello di licenza complesso con prezzi elevati.
- Processo di installazione sofisticato e lunga configurazione.
- Può essere eccessivo per le piccole implementazioni OpenStack.
TrilioVault
TrilioVault è una soluzione cloud-native per la protezione dei dati, l’unico esempio di soluzione di backup OpenStack costruita appositamente in questo elenco. Uno dei suoi maggiori vantaggi è la profonda integrazione con OpenStack (incluso Cinder) per fornire backup efficienti e scalabili per i carichi di lavoro cloud. Il self-service a livello di tenant e la gestione basata su policy sono solo alcuni esempi delle capacità di TrilioVault negli ambienti cloud.
I vantaggi di TrilioVault:
- Operazioni tenant-aware e una moltitudine di altre funzionalità realizzate appositamente per funzionare in ambienti OpenStack.
- Funzionalità di backup agentless per ridurre i costi e semplificare l’implementazione.
- Diversi tipi di backup, compreso quello incrementale per sempre per i carichi di lavoro cloud.
I difetti di TrilioVault:
- Efficacemente inutile al di fuori degli ambienti OpenStack, richiede investimenti aggiuntivi per proteggere i dati da storage non OpenStack della stessa azienda.
- Molte meno funzioni di uso generale rispetto alla maggior parte delle alternative.
Bacula Enterprise
Bacula Enterprise è una soluzione completa di backup e ripristino che offre un’ampia scelta di approcci di integrazione e piattaforme supportate attraverso un sistema di moduli. Il suo approccio scalabile e flessibile alla protezione dei dati la rende una soluzione versatile, nonostante l’apparente grande selezione di funzionalità e capacità. Bacula eccelle nella gestione di infrastrutture aziendali grandi e sfaccettate, e il suo supporto per i backup di OpenStack Cinder è solo un esempio di questa situazione.Forse la qualità più importante di Bacula è il suo livello di sicurezza particolarmente elevato.
I vantaggi di Bacula:
- Ampie capacità di compressione e deduplicazione per ridurre l’utilizzo dello spazio di archiviazione.
- Compatibilità con diverse piattaforme e tipi di ambiente, funziona bene nelle configurazioni di cloud ibrido.
- Il modello di licenza non dipende dal volume dei dati, il che lo rende sorprendentemente conveniente nel contesto dei prezzi della concorrenza.
- Una selezione insolitamente ampia di opzioni di archiviazione supportate tra cui scegliere, tra cui nastro, cloud e molte altre.
- Capacità di sicurezza particolarmente elevate. Bacula è utilizzato da grandi organizzazioni come la NASA e gode della fiducia della più grande organizzazione di difesa dell’Occidente.
I difetti di Bacula:
- Una curva di apprendimento moderatamente ripida a causa dell’enorme varietà di funzioni, anche se l’esistenza di un’ampia documentazione la rende più facile.
- BWeb, l’interfaccia grafica di Bacula, pur essendo particolarmente potente, non ha un aspetto moderno come quello di altre soluzioni.
- Gli utenti devono avere almeno una conoscenza di base di Linux, anche se questo è un problema improbabile, dato che la maggior parte degli utenti di OpenStack tendono ad essere tecnici informatici esperti.
Backup di OpenStack Cinder con Bacula Enterprise
Esiste una vasta scelta di soluzioni di terze parti per gli ambienti OpenStack Cinder, e ogni soluzione ha un proprio approccio ai processi di backup e ripristino. In quest’ottica, vorremmo illustrare il processo di creazione di backup per gli ambienti OpenStack Cinder con una delle alternative citate – Bacula Enterprise:
- Installare Bacula Enterprise. Bacula Director, Storage Daemon e Console devono essere distribuiti su una VM o su un server dedicato. Anche la configurazione iniziale per consentire a Bacula di comunicare con l’ambiente OpenStack va fatta qui.
- Configurare gli FD (File Daemon) di Bacula. Devono essere installati sui nodi Cinder per consentire i backup dei volumi e configurati per comunicare con Bacula Director.
- Configurare il plugin OpenStack. Il plugin deve essere installato nel Bacula Director, con la configurazione dell’endpoint API OpenStack che seguirà in seguito.
- Creare lavori di backup. Devono essere indirizzati ai volumi Cinder, configurando anche tutte le pianificazioni, le posizioni di archiviazione e le politiche di conservazione.
- Abilitare e configurare le misure di sicurezza. Questo include l’archiviazione fuori sede o nel cloud per la ridondanza, la crittografia sia per il transito dei dati che per i dati a riposo, ecc.
- Ottimizzare l’utilizzo dello storage. Sia le funzionalità di deduplicazione che di compressione dovrebbero offrire miglioramenti in termini di velocità di trasferimento e di utilizzo generale dello storage.
- Pianificare le attività di backup. Le future pianificazioni di backup dovrebbero essere in linea con gli RPO e gli RTO che la sua azienda ritiene accettabili. Queste finestre di backup possono essere ridotte con backup incrementali e altri tipi di backup, se necessario.
- Impostare avvisi e monitoraggio. Gli avvisi correttamente configurati dovrebbero notificare i guasti del backup e altri problemi, mentre le funzionalità di monitoraggio di Bacula offrono un facile monitoraggio dello stato del backup in qualsiasi momento.
Questo processo copre tutte le fasi necessarie per creare backup di OpenStack Cinder con l’aiuto di Bacula Enterprise e del suo vasto set di funzioni.
Le migliori pratiche per i backup di OpenStack Cinder
L’esatta serie di raccomandazioni per l’esecuzione di backup di volumi OpenStack Cinder varierebbe a seconda del software utilizzato nel processo, ma sarebbe giusto dire che ci sono almeno alcuni consigli generali che possiamo offrire praticamente a qualsiasi ambiente di questo tipo:
- Configuri politiche di conservazione a livelli per trovare un equilibrio tra i costi di archiviazione e le esigenze di recupero.
- Ricercare l’archiviazione nel cloud e fuori sede per i backup, per proteggere le informazioni da disastri naturali e interruzioni su larga scala.
- Esamini regolarmente i registri dei lavori di backup per risolvere problemi e incongruenze.
- Esegua regolarmente test sui processi di backup e ripristino per garantire l’integrità e la validità dei risultati.
- Utilizzi un approccio intelligente agli snapshot, come copia rapida ma pesante dal punto di vista dello storage del volume.
- Protegga i dati di backup da manomissioni con l’immutabilità, la crittografia e altre funzioni.
- Implementare l’automazione dei processi di backup per ridurre la possibilità di errore umano e migliorare la coerenza del backup.
Questi sono solo alcuni esempi di come i backup di OpenStack Cinder possano essere migliorati in termini di affidabilità ed efficienza con un approccio corretto.
Conclusione
L’integrità dei dati e la continuità aziendale sono alcuni degli obiettivi più importanti dei backup di OpenStack Cinder. Sfortunatamente, gli strumenti di OpenStack sono raramente in grado di fornire una flessibilità e una sicurezza sufficienti a soddisfare le esigenze delle aziende più grandi, motivo per cui molte di queste aziende utilizzano invece soluzioni di backup di terze parti.
Tra queste caratteristiche, Bacula Enterprise è una solida opzione per le organizzazioni di diverse dimensioni che cercano una piattaforma di backup completa e ricca di funzionalità. OpenStack Cinder è una delle decine di ambienti e tipi di infrastruttura diversi con cui Bacula può lavorare, il che lo rende estremamente versatile e adatto praticamente a qualsiasi tipo di ambiente. Il vantaggio aggiunto di questa ampiezza di compatibilità è che le organizzazioni sono in grado di eseguire il backup dei loro interi ambienti IT – OpenStack incluso – con un controllo single-pane-of-glass e un’elevata sicurezza.
Nel contesto dei backup di OpenStack Cinder, le soluzioni di terze parti sono le nostre raccomandazioni definitive nella maggior parte dei casi, con soluzioni come Bacula che sono molto più versatili e personalizzabili di tutto ciò che OpenStack stesso ha da offrire. Le informazioni sono un elemento inestimabile dell’attività di qualsiasi azienda moderna, motivo per cui limitare i budget per la protezione dei dati è un passo estremamente irragionevole che non dovrebbe essere compiuto in nessuna situazione.
Domande frequenti
È possibile eseguire backup incrementali per i volumi Cinder?
Non solo la maggior parte delle soluzioni di terze parti supporta i backup incrementali, ma anche il servizio di backup di Cinder è dotato di tale funzione, rendendo possibile il risparmio di spazio di archiviazione e la riduzione dei tempi di backup anche quando si lavora con le sole funzionalità integrate di OpenStack.
Con quale frequenza un’azienda dovrebbe eseguire il backup dei suoi volumi Cinder?
I tempi esatti per qualsiasi backup, compresi i volumi Cinder, variano notevolmente a seconda del valore dei dati in questione, della disponibilità delle risorse, degli RPO e di altri fattori. In generale, la maggior parte delle aziende utilizza backup incrementali giornalieri e backup completi settimanali o snapshot come linea di base. Tuttavia, ci sono alcuni ambienti che hanno tempi di backup molto più brevi, come i backup completi giornalieri e quelli incrementali orari.
Ci sono limiti di dimensione per i lavori di backup di Cinder?
Non esiste un limite di dimensione definitivo per i backup dei volumi in Cinder, ma la creazione di volumi più grandi di qualche terabyte alla volta è generalmente sconsigliata per diverse ragioni, tra cui la disponibilità dello storage di backup, la pressione sulle prestazioni generali della rete e i potenziali vincoli di tempo.
È possibile eseguire il backup dei volumi Cinder quando sono in uso attivo?
Cinder consente di eseguire backup dei volumi quando sono in uso e collegati alle istanze, ma la combinazione di considerazioni sulla coerenza dei dati e sull’impatto delle prestazioni rende questo approccio non particolarmente consigliabile, soprattutto quando si gestiscono informazioni altamente sensibili.