Configurazione RAID per NAS di grandi dimensioni


13

Sto pensando di costruire un box NAS da 24 TB da 1 TB, ma non sono sicuro di quale sia la migliore configurazione del disco. Sto cercando di utilizzare il controller areca ARC-1280ML-2G e di appenderlo da tutte e 24 le unità.

Vorrei che tutto fosse montato su un unico volume, a causa del tipo di dati che stiamo memorizzando su di esso. Un'idea folle che abbiamo avuto è stata quella di configurare 6 volumi RAID 5 a 4 dischi, quindi eseguire il software RAID 5 su quei 6 volumi. Ciò significherebbe che un volume qualsiasi potrebbe morire su di noi e non perderemmo ancora i dati.

Dovrei notare che questo è un progetto di ricerca e sviluppo, abbiamo un'applicazione in arrivo in cui avremo bisogno di decine di terabyte di spazio di archiviazione per essere veloci e altamente disponibili. Ma per la fase iniziale di ricerca e sviluppo possiamo accettare alcuni rischi.

Qual è la migliore soluzione a questo tipo di configurazione? Con 24 dischi da 1 TB, è probabile che più di uno fallisca contemporaneamente (o entro il tempo necessario per ricostruire il volume dopo un primo errore), quindi ho problemi a trovare una buona soluzione.

Risposte:


10

Esiste già un livello RAID per quello che vuoi; si chiama RAID 10.

L'MTBF per unità di livello professionale e di consumo è aumentato di un ordine di grandezza negli ultimi anni, il tasso di errore non correggibile è rimasto relativamente costante. Questo tasso è stimato a 10 ^ 14 bit, quindi un bit per 12 terabyte letti, per unità SATA consumer, sorgente .

Pertanto, per ogni scansione dei passaggi dell'unità 24 TB, statisticamente riscontrerai almeno 2 errori a bit singolo. Ognuno di questi errori attiverà una ricostruzione RAID5 e, peggio ancora, durante la ricostruzione un secondo errore provocherà un doppio errore.


Punti eccellenti sul tasso di errore non correggibile, ma nel terzo paragrafo, dovresti aggiungere che "statisticamente, incontrerai ...", poiché sappiamo tutti che gli errori di lettura (o la loro mancanza) non sono certi
Matt Simmons

Non tenterà di rileggere prima di ricostruire?
Antoine Benkemoun,

Antoine: Certo, ma se davvero non può essere letto, dovrà ricostruire per ottenere i dati dalla parità, IIRC.
Matt Simmons,

@Antonie, si tratta di errori di lettura non correggibili, ovvero errori che non possono essere corretti dalla logica ECC del convertitore (che corregge gli errori a un tasso significativamente superiore a 1: 10 ^ 14)
Dave Cheney,

Quindi questi sono errori causati da errori di scrittura? cosa impedisce al successo di una seconda lettura?
Antoine Benkemoun,

11

Questo è esattamente il mio lavoro quotidiano ... la creazione di server di archiviazione Linux.

  • La scheda Areca è OK. Puoi usarlo in RAID-6, fornirà una sicurezza ragionevole. Acquista anche l'unità di backup batteria opzionale .
  • Utilizzare dischi di livello enterprise , non unità desktop. Spenderai altri 400 dollari sul tuo server, ma ne vale la pena. Acquista due unità di riserva. Non scherzare, usa i dischi dello stesso modello.
  • Per il filesystem, usa XFS . Non scherzando, ext3 e gli amici semplicemente non saranno all'altezza del lavoro per i filesystem da 16 TB +. Anche in caso di un incidente grave, xfs_repair sarà abbastanza veloce su un volume di 20 TB (15 minuti, non di più).
  • Preferibilmente, usa LVM2 , faciliterà la gestione dello storage, anche se non prevedi di modificarlo molto.
  • installa lo strumento di gestione areca e scrivi un cron job per inviarti un'e-mail giornaliera con un controllo dello stato.
  • Non dimenticare il backup . RAID non è un backup; se qualcuno semplicemente elimina un file importante, non sarai in grado di recuperare senza un backup adeguato. Personalmente uso rdiff-backup per salvare tutti i dati importanti su un server dedicato con una cronologia di un mese; puoi anche creare due volumi RAID sul tuo file server e fare il backup uno sull'altro.

6

wow, RAID5 su RAID5? Vuoi discutere dei problemi di prestazioni? Ne avrai tonnellate . L'host da cui sospendi quelli avrà gattini che elaborano la parità, scrivendo quella parità su 3 unità e quindi calcolando la parità di QUELLA parità e scrivendola sul 4 ° disco di quel set. WOW!

Parliamo di RAID10. È essenzialmente RAID 1, ma dividi le unità a metà e rispondi a quello. È tollerante ai guasti in quanto è possibile perdere 2 unità e comunque andare bene, inoltre le prestazioni sono eccezionali.

Se non hai bisogno di una folle quantità di spazio, ma hai un array da 24 TB in giro con niente di meglio da fare, ma deve assolutamente essere positivo, allora potresti considerare RAID60. È essenzialmente RAID6 che utilizza set di unità con mirroring. Perderai circa la metà delle tue unità e le prestazioni saranno pessime, ma avrai quasi la certezza che i dati saranno presenti.

Davvero, andrei con RAID10. Funziona bene e funziona bene. Secondo l'opinione di Evan secondo cui probabilmente non dovresti creare giganteschi set RAID da quel numero di dischi, perché come dice, cose come fsck e chkdsk impiegheranno per sempre, e soprattutto nella mia mente, perché la probabilità statistica di un errore di lettura aumenta come le dimensioni del singolo disco. Consiglierei 7-10 dischi per set. È possibile creare 3 volumi RAID di dimensioni molto decenti con quel numero di mandrini.

Qualunque cosa tu scelga, ricorda di lasciare un paio di dischi in hot spare, in modo da poter iniziare immediatamente la ricostruzione, invece di far aspettare l'array per sostituirli. Non appena un disco si spegne, l'orologio inizia a scorrere per far andare un altro.


@Matt: non sto parlando delle dimensioni dei set RAID-- Sto parlando delle dimensioni del filesystem. L'uso di un singolo filesystem così grande, indipendentemente dal tipo di filesystem, richiede enormi tempi di inattività quando è necessario eseguire un controllo del filesystem perché il sistema operativo host ha "corrotto" il filesystem, ecc.
Evan Anderson,

@Evan - Mi dispiace, mia cattiva. Ma anche questo è un altro argomento contrario.
Matt Simmons,

@Matt: un argomento contro cosa? Il layout dei contenitori RAID e il numero di filesystem su tali contenitori RAID sono preoccupazioni orthagonal. Non è necessario disporre di un singolo file system in un singolo contenitore RAID e un file system può estendersi su più contenitori RAID nella maggior parte dei sistemi operativi.
Evan Anderson,

Hai ragione su entrambi. Siamo d'accordo. Non dovresti creare filesystem estremamente grandi perché il tempo di controllo è scadente. Inoltre, non dovresti creare volumi di raid estremamente grandi perché aumenta la probabilità statistica di un errore di lettura.
Matt Simmons,

2

Perché non RAID 1 + 0? È tutto gestito a livello di controller ...


1

So che hai detto "R&S", ma hai anche detto "altamente disponibile". Per fare ciò, metterei in dubbio il "risparmio" di una soluzione fai-da-te rispetto all'acquisto di attrezzature SAN standard. Quando le cose andranno male con la tua soluzione fai-da-te, sarai nella posizione invidiabile di non avere nessuno a cui chiedere aiuto. Quanto ti costa l'ora di fermo? Puoi risparmiare abbastanza rapidamente il costo di alcuni dispositivi SAN di livello medio in termini di tempi di inattività, ignorando i costi associati alla perdita dei dati.

Indipendentemente da ciò che fai sul disco sottostante, non creerei un singolo filesystem così grande.

La corruzione del filesystem è una possibilità reale (problema del controller RAID, bug del sistema operativo, ecc.). In un volume così grande, un controllo del filesystem impiegherà un'eternità. Consiglio vivamente di utilizzare più volumi che possono essere logicamente combinati per apparire come un singolo file system (in vari modi: non hai menzionato il sistema operativo, quindi non posso darti idee specifiche). Se hai un po 'di corruzione del filesystem perderai parte del volume logico, ma sarai comunque "attivo".

Ad esempio: in un mondo Windows, l'esecuzione di CHKDSK su un volume NTFS da 20 TB pieno di file sarà LENTO . In quel tipo di ambiente, creerei più volumi NTFS più piccoli e li combinerei logicamente in un unico spazio dei nomi con DFS.


1

wazoox, le risposte sono buone Non ho il rappresentante per dargli più punti in più, ma aggiungerei quanto segue.

RAID 6 o almeno 2 dischi di parità attivi per 10 dischi, al massimo 16 se è possibile impiegare circa un giorno in cui le prestazioni saranno influenzate dalla ricostruzione del raid. Se non riesci a convivere con il degrado, sarà necessario che le strisce siano speculari.

Se stai seguendo la strada per Linux, userei una scheda raid hardware (con batteria di riserva) o avrei un controller raid nel contenitore del disco. Concordo sul fatto che xfs sia il filesystem preferito su Linux, tuttavia sii consapevole del fatto che i filesystem di circa 50 TB su xfs richiedono più di 16 GB di RAM se devi eseguire xfs_check.

Vorrei seriamente prendere in considerazione una buona scatola NAS come una NetApp in quanto richiedono molto meno lavoro a lungo termine, dipende da quanto vale il tempo che gli amministratori di archiviazione meritano per l'azienda.

Far funzionare bene nfs / samba è un po 'oscuro, userai etere da 10 GB o solo aggregazioni da 1 GB / sec? (Non ottenere schede Broadcomm in particolare quelle da 10 GB).

LVM2 è un gioco da ragazzi, ma non usare lo scatto automatico perché non è veloce.

Ricorda che i backup di questo richiederà del tempo.

Metti alla prova il modo in cui il sistema può fallire prima che entri in produzione e fallo scrivere dove tu e i tuoi colleghi potete trovare i documenti quando tutto va storto.


1

Dipende dal rapporto di lettura / scrittura. Utilizziamo molti enclosure di unità SAS esterne HP MSA70 da 25 dischi e le creiamo sempre come un singolo array RAID6 poiché il nostro rapporto di lettura / scrittura è del 99%: 1%, quindi non ci interessa che R6 sia il più lento nella scrittura ( ancora piuttosto veloce, ma non così buono rispetto ad altri). In questo modo abbiamo a disposizione 23 dischi di dati a nostra disposizione, molto buoni, come in MOLTO buoni, casuali vantaggi di lettura e larghezza di banda di lettura complessiva e possiamo sopravvivere a due guasti del disco.

Come guida approssimativa, un array RAID5 non dovrebbe avere più di circa 14 dischi in un array, mentre un RAID6 dovrebbe andare bene con un massimo di 54 dischi - ovviamente, più grande è l'array, maggiore è il divario tra le prestazioni di lettura e scrittura e il saranno necessarie ricostruzioni più lente, ma PUO 'essere un buon compromesso.


0

Vorrei aggiungere due dischi di standby per iniziare.

RAID 5 o 6 è OK per letture casuali o letture e scritture sequenziali di grandi dimensioni. Se hai intenzione di ottenere molte piccole scritture vai con RAID 10 poiché RAID 5+ subisce un colpo di 4 x per le piccole scritture.

Se hai intenzione di attivare la cache di scrittura, ricordati di eseguirne il backup con una batteria.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.