Prestazioni RAID pratiche?


8

Ho sempre pensato che quanto segue fosse una regola empirica generale per RAID:

  • RAID 0: migliori prestazioni per READ e WRITE da stripping, massimo rischio
  • RAID 1: ridondante, decente per READ (credo che possa leggere da diverse parti di un file da diversi dischi rigidi), non il migliore per WRITE
  • RAID 0 + 1 (01): combina la ridondanza di RAID 1 con le prestazioni di RAID 0
  • RAID 1 + 0 (10): versione leggermente migliore di RAID 0 + 1
  • RAID 5: buone prestazioni READ, cattive prestazioni WRITE, ridondanti

QUESTA ASSUNZIONE È CORRETTA? (e come si confronta con una configurazione JBOD per prestazioni IO R / W)

Alcune configurazioni RAID pratiche sono migliori per diverse applicazioni: giochi, editing video, database (Acccess o SQL)?

Stavo pensando alle unità a disco rigido, ma questo vale anche per le unità a stato solido?


La mia comprensione della ridondanza di ciascuna delle classi RAID è piuttosto buona, non sono sicuro delle prestazioni di I / O di lettura e scrittura.
wag2639

Per quanto riguarda JBOD, so che non offre prestazioni o ridondanza, l'ho appena menzionato come riferimento di base.
wag2639,

Risposte:


12

Raid 0 . Ottima velocità di lettura e scrittura. Il rischio di errore è aumentato all'aumentare del numero di dischi del membro. Nessuna parità.

Raid 1 . Ottima velocità di lettura solo se il driver è implementato correttamente - Se usi i controller raid Areca e LSI, possono offrire quasi la stessa capacità di lettura per i set Raid 1 dei set Raid 0 (entro il 10%). Si noti che per le soluzioni di raid software ci sono due tipi, software OS e software della scheda madre.

La maggior parte dei Raid di tipo scheda madre non offrono buone prestazioni di lettura del Raid 1. L'ultima volta che ho verificato che Windows e Linux non avevano una buona implementazione delle letture di Raid 1. BSD aveva un'implementazione Raid 1 correttamente implementata che utilizza il metodo di lettura roundrobin.

In breve, utilizzare Raid 1 per ridondanza e velocità di lettura se si utilizzano controller avanzati.

Raid 1/0 e Raid 0/1 . Questa è una combinazione. Supponiamo che tu abbia 10 dischi. Il raid 1/0 è che c'è un mirror in ogni set: Set A (1 + 2), Set B (3 + 4), Set C (5 + 6), Set D (7 + 8), Set E (9+ 10), quindi Esegui un set di strisce tra i 5 set (AE). In questo modo, ogni set può avere un guasto dell'unità, ma se due unità si guastano nello stesso set, il gioco è fatto.

Raid 0/1 è quello di avere strip set A (1 + 2 + 3 + 4 + 5) e set B (6 + 7 + 8 + 9 + 10) e mirroring i due set. In questo modo, se l'unità 2 e l'unità 9 si guastano, la maggior parte dei controller lo considera un errore totale (che, in realtà, ha ancora tutti i dati).

C'è una piccola differenza di prestazioni tra i due, ma non credo che di solito si ottengano entrambi da un controller Raid.

Incursione 5 . una borsa molto mista: per le letture sequenziali, è più veloce del raid 1/0, e per le letture casuali è leggermente più lenta. Nota che le prestazioni del raid 5 dipendono molto dalla velocità del controller (ad es. Non puoi aspettarti molto dal raid a bordo).

Raid 6 . La ridondanza è aumentata rispetto a Raid 5. due unità possono non funzionare in qualsiasi momento e quando si ricostruisce l'array dopo 1 unità guasta c'è ancora ridondanza (si noti che quando l'unità raid 5 si guasta, l'array è simile al raid 0 - qualsiasi unità guasta = perdita totale ).

JBOD . Nessun vantaggio che mi viene in mente.


grazie .. quindi da quello che sto leggendo, utilizzando schede madri di largo consumo con l'obiettivo di prestazioni di gioco, raid 0 è il migliore senza ottenere un controller raid dedicato separato? (Non mi interessa se devo reinstallare i programmi os + e i dati saranno altrove, possibile raid 5 array)
wag2639

2
hai ragione. anche se temo che le prestazioni utilizzando il raid della scheda madre non saranno molto diverse dall'uso del raid software basato su OS (sebbene, ovviamente, la differenza sia che l'unità disco di sistema non può essere razziata nel raid software basato su OS). Inoltre, le prestazioni del raid5 nel raid della scheda madre sono patetiche (in alcuni casi al ribasso di 15-20 MB / s!)
bubu

2

Come suggerisce la tua domanda, non esiste davvero una "migliore" configurazione RAID, migliore solo per un particolare insieme di circostanze, con i costi che spesso rappresentano uno dei fattori più importanti.

Senza entrare nella minuzia di controller e software, ecco le mie regole pratiche.

RAID 0 è il più veloce in quanto è possibile leggere e scrivere su molti dischi contemporaneamente e non viene "sprecato" spazio per la ridondanza. Perdi qualsiasi disco e perdi il set, quindi RAID 0 dovrebbe essere usato solo su una macchina che non ti interessa, o è facile da ripristinare e non contiene dati che apprezzi. Una macchina da gioco potrebbe adattarsi a questo scenario, anche se onestamente, la differenza di velocità non è così evidente che sarei disposto ad accettare il rischio aumentato di dover ricostruire la macchina. Può anche essere utile per aree "scratch" molto veloci se si dispone di software che necessita di quel tipo di cose.

RAID 1 è l'impostazione del mirror molto comune, in genere di 2 dischi. Le letture sono generalmente appena due volte più veloci di un singolo disco, mentre le scritture sono solo un po 'più lente di un singolo disco. Sui server, RAID 1 è una scelta eccellente per i file del sistema operativo. È anche una buona scelta quando hai bisogno di ridondanza, le tue esigenze di archiviazione non sono così grandi da richiedere RAID 5 e potresti beneficiare della maggiore velocità di lettura (i file di registro del database sono comunemente posizionati su RAID 1).

I RAID da 2 a 4 (non nella domanda) sono generalmente inutilizzati, tranne per i prodotti di alcuni fornitori sul lato aziendale.

RAID 5 è un compromesso tra non sprecare troppo spazio in ridondanza e ottenere comunque le prestazioni aggiuntive di dischi extra. Le velocità di lettura sono molto buone poiché tutti i dischi possono partecipare. Le velocità di scrittura a volte possono essere un problema con RAID 5, anche se penso che questo sia a volte sopravvalutato a seconda della situazione. Anche con l'hardware che esegue i calcoli di parità, piccole scritture casuali risentono del RAID 5 poiché ogni operazione di scrittura logica richiede 4 I / O (lettura da disco dati, lettura da disco parità, scrittura disco dati, scrittura disco parità). Scegli RAID 5 quando vuoi massimizzare la quantità di spazio di archiviazione che ottieni da un set di dischi pur mantenendo un buon grado di sicurezza. Evitare quando l'applicazione ha esigenze di prestazioni elevate e richiede molte piccole scritture casuali (dischi rigidi della macchina virtuale, file di dati del database). Inoltre, tieni presente che i dischi di grandi dimensioni moderni impiegano molto tempo a ricostruirsi quando si guastano come parte di un set RAID 5 e che mettono a rischio i tuoi dati più a lungo per un secondo errore del disco. RAID 6 può ridurre questo rischio a scapito di prestazioni di scrittura casuali ancora peggiori.

RAID 1/0 e 0/1 hanno praticamente le stesse caratteristiche prestazionali. 1/0 è preferibile però perché un errore significa ricostruire solo la coppia di dischi coinvolti piuttosto che un'intera striscia di dischi. RAID 1/0 è la configurazione per uso generale più veloce di quelle menzionate nella domanda. Le prestazioni di lettura e scrittura sono entrambe ottime (le letture possono avvenire contemporaneamente da tutti i dischi in una sola volta, le scritture devono avvenire su più dischi ma non è necessario alcun ciclo di lettura / lettura / scrittura / scrittura come RAID 5) sebbene RAID 5 possa vincere in determinate circostanze. RAID 1/0 è (ovviamente) il più costoso in quasi tutti i casi. Dovrebbe essere usato solo quando le prestazioni sono fondamentali, i dati sono estremamente preziosi e l'applicazione non ha tolleranza per i tempi di inattività. Spesso i server di database (o almeno i loro file di dati) sono buoni candidati per RAID 1/0.

Le unità a stato solido possono infatti essere inserite nelle configurazioni RAID, in particolare per il suo valore di ridondanza. Molti SSD possono sovraperformare il bus (SATA) a cui sono collegati, soprattutto per le operazioni di lettura, quindi l'effetto delle prestazioni del RAID è meno convincente con gli SSD.


0

Se acquisti un controller raid hardware, vai con RAID5. Ha il minor sovraccarico e il controller raid hardware eliminerà quasi la penalità di sovraccarico in scrittura poiché calcola i bit di parità nell'hardware. Raid5 legge anche più dischi contemporaneamente migliorando la velocità di lettura e scrittura.

Sì, questo vale anche per le unità a stato solido. Un test di SSD in Raid0 ha mostrato aumenti di velocità quasi lineari.

Raid5 è di gran lunga la tecnologia più utilizzata nel mondo dei server, ma per un laptop con solo 2 dischi rigidi suggerirei raid1 in mirroring.

JBOD non ha ridondanza nel caso in cui un disco rigido si guasti, ma a seconda delle impostazioni è possibile eseguire lo striping dei dati per aumentare le prestazioni come il raid.


1
JBOD non può eseguire lo striping di solito perché è progettato per l'uso con dischi di dimensioni diverse: se hai le stesse dimensioni, dovresti già utilizzare RAID 1 o RAID 0.
Darth Android
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.