GNU/Linux >> Linux Esercitazione >  >> Linux

RAID per chi lo evita

Tutto l'hardware alla fine si guasta. Questo è uno dei dolorosi effetti collaterali dell'entropia nel nostro universo. Per la maggior parte dei tipi di hardware utilizzati nelle moderne infrastrutture, la perdita di un singolo componente comporta solitamente una certa quantità di tempo di inattività. A parte il tempo impiegato per sostituire qualcosa come una cattiva CPU o un blocco di RAM, gli amministratori di sistema o gli utenti raramente vedono molti effetti negativi a lungo termine. Tuttavia, a meno che un amministratore non presti particolare attenzione all'archiviazione, la perdita di dati dovuta a guasti del disco può avere conseguenze immediate e durature.

Prendi il desktop di un utente come esempio:se archivia i propri dati localmente su un'unica unità, quando inevitabilmente l'unità si guasta, i suoi dati andranno persi. Lo stesso vale indipendentemente dalla qualità, dalla marca o dal tipo di unità. Naturalmente, ci sono aziende di recupero dati che sarebbero felici di prendere soldi guadagnati duramente in cambio della possibilità di resuscitare bit da unità morte. Sfortunatamente, il costo diventa rapidamente esorbitante e anche quegli specialisti a un certo punto non sono all'altezza.

Gli amministratori hanno una serie di opzioni a loro disposizione per difendersi da un disastro incombente:RAID, backup, cluster di archiviazione di rete, ecc. Spesso queste opzioni vengono utilizzate insieme per fornire livelli di protezione dei dati e molteplici opportunità per fermare un problema prima che diventi troppo tardi. La creazione di array ridondanti di dischi e l'astrazione dello storage dalle singole unità è il modo più semplice e migliore per rimuovere questi singoli punti di errore. L'obiettivo è evitare le notti tarde e i fine settimana lunghi il ripristino dai backup (che si spera sia stato eseguito da qualcuno) o il pagamento delle commissioni estreme alle società di recupero.

Cos'è RAID?

Redundant Arrays of Inexpensive Disks (RAID) è una delle tecnologie di archiviazione più utilizzate ed efficaci che un amministratore di sistema incontrerà. Essere a proprio agio con le sue implementazioni più comuni è vitale. RAID può essere offerto come soluzione software tramite un'utilità del sistema operativo come mdadm in Linux, un controller RAID hardware come la linea di schede MegaRAID, o anche chipset che offrono funzionalità pseudo-RAID. I controller hardware come quelli della linea MegaRAID non devono essere confusi con gli adattatori bus host (HBA), tuttavia, sono progettati per un accesso semplice e diretto ai dischi. Gli HBA esistono come un modo per fornire connettività senza l'intelligenza del controller RAID e sono quindi molto meno costosi.

Ad alto livello, il concetto di RAID sta raggruppando una raccolta di unità in un array per scrivere i dati su di esse. A seconda della configurazione, i dati verranno scritti in modi diversi, con diverse quantità di informazioni sulla parità per aiutare a ricostruire i dati in caso di guasto dell'unità. Sebbene sia possibile utilizzare diversi tipi, velocità, dimensioni o connessioni per le unità in un array, è meglio farli corrispondere il più possibile. Le unità di dimensioni diverse finiscono quasi sempre per essere ridotte al minimo comune denominatore e le unità di velocità diverse devono attendere la più lenta.

Tuttavia, molti amministratori preferiscono acquistare unità di produttori diversi per evitare che batch di unità danneggiati causino guasti simultanei tra i membri degli array.

Livelli RAID

Poiché le configurazioni RAID sono denominate in livelli, lo schema di numerazione implica una scala lineare di progressione da una configurazione all'altra, anche se molti dei livelli non sono correlati tra loro. Ogni livello RAID ha pro e contro e alcuni livelli sono più utili di altri. Nel mondo reale, i livelli più comuni sono 0, 1, 5, 6, 10, 50 e 60. Esistono anche i livelli RAID 2, 3, 4 e pochi altri, ma sono proprietari, obsoleti o usati raramente. Può sembrare molto, ma una volta scomposte queste informazioni diventano più facilmente digeribili.

RAID 0

La maggior parte dei livelli RAID si adatta a un determinato caso d'uso. A partire da RAID 0, scopriamo che è costruito senza ridondanza interna in mente, poiché ogni disco fornisce la sua piena capacità all'array come spazio di archiviazione utilizzabile. Poiché i dati vengono suddivisi e scritti in parallelo su tutti i dischi, vediamo un vantaggio. Quando le letture e le scritture vengono eseguite su un array configurato in questo modo, possono essere molto veloci, poiché si ridimensiona linearmente in base al numero di dischi inclusi nell'array.

Tecnicamente, sebbene tu possa trasformare un singolo disco in un array RAID 0, lo faresti davvero con almeno una coppia di dischi. Il principale svantaggio di RAID 0, in generale, è che se un singolo disco scompare, l'intero array si guasterà e i dati andranno persi. Questa configurazione non è adatta per l'uso in produzione dove i dati non risiedono su un altro sistema facilmente accessibile. RAID 0 può essere una configurazione perfettamente ragionevole per una workstation di un utente finale che necessita di prestazioni elevate, tuttavia, in cui quella workstation non è l'unica casa per i dati su cui si lavora.

RAID 1

RAID 1 è stato progettato con un obiettivo completamente diverso da RAID 0. Invece di eseguire lo striping dei dati su un set di unità per la velocità senza alcuna protezione, RAID 1 offre a un amministratore la possibilità di eseguire il mirroring dei dati su due o più unità per la resilienza. Questo livello RAID fa ciò per fornire una copia locale (o copie) dei dati per aiutare contro il guasto di una singola unità e utilizza i dati di unità integre per ricostruire i dati dopo la sostituzione.

Di solito, i mirror RAID 1 sono costituiti da una coppia di unità, ma possono contenerne tre o più, a seconda di quante copie di blocchi l'amministratore deve avere online. Ciò che è importante sottolineare è che questo non un backup. Questi dati esistono come una copia live dell'unità in un sistema e non forniscono le protezioni di un normale sistema di backup. Questi mirror sono cloni 1:1, quindi le unità devono avere le stesse dimensioni, altrimenti lo spazio verrà perso per ospitare l'unità più piccola del set.

Indipendentemente dal numero di dischi aggiunti a un array RAID 1, la capacità totale rimane la stessa. Tale capacità è la dimensione di un singolo disco nell'array (il più piccolo, se non sono identici), ma il numero di copie dei dati aumenta con ogni disco aggiuntivo senza un aumento della capacità complessiva. Ogni disco è un altro clone dei dati, fornendo ulteriore protezione da guasti alle singole unità.

Esistono limiti al numero di dischi che possono essere aggiunti a un array, in base al software utilizzato e/o al controller a cui sono collegati.

RAID da 2 a 4

I livelli RAID 2, 3 e 4 sono obsoleti, proprietari o molto rari. È improbabile che molti amministratori di sistema vengano eseguiti su sistemi che eseguono una di queste tre configurazioni e, in circostanze normali, queste possono essere effettivamente ignorate. Se ti ritrovi a lavorare su un sistema che esegue uno di questi, la soluzione migliore è leggere la documentazione del fornitore per scoprire come gestirla al meglio.

RAID 5

Oltre a utilizzare RAID 0 per eseguire lo striping dei dati su una raccolta di unità senza protezione, o utilizzare RAID 1 per ottenere una certa ridondanza ma limitando la capacità, RAID 5 offre un'ottima via di mezzo con la scrittura di dati su più unità fornendo al contempo un livello di ridondanza all'array . RAID 5 esegue questa operazione scrivendo informazioni sulla parità su ogni unità in modo da poter ricostruire i dati da qualsiasi singola unità.

Quando si utilizza RAID 5, entra in gioco un nuovo requisito, in quanto l'array deve includere almeno tre dischi. La capacità è quindi uguale alla somma totale dei dischi, meno la dimensione di uno di essi. Ad esempio, un RAID 5 con sette dischi da 2 TB finisce per essere 12 TB (7 x 2 è 14 e meno un'unità è 12).

Quando uno di questi dischi finisce per guastarsi, un amministratore può sostituirlo e fare in modo che il sistema ricostruisca la sostituzione con i dati dal resto dell'array, utilizzando le informazioni di parità menzionate in precedenza. Ci sono due principali svantaggi di questa configurazione. Innanzitutto, c'è un successo nella scrittura delle prestazioni (c'è un sovraccarico nello scrivere tutti quei bit extra di informazioni sulla parità durante la scrittura dei dati reali). In secondo luogo, durante una ricostruzione, l'array è vulnerabile alla perdita totale se anche una delle unità integre si guasta. A seconda del carico di lavoro della macchina, una ricostruzione potrebbe creare un picco improvviso dell'attività di tali unità e finire per mandare in errore anche una delle unità integre. Questa preoccupazione è il motivo per cui, attualmente, molti amministratori optano per RAID 6.

RAID 6

Un'evoluzione naturale di RAID 5, RAID 6 riprende lo stesso concetto di base ed estende il "singolo drive" delle informazioni di parità a una coppia di unità. Sebbene la totalità delle singole unità non venga utilizzata per la parità, la capacità complessiva delle unità viene utilizzata nell'array e RAID 6 utilizza lo spazio di due unità per mantenere i bit di parità.

L'utilizzo successivo dello spazio su disco aggiuntivo significa che il numero minimo di dischi per un array RAID 6 sale a quattro. Questa modifica apparentemente semplice può significare un mondo di bene quando si tratta di ricostruire un'unità guasta e continuare a far funzionare un array. Puoi stare tranquillo che un ulteriore errore non significherà una perdita totale dei dati che vivono localmente sulla macchina.

RAID nidificato

Oltre i livelli 0, 1, 5 e 6, ci troviamo con l'idea di annidare i livelli RAID insieme per creare nuove configurazioni che offrano nuove opzioni per l'archiviazione. I più diffusi e vantaggiosi sono 10, 50 e 60; ciascuno essendo una combinazione di 1, 5 e 6 più 0, rispettivamente.

RAID 10

Una combinazione di 1 e 0 può sembrare che avrebbe dovuto essere di nuovo RAID 5, ma il modo migliore per pensare a questi livelli nidificati è in due dimensioni. Per RAID 10 prendiamo multipli array RAID 1 e striscia su di essi come se quegli array fossero dischi, creando da essi un array RAID 0. A causa di questo fattore, RAID 10 richiede almeno quattro dischi:due per un mirror e un paio di quei mirror. Quello che otteniamo è un array con velocità come un RAID 0 ma beneficia della ridondanza interna di un RAID 1. Un array RAID 10 fallirebbe solo quando uno degli array RAID 1 interni si guasta.

In ogni coppia RAID 1 (o mirror multipli se un amministratore lo desidera), il ripristino è possibile quando i dischi devono essere sostituiti, quindi un intero set di membri RAID 1 dovrebbe fallire affinché il RAID 10 stesso soccomba alla perdita di dati . Anche le ricostruzioni sono diverse. In RAID 5, i dati devono essere letti da tutte le unità nell'array per calcolare i nuovi bit dalla parità che è stata scritta in precedenza. RAID 10, poiché utilizza RAID 1, legge i cloni dell'unità guasta per ricostruirla.

RAID 50

Come RAID 10, RAID 50 ci offre la possibilità di creare un array veloce da quelli ridondanti. Finiamo con un RAID 0 che comprende un numero di array RAID 5, in modo simile a come RAID 10 era un insieme di array RAID 1. È qui che iniziamo a vedere molti dischi entrare nell'immagine anche per le impostazioni più semplici. Poiché un RAID 5 di base richiede tre dischi, un RAID 50 ne richiederebbe almeno un totale di sei, poiché è almeno una coppia di array RAID 5.

Ancora una volta, simile a RAID 10, questa opzione è il meglio di due mondi. RAID 50 ci offre una velocità extra dall'aggiunta di più dischi aggiunti in parallelo, pur continuando a fornirci le informazioni sulla parità interna dalla configurazione RAID 5. Un RAID 50 può resistere al guasto di più unità, purché non si trovino all'interno dello stesso array RAID 5 nidificato.

RAID 60

A questo punto, RAID 60 non dovrebbe sorprendere, poiché è la stessa estensione logica di RAID 6 a 60 come era RAID 5 a 50. Il più grande vantaggio aggiuntivo sono i guadagni di velocità che possono essere ottenuti, combinati con il massiccio aumento della ridondanza fornito nelle copie multiple delle informazioni di parità e la portata ristretta di errori per ogni array nidificato. Gli array RAID 60 iniziano con otto unità, poiché ogni RAID 6 è almeno quattro, in multipli di almeno due array.

RAID e backup

Uno dei detti più comunemente adottati nel regno dell'amministrazione di sistema sembra essere:"RAID non è un backup". Per i nuovi amministratori o per coloro che non passano molto tempo a pensare allo spazio di archiviazione, questo fatto potrebbe non essere immediatamente evidente. Può anche sembrare antagonista o completamente sbagliato.

Il problema deriva dal fatto che la ridondanza incorporata nelle configurazioni RAID è costruita con gli stessi obiettivi in ​​mente dei backup:combattere la perdita di dati. Il motivo per cui è così importante parlare della differenza non è fare il pignolo, ma ricordare a noi stessi che questi strumenti esistono per fornirci livelli di protezione e, raggruppandoli insieme, ci rendiamo un disservizio.

RAID esiste per fornire una copia immediata e in tempo reale dei dati per aiutare una macchina in esecuzione come una stampella mentre si riprende dopo che è inciampata. D'altra parte, i backup offrono l'opportunità di testare la nostra capacità di ripristinare uno stato di lavoro di una macchina o di recuperare i dati senza che la macchina sia in esecuzione. I backup ci offrono altri vantaggi che RAID non offre, inclusa la possibilità di inviare copie in più posizioni su più tipi di supporto e salvare più versioni.

RAID e backup ricoprono ruoli diversi, ma entrambi sono importanti e nessuno dei due dovrebbe essere trascurato.


Linux
  1. Pseudo file per dati temporanei?

  2. Alternativa per Mendeley per Ubuntu?

  3. Chi produce laptop per Ubuntu?

  4. Utilizzo di file per IPC di memoria condivisa

  5. Come monitorare il raid del filesystem BTRFS per errori?

Trucchi e scherzetti per amministratori di sistema e operatori

I 15 migliori sistemi di gestione di database per desktop Linux

Che cos'è un database distribuito e a cosa servono i sistemi di dati distribuiti?

Come installare Anaconda su Linux per la scienza dei dati vince!

I 20 migliori software di data mining per desktop Linux

15 migliori gestori di compressione o archivio per il sistema Linux