Backup vs Raid

Backup vs Raid
I backup sono una parte cruciale della nostra vita digitale. Ogni computer da database giganti a un singolo personal computer o dispositivo mobile necessita di un backup. Un luogo in cui i dati dell'utente più rilevanti possono essere archiviati a lungo e memorizzati anche in modo tale da recuperare al momento del bisogno. Possiamo tracciare una distinzione tra i dati sul nostro sistema attualmente in esecuzione, chiamiamolo dati in tempo reale, e il supportato dati. Quest'ultimo è stato archiviato lontano dal sistema attuale che utilizza i dati in tempo reale.

Raid, si preoccupa dei dati in tempo reale, è un meccanismo con cui un sistema in esecuzione combina più dischi in una singola entità di archiviazione. I dati vengono quindi distribuiti in tutti i dischi in modo tale da poter sopravvivere al fallimento di almeno uno (o più) dei dischi fisici. Il tipo più semplice di array RAID è RAID1 o mirroring. Qui è dove si copiano (o mirror) gli stessi dati su due o più dischi in modo tale che se uno dei dischi fallisce, i dati possono ancora sopravvivere e ancora essere attivamente utilizzati. Ci sono anche altre configurazioni RAID e ne discuteremo mentre procediamo.

Informazioni sul raid

RAID, o array ridondante di dischi economici, è un meccanismo per archiviare i dati attraverso i dischi. C'è un ampio "array" di configurazione RAID con cui puoi seguire, ma i due meccanismi di base su cui sono tutti basati sono i seguenti:

1. Mirroring:

Il mirroring implica che i blocchi di dati siano copiati, mirror, su più dischi. Se rispecchiano i tuoi dati su tre dischi, puoi sopravvivere fino a non riuscire a non riuscire due disco in un dato momento, i dischi non riusciti possono essere sostituiti con nuovi senza troppa seccatura. Allo stesso modo, se si copiano i dati N+1 dischi, puoi resistere N dischi che falliscono. L'aspetto negativo di questo è che ottieni solo la capacità di archiviazione pari al disco più piccolo nel tuo array RAID.

2. Parità:

Un secondo approccio è quello di dividere i dati in due parti, utilizzando i due blocchi di dati utente è possibile creare un terzo blocco "parità". I tre blocchi sono tutti delle stesse dimensioni e sono distribuiti su dispositivi diversi. Sono necessari un minimo di tre dispositivi affinché questa configurazione funzioni. Se uno qualsiasi del disco fallisce, è possibile ricreare i blocchi memorizzati in quel disco usando gli altri due blocchi. Ad esempio, se il secondo blocco utente viene perso, il primo blocco e il blocco di parità possono essere utilizzati per calcolare il secondo blocco utente. Se sei interessato a come funziona, controlla questa meravigliosa spiegazione.

Questo metodo può essere migliorato inoltre per avere 2 o anche 3 blocchi di parità. Ma più di 3 blocchi di parità non sono visti nel settore così spesso. Se hai un blocco di parità puoi sopravvivere a un fallimento del disco. Due blocco di parità significa che puoi resistere a due dischi che falliscono e così via.

È più efficiente in termini di utilizzo di archiviazione, che a mirroring. Se hai un blocco di parità hai bisogno solo del 50% in più di archiviazione fisica per i dati utente effettivi che si stanno archiviando. Ciò significa archiviare 1 GB di dati che avrai bisogno di 1.5 GB di spazio di archiviazione (in più c'è un piccolo sovraccarico per i metadati). Questo è molto più efficiente rispetto allo schema di mirroring più efficiente in cui è necessario almeno 2 GB di archiviazione per rispecchiare 1 GB di dati tra due dischi.

Il rovescio della medaglia è che le operazioni di scrittura casuali verranno rallentate, grazie al bit di calcolo extra e all'operazione di scrittura associata al blocco di parità. Anche l'affidabilità non è buona come quella di un N+1 dischi specchi in cui è possibile prepararsi per qualsiasi numero arbitrario di dischi che non riescono.

Le configurazioni RAID possono essere complesse o semplici come lo desideri, puoi combinare la parità e il mirroring e modificarle per le gusti della tua azienda. Ci sono controller RAID dedicati a cui collegano i tuoi dischi fisici e il sistema operativo vede quindi un singolo disco logico come mostrato dal controller. LSI è uno di questi fornitori di controller RAID. Puoi anche eseguire RAID nel software OpenZFS è probabilmente la migliore scommessa che hai al riguardo.

Un ultimo tipo di raid, che ottiene una menzione d'onore è raid 0. Tecnicamente, non è uno schema RAID, perché qui non c'è ridondanza. L'idea alla base di RAID 0 è semplicemente di diffondere i tuoi dati su più dispositivi di archiviazione senza Qualunque resilienza contro i guasti del disco. Il vantaggio è che ottieni miglioramenti delle prestazioni facendo questo. Se stai scrivendo 1 GB di dati su un singolo disco, il processo è lento. Il disco può eseguire solo un numero limitato di operazioni di scrittura al secondo e il tuo sistema operativo deve attendere che finisca quell'operazione prima che i nuovi dati vengano inviati. Se si diffondono gli stessi 1 GB di dati su due di questi dischi, puoi scrivere (e leggere) da entrambi contemporaneamente e ottenere un bel po 'di miglioramento delle prestazioni.

Backups

Il concetto di backup è discutibile più importante di quello di Raid. Un backup, nel contesto della gestione dell'archiviazione, è una buona copia di dati, da un determinato momento, da cui è possibile ripristinare i file nel sistema principale quando necessario. In termini di implementazione, ci sono molte soluzioni ospitate dal cloud e molte offline che possono essere utilizzate.

Tarsnap e Backblaze sono i miei servizi di backup gestiti preferiti per casi di utilizzo privato e aziendale. Puoi anche includere Google Drive, iCloud o Dropbox in questa definizione di a backup soluzione ma sono presi di mira più al mercato dei consumatori rispetto all'impresa. Tuttavia, il principio sottostante è sempre lo stesso. Quando accedi a un nuovo iPhone o iPad tutti i dati, i tuoi contatti, le foto, la libreria multimediale ecc., Viene sincronizzato dal tuo account iCloud senza soluzione devo preoccuparmene.

La tua soluzione di backup può essere semplice come la copia dei dati su un disco rigido esterno o per utilizzare RSYNC (o ZFS Invia, se si utilizza OpenZFS) per generare periodicamente una copia di tutte le informazioni pertinenti. Ciò potrebbe includere la cartella dei documenti, il tuo database, il tuo repository di origine o persino l'intero file system root in una zip piatta o una tarball. I criteri importanti che una buona soluzione di backup dovrebbe soddisfare sono i seguenti:

  1. I backup dovrebbero verificarsi spesso: se si esegue il backup dei dati ogni mese, anziché ogni settimana, rischia di perdere fino a un mese di dati quando si colpisce il disastro.
  2. I tuoi backup dovrebbero tornare indietro nel tempo: l'archiviazione di backup è limitato. A volte devi buttare via backup più vecchi. Più spazio di archiviazione hai, meglio possono essere i tuoi backup. Supponiamo di eseguire il backup dei tuoi dati settimanali, ma butta via i backup di età superiore alle 2 settimane. Se un file viene eliminato accidentalmente, e questo passa inosservato per due settimane, non avrai un modo per riportarlo indietro.
  3. I tuoi file dovrebbero effettivamente essere ripristinabili: se non hai mai provato a recuperare i dati dal backup, non hai un backup. Non dovresti imparare a recuperare i dati, al momento critico quando hai subito una perdita di dati. Pianificare in anticipo e sapere come ripristinare il sistema dall'ultimo buon backup noto.
  4. Il tuo backup dovrebbe essere separato dal sistema in esecuzione - quando si colpiscono il disastro e tutti i file sul server di produzione vengono crittografati, eliminati o corrotti, è necessario assicurarsi che lo stesso non accada al tuo backup. Un buon modo per garantire questo è assicurarsi che il tuo dispositivo di backup non sia "collegato" al tuo ambiente di produzione, io.E, scollegare il tuo disco rigido USB, sconvolgere il file system NFS quando si è eseguiti il ​​backup. Almeno, non dare al sistema di produzione il privilegio di sovrascrivere o modificare i tuoi dati di backup. Rendilo di sola lettura.

Ora che sappiamo un po 'di raid e backup, mettiamo in evidenza alcune differenze tra loro.

File e blocchi

RAID si occupa sempre dei blocchi di dati, non di come il filesystem presenta tali dati all'utente. Sia il software che il RAID hardware si occupano dei dati come blocchi di informazioni, la dimensione dei blocchi può variare da 128 Kib a 1 MIB.

I backup d'altra parte sono molto più flessibili. Di solito vengono eseguiti a livello di file system, sebbene non vi sia una regola dura e veloce per questo. Sono anche più granulari. Puoi ripristinare un singolo file dal tuo backup, se la tua soluzione è abbastanza flessibile. Gli array RAID non sono backup, sono solo un modo per diffondere dati su più dischi. Se un file viene eliminato, tutti i suoi blocchi a specchio e blocchi di parità vengono liberati. Fine della storia.

Casi d'uso

I backup sono per tutti. L'approccio e l'estensione possono variare dal caso di utilizzo personale a azienda, ma tutti con una vita digitale necessitano di backup. RAID è più una funzione specifica per business/azienda. Vedi array RAID in server, dispositivi di archiviazione come NAS e Sans, Hypervisor, ecc. Praticamente qualsiasi luogo che archivia i dati critici in diretta utilizza una qualche forma di raid. Anche i server che eseguono i backup ospitati dal cloud probabilmente usano array RAID. Queste non sono tecnologie reciprocamente esclusive.

Ciò non significa che non puoi usare il raid per il tuo caso d'uso personale, ha solo più utilità nelle aziende. Parte del motivo alla base di questo è che nell'impresa i dischi sono martellati con le operazioni IO 24/7. Nell'ambiente di produzione, come l'archiviazione di un database o un servizio di streaming video o un hypervisor cloud, il dispositivo di archiviazione del server sarà in costante carico raccapricciante, i dati vengono costantemente letti e scritti su questi dispositivi e spesso da diverse applicazioni contemporaneamente. In queste condizioni le tue unità hanno molte più probabilità di fallire. Avere una configurazione RAID significa che se un'unità fallisce si soffre poco o nessun tempo fermo. La maggior parte dei server può continuare a funzionare anche dopo un errore del disco in modo da non perdere nuove informazioni e richieste in arrivo ogni secondo.

Un computer desktop medio difficilmente può ricreare la stessa condizione stressante, anche se il disco muore, se si utilizza una soluzione di backup come backblaze, puoi recuperare la maggior parte dei dati persi e perdere qualche ora di lavoro è probabilmente la cosa peggiore che può succedere. Anche questo sta diventando una rarità grazie a soluzioni ospitate da cloud come Adobe Creative Cloud, Office 365, ecc.

Il raid non è un sostituto per il backup

Se c'è un singolo take away che vuoi da questo articolo, dovrebbe essere questo. Il raid non è un sostituto per il backup. Appoggio sempre i tuoi dati! Ci sono molte persone là fuori che pensano se hai raid, significa che i dati sono sicuri su più dischi e quindi non è necessario eseguirlo. Niente è più lontano dalla verità. RAID ha lo scopo di affrontare un singolo problema specifico: i dischi che non riescono o restituiscono dati errati. Avere RAID non ti proteggerà da un milione di altre minacce come le seguenti:

  1. Errori dell'utente ed eliminazioni accidentali
  2. Bug di applicazione o sistema operativo che causano una corruzione di dati diffusa
  3. Ransomware o altri malware crittografare, eliminare o corrompere i dati
  4. Fallimento dei controller raid stessi

I dati sul tuo array RAID sono live. Se il sistema operativo, un'applicazione (o un utente) va in tilt ed elimina alcuni file qua e là, il file verrà eliminato in tutto il tuo array RAID. Avere una copia separata dei tuoi dati, un backup, è l'unico modo per proteggerti da questo tipo di scenario.

Conclusione

Se sei preoccupato per i tuoi dati, la tua prima preoccupazione dovrebbe essere la soluzione di backup. La maggior parte degli utenti desktop, tranne forse utenti di alimentazione, dovrebbe investire di più in un backup affidabile invece di armeggiare con RAID1, RAID5 o RAIDZ. Se vuoi costruire il tuo server di backup, devi pensare a una politica di backup decente e un back -end affidabile di archiviazione. Questo articolo forse un buon punto di partenza. È possibile utilizzare RSYNC o ZFS Invia per prendere la copia del periodo dei dati su questo back -end.

Se sei nell'impresa e stai prendendo in considerazione una soluzione RAID per archiviare tutti i tuoi dati in tempo reale. Prendi in considerazione l'utilizzo di OpenZFS, offre una soluzione molto flessibile, tutto, dal mirroring di n-disco a RAIDZ1 con un blocco di parità a RAIDZ2 e RAIDZ3 con 2 e 3 blocchi di parità. Devi considerare molto sui requisiti della tua applicazione prima di prendere una decisione. Ci sono compromessi tra le tue prestazioni di lettura, resilienza ed efficienza di archiviazione. Tuttavia, consiglierei di pensare al raid solo dopo aver deciso una soluzione di backup.