Collegamento di un controller SAS. Controller SAS di Adaptec. Veloce e agile. Non operativo

Test degli array RAID 6, 5, 1 e 0 con unità Hitachi SAS-2

Apparentemente sono finiti i tempi in cui un decente controller RAID professionale a 8 porte costava un sacco di soldi. Oggigiorno sono apparse soluzioni per l'interfaccia Serial attached SCSI (SAS), che sono molto interessanti in termini di prezzo, funzionalità e prestazioni. Questa recensione riguarda uno di questi.

Controller LSI MegaRAID SAS 9260-8i

In precedenza abbiamo già scritto dell'interfaccia SAS di seconda generazione con una velocità di trasferimento di 6 Gbit/s e dell'economico controller HBA a 8 porte LSI SAS 9211-8i, progettato per l'organizzazione di sistemi di archiviazione dati entry-level basati sui più semplici array RAID Unità SAS e SATA. Il modello LSI MegaRAID SAS 9260-8i sarà di classe superiore: è dotato di un processore più potente con elaborazione hardware di array di livello 5, 6, 50 e 60 (tecnologia ROC - RAID On Chip), oltre a un notevole quantità (512 MB) di memoria SDRAM integrata per un efficiente caching dei dati. Questo controller supporta anche le interfacce SAS e SATA con una velocità di trasferimento dati di 6 Gbps e l'adattatore stesso è progettato per il bus PCI Express x8 versione 2.0 (5 Gbps per corsia), che teoricamente è quasi sufficiente per soddisfare le esigenze di 8 porte SAS ad alta velocità. E tutto questo a un prezzo al dettaglio di circa $ 500, cioè solo un paio di centinaia in più rispetto al budget LSI SAS 9211-8i. Il produttore stesso, tra l'altro, classifica questa soluzione come una serie MegaRAID Value Line, ovvero soluzioni economiche.




Controller SAS a 8 porte LSIMegaRAID SAS9260-8i e processore SAS2108 con memoria DDR2

La scheda LSI SAS 9260-8i ha un profilo basso (fattore di forma MD2), è dotata di due connettori interni Mini-SAS 4X (ognuno di essi consente di collegare direttamente fino a 4 unità SAS o più tramite moltiplicatori di porte), è progettata per il bus PCI Express x8 2.0 e supporta i livelli RAID 0, 1, 5, 6, 10, 50 e 60, funzionalità SAS dinamica e molto altro. 

ecc. Il controller LSI SAS 9260-8i può essere installato sia in server rack 1U e 2U (server Mid e High-End), sia in case ATX e Slim-ATX (per workstation). Il supporto RAID è fornito nell'hardware: un processore LSI SAS2108 integrato (core PowerPC a 800 MHz), completato da 512 MB di memoria DDR2 a 800 MHz con supporto ECC. LSI promette velocità del processore fino a 2,8 GB/s in lettura e fino a 1,8 GB/s in scrittura. Tra le ricche funzionalità dell'adattatore, vale la pena notare le funzioni Online Capacità Expansion (OCE), Online RAID Level Migration (RLM) (espansione del volume e modifica al volo del tipo di array), Servizi di crittografia SafeStore e Cancellazione sicura istantanea (crittografia dei dati su dischi ed eliminazione sicura dei dati), supporto per unità a stato solido (tecnologia SSD Guard) e molto altro. 

ecc. Per questo controller è disponibile un modulo batteria opzionale (con esso, la temperatura operativa massima non deve superare +44,5 gradi Celsius).Controller LSI SAS 9260-8i: principali caratteristiche tecniche
Interfaccia di sistemaPCI Express x8 2.0 (5 GT/s), bus master DMA
Interfaccia del discoSAS-2 6 Gbit/s (supporta i protocolli SSP, SMP, STP e SATA)
Numero di porte SAS8 (2 connettori Mini-SAS SFF8087 x4), supporta fino a 128 unità tramite moltiplicatori di porte
Supporto RAIDlivelli 0, 1, 5, 6, 10, 50, 60
processoreLSI SAS2108 ROC (PowerPC a 800 MHz)
Memoria cache incorporataDDR2 ECC da 512 MB 800 MHz
Consumo energetico, niente di più24 W (+3,3 V e +12 V di alimentazione dallo slot PCIe)
Intervallo di temperature di funzionamento/immagazzinamento0…+60 °С / −45…+105 °С
Fattore di forma, dimensioniMD2 a basso profilo, 168×64,4 mm
Valore MTBF>2 milioni di ore

Garanzia del produttore

In una scatola bianca e arancione con la faccia di una donna con i denti dal sorriso frivolo sul "titolo" (apparentemente per attirare meglio gli amministratori di sistema barbuti e i costruttori di sistemi severi) c'è una scheda controller, staffe per l'installazione in ATX, case Slim-ATX, ecc. ., due cavi da 4 dischi con connettori Mini-SAS da un lato e SATA normale (senza alimentazione) dall'altro (per collegare fino a 8 unità al controller), nonché un CD con documentazione PDF e driver per numerosi Versioni di Windows, Linux (SuSE e RedHat), Solaris e VMware.


Set di consegna della versione in scatola del controller LSI MegaRAID SAS 9260-8i (la chiave hardware mini MegaRAID Advanced Services è disponibile su richiesta separata)

Con una chiave hardware speciale (fornita separatamente), sono disponibili le tecnologie software LSI MegaRAID Advanced Services per il controller LSI MegaRAID SAS 9260-8i: MegaRAID Recovery, MegaRAID CacheCade, MegaRAID FastPath, LSI SafeStore Encryption Services (la loro considerazione va oltre lo scopo di questo articolo). In particolare, in termini di aumento delle prestazioni di un tradizionale disk array (HDD) utilizzando un'unità a stato solido (SSD) aggiunta al sistema, sarà utile la tecnologia MegaRAID CacheCade, con l'aiuto della quale l'SSD funge da secondo- cache a livello per l'array HDD (analoga a una soluzione ibrida per HDD), in alcuni casi, fornendo un aumento fino a 50 volte delle prestazioni del sottosistema disco. Interessante è anche la soluzione MegaRAID FastPath, che riduce la latenza di elaborazione delle operazioni I/O da parte del processore SAS2108 (disabilitando l'ottimizzazione per gli HDD), che consente di velocizzare il funzionamento di un array di più unità a stato solido (SSD) ) collegato direttamente alle porte SAS 9260-8i.

È più conveniente eseguire operazioni di configurazione, impostazione e manutenzione del controller e dei suoi array nel gestore proprietario nell'ambiente sistema operativo(le impostazioni nel menu di configurazione del BIOS del controller stesso non sono sufficientemente ricche: sono disponibili solo le funzioni di base). In particolare, nel gestore, con pochi clic del mouse, puoi organizzare qualsiasi array e impostare le politiche per il suo funzionamento (caching, ecc.) - vedi screenshot.




Esempi di screenshot del gestore di Windows per la configurazione degli array RAID dei livelli 5 (sopra) e 1 (sotto).

Test

Per familiarizzare con le prestazioni di base di LSI MegaRAID SAS 9260-8i (senza la chiave hardware MegaRAID Advanced Services e le tecnologie correlate), abbiamo utilizzato cinque unità SAS ad alte prestazioni con una velocità del mandrino di 15 mila giri al minuto e supporto per SAS- 2 (6 Gbit / c) - Hitachi Ultrastar 15K600 HUS156030VLS600 con una capacità di 300 GB.


Disco rigido Hitachi Ultrastar 15K600 senza coperchio superiore

Questo ci permetterà di testare il tutto livelli base array - RAID 6, 5, 10, 0 e 1, non solo con il numero minimo di dischi per ciascuno di essi, ma anche "per crescita", ovvero quando si aggiunge un disco alla seconda delle porte SAS a 4 canali del chip ROC. Si noti che l'eroe di questo articolo ha un analogo semplificato: il controller LSI MegaRAID SAS 9260-4i a 4 porte sullo stesso elemento base. Pertanto, i nostri test sugli array da 4 dischi sono ugualmente applicabili a questo.

La massima velocità sequenziale di lettura/scrittura dei dati del carico utile per l'Hitachi HUS156030VLS600 è di circa 200 MB/s (vedi grafico). Il tempo medio di accesso casuale durante la lettura (secondo le specifiche) è di 5,4 ms. Buffer integrato: 64 MB.


Grafico della velocità di lettura/scrittura sequenziale Hitachi Ultrastar 15K600 HUS156030VLS600

Il sistema di test era basato su Processore Intel Xeon 3120, scheda madre con chipset Intel P45 e memoria DDR2-800 da 2 GB. Il controller SAS è stato installato nello slot PCI Express x16 v2.0. I test sono stati effettuati con i sistemi operativi Windows XP SP3 Professional e Windows 7 Ultimate SP1 x86 (versioni americane pure), poiché le loro controparti server (rispettivamente Windows 2003 e 2008) non consentono alcuni dei benchmark e degli script con cui lavoravamo . I test utilizzati sono stati AIDA64, ATTO Disk Benchmark 2.46, Intel IOmeter 2006, Intel NAS Performance Toolkit 1.7.1, C'T H2BenchW 4.13/4.16, HD Tach RW 3.0.4.0 e per Futuremark PCMark Vantage e PCMark05. I test sono stati effettuati sia su volumi non partizionati (IOmeter, H2BenchW, AIDA64) che su partizioni formattate. In quest'ultimo caso (per NASPT e PCMark), i risultati sono stati presi sia per l'inizio fisico dell'array che per il suo centro (i volumi dell'array della massima capacità disponibile sono stati divisi in due partizioni logiche di uguali dimensioni). Ciò ci consente di valutare in modo più adeguato le prestazioni delle soluzioni, poiché le sezioni iniziali più veloci dei volumi, su cui la maggior parte dei browser esegue benchmark dei file, spesso non riflettono la situazione su altre sezioni del disco, che possono essere utilizzate anche molto attivamente nel lavoro reale.

Tutti i test sono stati eseguiti cinque volte ed è stata calcolata la media dei risultati. Esamineremo la nostra metodologia aggiornata per la valutazione delle soluzioni disco professionali in modo più dettagliato in un articolo separato.

Resta da aggiungere che durante questo test abbiamo utilizzato la versione firmware del controller 12.12.0-0036 e la versione driver 4.32.0.32. La memorizzazione nella cache di scrittura e lettura è stata abilitata per tutti gli array e i dischi. Forse l'uso di firmware e driver più moderni ci ha salvato dalle stranezze notate nei risultati dei primi test dello stesso controller. Nel nostro caso, tali incidenti non sono stati osservati. Tuttavia nel nostro pacchetto non utilizziamo nemmeno lo script FC-Test 1.0, che è molto dubbio in termini di affidabilità dei risultati (che in alcuni casi gli stessi colleghi “vorrebbero chiamare confusione, indecisione e imprevedibilità”), poiché in precedenza abbiamo più volte notato la sua incoerenza su alcuni modelli di file (in particolare, insiemi di molti file piccoli, inferiori a 100 KB).

I grafici seguenti mostrano i risultati per 8 configurazioni di array:

  1. RAID 0 di 5 dischi;
  2. RAID 0 di 4 dischi;
  3. RAID 5 su 5 dischi;
  4. RAID 5 su 4 dischi;
  5. RAID 6 su 5 dischi;
  6. RAID 6 su 4 dischi;
  7. RAID 1 di 4 dischi;
  8. RAID 1 di 2 dischi.

Per array RAID 1 di quattro dischi (vedi screenshot sopra), LSI intende ovviamente un array stripe+mirror, solitamente indicato come RAID 10 (questo è confermato dai risultati dei test).

Risultati dei test

Per non sovraccaricare la pagina web della recensione con un'infinità di diagrammi, a volte poco informativi e stancanti (cosa che spesso è colpa di qualche “collego rabbioso” :)), abbiamo riassunto i risultati dettagliati di alcuni test in tavolo. Coloro che desiderano analizzare le sottigliezze dei nostri risultati (ad esempio, scoprire il comportamento dei partecipanti nei compiti più critici per se stessi) possono farlo da soli. Ci concentreremo sui risultati dei test più importanti e chiave, nonché sugli indicatori medi.

Per prima cosa, diamo un'occhiata ai risultati dei test “puramente fisici”.

Il tempo medio per l'accesso casuale ai dati durante la lettura su un singolo disco Hitachi Ultrastar 15K600 HUS156030VLS600 è di 5,5 ms. Tuttavia, quando li si organizza in array, questo indicatore cambia leggermente: diminuisce (grazie all'efficace memorizzazione nella cache del controller LSI SAS9260) per gli array "mirror" e aumenta per tutti gli altri. L'aumento maggiore (circa il 6%) si osserva per gli array di livello 6, poiché in questo caso il controller deve accedere contemporaneamente al maggior numero di dischi (tre per RAID 6, due per RAID 5 e uno per RAID 0, poiché l'accesso in questo test avviene in blocchi di soli 512 byte, che è significativamente più piccolo della dimensione dei blocchi di interleaving dell'array).

Molto più interessante è la situazione con l'accesso casuale agli array durante la scrittura (in blocchi di 512 byte). Per un singolo disco, questo parametro è di circa 2,9 ms (senza memorizzazione nella cache nel controller host), tuttavia, negli array sul controller LSI SAS9260, osserviamo una diminuzione significativa di questo indicatore, grazie alla buona memorizzazione nella cache di scrittura nella SDRAM da 512 MB del controller respingente. È interessante notare che l'effetto più drammatico si ottiene per gli array RAID 0 (il tempo di accesso in scrittura casuale diminuisce di quasi un ordine di grandezza rispetto a una singola unità)! Ciò dovrebbe senza dubbio avere un effetto benefico sulle prestazioni di tali array in una serie di attività del server. Allo stesso tempo, anche su array con calcoli XOR (ovvero un carico elevato sul processore SAS2108), gli accessi in scrittura casuale non portano a un evidente degrado delle prestazioni, sempre grazie alla potente cache del controller. È naturale che RAID 6 sia qui leggermente più lento di RAID 5, ma la differenza tra loro è sostanzialmente insignificante. In questo test sono rimasto un po' sorpreso dal comportamento di un singolo "mirror", che mostrava l'accesso casuale più lento durante la scrittura (forse questa è una "caratteristica" del microcodice di questo controllore).

I grafici della velocità per la lettura e la scrittura lineare (sequenziale) (in blocchi di grandi dimensioni) per tutti gli array non hanno caratteristiche speciali (per la lettura e la scrittura sono quasi identici, a condizione che sia abilitata la cache di scrittura del controller) e sono tutti scalati in base al numero di dischi che partecipano in parallelo al processo “utile”. Cioè, per un disco RAID 0 a cinque dischi la velocità “quintuplica” rispetto a un singolo disco (raggiungendo 1 GB/s!), per un RAID 5 a cinque dischi “quadruplica”, per RAID 6 “triplica” ( triplica, ovviamente :)), per RAID 1 di quattro dischi raddoppia (niente “y2eggs”! :)), e per un semplice mirror duplica i grafici di un singolo disco. Questo andamento è chiaramente visibile, in particolare, nella velocità massima di lettura e scrittura di file di grandi dimensioni (256 MB) in blocchi di grandi dimensioni (da 256 KB a 2 MB), che illustriamo con un diagramma del test ATTO Disk Benchmark 2.46 ( i risultati di questo test per Windows 7 e XP sono quasi identici).

In questo caso l'unica cosa che inaspettatamente mancava dal quadro generale era il caso della lettura di file su un array RAID 6 di 5 dischi (i risultati sono stati ricontrollati). Tuttavia, per la lettura di blocchi da 64 KB, la velocità di questo array raggiunge i 600 MB/s richiesti. Attribuiamo quindi questo fatto a una “caratteristica” del firmware attuale. Si noti inoltre che durante la scrittura di file reali, la velocità è leggermente superiore a causa della memorizzazione nella cache in un buffer di controller di grandi dimensioni e la differenza con la lettura è tanto più evidente quanto minore è la velocità lineare effettiva dell'array.

Per quanto riguarda la velocità dell'interfaccia, solitamente misurata mediante scrittura e lettura del buffer (accessi multipli allo stesso indirizzo di volume del disco), qui siamo costretti a constatare che per quasi tutti gli array si è rivelata la stessa a causa dell'inclusione della cache del controller per questi array (vedi . tabella). Pertanto, le prestazioni di registrazione per tutti i partecipanti al nostro test sono state di circa 2430 MB/s. Si noti che il bus PCI Express x8 2.0 fornisce teoricamente una velocità di 40 Gbit/s o 5 GB/s, tuttavia, secondo dati utili, il limite teorico è inferiore - 4 GB/s, il che significa che nel nostro caso il controller effettivamente ha lavorato sulla versione 2.0 del bus PCIe. Pertanto, i 2,4 GB/s da noi misurati sono ovviamente la larghezza di banda reale della memoria integrata del controller (la memoria DDR2-800 con bus dati a 32 bit, come si può vedere dalla configurazione dei chip ECC sulla scheda, teoricamente rinuncia a 3,2 GB/s). Durante la lettura degli array, la memorizzazione nella cache non è così "completa" come durante la scrittura, motivo per cui la velocità dell'"interfaccia" misurata nelle utility è solitamente inferiore alla velocità di lettura della memoria cache del controller (tipicamente 2,1 GB/s per array di livello 5 e 6), ed in alcuni casi “cade” alla velocità di lettura del buffer stesso dischi rigidi(circa 400 MB/s per un singolo disco rigido, vedere il grafico sopra), moltiplicato per il numero di dischi “sequenziali” nell'array (questi sono solo i casi di RAID 0 e 1 dai nostri risultati).

Bene, abbiamo risolto la “fisica” in prima approssimazione, è ora di passare ai “testi”, cioè alle prove di applicazione “reale”, ragazzi. A proposito, sarà interessante scoprire se le prestazioni degli array si ridimensionano quando si eseguono attività utente complesse in modo così lineare come si ridimensionano durante la lettura e la scrittura di file di grandi dimensioni (vedere il diagramma del test ATTO appena sopra). Il lettore curioso, spero, sia già stato in grado di prevedere la risposta a questa domanda.

Come "insalata" per la nostra parte "lirica" ​​del pasto, serviremo test del disco desktop per natura dai pacchetti PCMark Vantage e PCMark05 (rispettivamente sotto Windows 7 e XP), nonché una "traccia" simile test delle applicazioni della rinomata rivista tedesca H2BenchW 4.13 C'T. Sì, questi test sono stati originariamente creati per valutare i dischi rigidi dei desktop e le workstation a basso costo. Emulano l'esecuzione di attività tipiche di un personal computer avanzato su dischi: lavorare con video, audio, Photoshop, antivirus, giochi, scambiare file, installare applicazioni, copiare e scrivere file, ecc. Pertanto, i loro risultati non dovrebbero essere presi in considerazione contesto di questo articolo come la verità ultima: dopo tutto, altre attività vengono eseguite più spesso su array multi-disco. Tuttavia, alla luce del fatto che il produttore stesso sta posizionando questo controller RAID anche per soluzioni relativamente economiche, questa classe di attività di test è abbastanza in grado di caratterizzare una certa percentuale di applicazioni che verranno effettivamente eseguite su tali array (lo stesso lavoro con video, elaborazione professionale grafica, scambio di sistemi operativi e applicazioni ad uso intensivo di risorse, copia di file, antivirus, ecc.). Pertanto, l’importanza di questi tre parametri di riferimento globali nel nostro pacchetto complessivo non dovrebbe essere sottovalutata.

Nel popolare PCMark Vantage, in media (vedi grafico), osserviamo un fatto davvero notevole: le prestazioni di questa soluzione multi-disco non dipendono quasi dal tipo di array utilizzato! Tra l'altro, entro certi limiti, questa conclusione vale anche per tutti i singoli percorsi di prova (tipi di attività) inclusi nei pacchetti PCMark Vantage e PCMark05 (vedere la tabella per i dettagli). Ciò può significare che gli algoritmi del firmware del controller (con cache e dischi) difficilmente tengono conto delle specificità di questo tipo di applicazione, oppure che la maggior parte di questi compiti vengono eseguiti nella memoria cache del controller stesso (e molto probabilmente siamo vedendo una combinazione di questi due fattori). Tuttavia, in quest'ultimo caso (ovvero, l'esecuzione di tracce in larga misura nella cache del controller RAID), le prestazioni medie delle soluzioni non sono così elevate: confrontare questi dati con i risultati dei test di alcuni "desktop" (" basato su chipset") RAID 0 e 5 da 4 dischi ed economici SSD singoli per bus SATA 3 Gbit/s (vedi recensione). Se, rispetto a un semplice "chipset" RAID 0 a 4 dischi (e su dischi rigidi due volte più lenti dell'Hitachi Ultrastar 15K600 qui utilizzato), gli array LSI SAS9260 sono meno del doppio più veloci nei test PCMark, quindi nemmeno rispetto al I singoli SSD “economici” più veloci li superano sicuramente tutti! I risultati del test del disco PCMark05 danno un quadro simile (vedi tabella; non ha senso tracciare un diagramma separato per loro).

Un quadro simile (con alcune riserve) per gli array su LSI SAS9260 può essere osservato in un altro benchmark applicativo "traccia" - C'T H2BenchW 4.13. Qui, solo i due array più lenti (in base alla progettazione) (RAID 6 su 4 dischi e un semplice "mirror") sono notevolmente indietro rispetto a tutti gli altri array, le cui prestazioni raggiungono ovviamente quel livello "sufficiente" quando non poggia più sul disco sottosistema e l'efficienza di funzionamento del processore SAS2108 con la memoria cache del controller per queste complesse sequenze di chiamate. Ciò che ci rende felici in questo contesto è che le prestazioni degli array basati su LSI SAS9260 nei compiti di questa classe sono quasi indipendenti dal tipo di array utilizzato (RAID 0, 5, 6 o 10), il che consente l'utilizzo di soluzioni più affidabili senza compromettere la prestazione finale.

Tuttavia, "non è tutta una questione di Maslenitsa": se cambiamo i test e controlliamo il funzionamento degli array con file reali sul file system NTFS, l'immagine cambierà radicalmente. Pertanto, nel test Intel NASPT 1.7, molti dei quali scenari "preimpostati" sono direttamente correlati alle attività tipiche dei computer dotati di controller LSI MegaRAID SAS9260-8i, la disposizione degli array è simile a quella che abbiamo osservato nel Test ATTO durante la lettura e la scrittura di file di grandi dimensioni: le prestazioni aumentano proporzionalmente all'aumentare della velocità “lineare” degli array.

In questo grafico mostriamo la media di tutti i test e modelli NASPT, mentre nella tabella puoi vedere i risultati dettagliati. Vorrei sottolineare che abbiamo eseguito NASPT sia su Windows XP (questo è ciò che fanno solitamente molti browser) sia su Windows 7 (che, a causa di alcune caratteristiche di questo test, viene eseguito meno frequentemente). Il fatto è che Seven (e il suo "fratello maggiore" Windows 2008 Server) utilizzano algoritmi di caching più aggressivi quando lavorano con file rispetto a XP. Inoltre, la copia di file di grandi dimensioni in Semerka avviene principalmente in blocchi da 1 MB (XP, di regola, opera in blocchi da 64 KB). Ciò porta al fatto che i risultati del test dei "file" Intel NASPT differiscono in modo significativo in Windows XP e Windows 7: in quest'ultimo sono molto più alti, a volte più del doppio! A proposito, abbiamo confrontato i risultati del NASPT (e di altri test del nostro pacchetto) su Windows 7 con 1 GB e 2 GB installati memoria di sistema(ci sono informazioni che con grandi quantità di memoria di sistema, la memorizzazione nella cache delle operazioni del disco in Windows 7 è migliorata e i risultati NASPT diventano ancora più alti), tuttavia, nell'ambito dell'errore di misurazione, non abbiamo riscontrato alcuna differenza.

Lasciamo il dibattito su quale sistema operativo (in termini di politiche di caching, ecc.) testare i dischi e i controller RAID per il thread di discussione di questo articolo. Riteniamo che gli azionamenti e le soluzioni basate su di essi debbano essere testati in condizioni quanto più vicine possibile alle situazioni reali del loro funzionamento. Ecco perché, a nostro avviso, i risultati ottenuti per entrambi i sistemi operativi sono di pari valore.

Ma torniamo al grafico delle prestazioni medie nel NASPT. Come potete vedere, la differenza tra gli array più veloci e quelli più lenti che abbiamo testato qui è in media poco meno di tre volte. Questo, ovviamente, non è un divario quintuplo, come quando si leggono e scrivono file di grandi dimensioni, ma è anche molto evidente. La disposizione degli array è infatti proporzionale alla loro velocità lineare, e questa è una buona notizia: ciò significa che il processore LSI SAS2108 elabora i dati abbastanza velocemente, non creando quasi alcun collo di bottiglia quando gli array dei livelli 5 e 6 lavorano attivamente.

Per essere onesti, va notato che in NASPT ci sono modelli (2 su 12) in cui si osserva la stessa immagine di PCMark con H2BenchW, vale a dire che le prestazioni di tutti gli array testati sono quasi le stesse! Si tratta di Produttività Office e Copia directory su NAS (vedere tabella). Ciò è particolarmente evidente con Windows 7, anche se per Windows XP la tendenza alla “convergenza” è evidente (rispetto ad altri modelli). Tuttavia, in PCMark con H2BenchW ci sono modelli in cui si verifica un aumento delle prestazioni degli array in proporzione alla loro velocità lineare. Quindi tutto non è così semplice e inequivocabile come alcuni potrebbero volere.

Inizialmente, volevo discutere un grafico con gli indicatori generali di prestazione dell'array calcolati in media su tutti i test applicativi (PCMark+H2BenchW+NASPT+ATTO), ovvero questo:

Tuttavia, non c'è niente di speciale da discutere qui: vediamo che il comportamento degli array sul controller LSI SAS9260 nei test che emulano il funzionamento di determinate applicazioni può variare notevolmente a seconda degli scenari utilizzati. Pertanto, è meglio trarre conclusioni sui vantaggi di una particolare configurazione in base esattamente alle attività che si intende eseguire. E un altro test professionale può aiutarci in modo significativo in questo: modelli sintetici per IOmeter, che emulano un particolare carico sul sistema di archiviazione dei dati.

Test in IOmetro

In questo caso tralasceremo la discussione di numerosi pattern che misurano attentamente la velocità di operazione in base alla dimensione del blocco di accesso, alla percentuale di operazioni di scrittura, alla percentuale di accessi casuali, ecc. Si tratta, in effetti, di pura sintesi che fornisce poco utile pratico informazioni ed è di interesse piuttosto puramente teorico. Dopotutto, abbiamo già chiarito i principali punti pratici riguardanti la “fisica” sopra. Per noi è più importante concentrarci su modelli che emulino il lavoro reale: server di vario tipo, nonché operazioni sui file.

Per emulare server come File Server, Web Server e DataBase (server database), abbiamo utilizzato gli stessi e ben noti modelli proposti contemporaneamente da Intel e StorageReview.com. In tutti i casi, abbiamo testato gli array con profondità della coda di comando (QD) da 1 a 256 con incrementi di 2.

Nel modello "Database", che utilizza l'accesso casuale al disco in blocchi da 8 KB all'interno dell'intero volume dell'array, si può osservare un vantaggio significativo degli array senza parità (ovvero RAID 0 e 1) con una profondità della coda dei comandi di 4 e superiori, mentre tutti gli array con controllo di parità (RAID 5 e 6) dimostrano prestazioni molto simili (nonostante la duplice differenza tra loro nella velocità degli accessi lineari). La situazione può essere spiegata semplicemente: tutti gli array con controllo di parità hanno mostrato valori simili nei test per il tempo di accesso casuale medio (vedere il diagramma sopra), ed è questo parametro che determina principalmente le prestazioni in questo test. È interessante notare che le prestazioni di tutti gli array aumentano quasi linearmente con l'aumento della profondità della coda di comando fino a 128, e solo a QD=256 in alcuni casi si può vedere un accenno di saturazione. Le prestazioni massime degli array con controllo di parità a QD=256 sono state di circa 1100 IOps (operazioni al secondo), ovvero il processore LSI SAS2108 impiega meno di 1 ms per elaborare un pezzo di dati di 8 KB (circa 10 milioni di byte singoli operazioni XOR al secondo per RAID 6; ovviamente il processore esegue anche altre attività in parallelo per l'input/output dei dati e per lavorare con la memoria cache).

Nel modello del file server utilizzando i blocchi dimensioni diverse con accesso casuale in lettura e scrittura all'array all'interno del suo intero volume, osserviamo un'immagine simile a DataBase con la differenza che qui gli array a cinque dischi con controllo di parità (RAID 5 e 6) superano notevolmente le loro controparti a 4 dischi in velocità e dimostrano prestazioni quasi identiche (circa 1200 IOps a QD=256)! Apparentemente, l'aggiunta di un quinto disco alla seconda delle due porte SAS a 4 canali del controller ottimizza in qualche modo il carico di calcolo sul processore (a scapito delle operazioni I/O?). Potrebbe valere la pena confrontare la velocità degli array a 4 dischi quando le unità sono collegate in coppia a diversi connettori Mini-SAS del controller per identificare la configurazione ottimale per l'organizzazione degli array su LSI SAS9260, ma questo è un compito per un altro articolo.

Nel modello del server web, dove, secondo i suoi creatori, non ci sono operazioni di scrittura su disco come classe (e quindi nessun calcolo delle funzioni XOR per scrittura), il quadro diventa ancora più interessante. Il fatto è che tutti e tre gli array da cinque dischi del nostro set (RAID 0, 5 e 6) mostrano qui prestazioni identiche, nonostante la notevole differenza tra loro nella velocità di lettura lineare e nei calcoli di parità! A proposito, questi stessi tre array, ma con 4 dischi, hanno anche velocità identiche tra loro! E solo RAID 1 (e 10) escono dal quadro generale. Perché questo accade è difficile da giudicare. Il controller può disporre di algoritmi molto efficienti per campionare le "unità fortunate" (cioè quelle delle cinque o quattro unità da cui arrivano per prime i dati desiderati), il che nel caso di RAID 5 e 6 aumenta la probabilità che i dati arrivino da i piatti in anticipo, preparando il processore in anticipo per i calcoli necessari (ricordate la profonda coda di comandi e l'ampio buffer DDR2-800). E questo può in definitiva compensare il ritardo associato ai calcoli XOR e equalizzare le loro "possibilità" con il "semplice" RAID 0. In ogni caso, il controller LSI SAS9260 può solo essere elogiato per la sua estrema buoni risultati(circa 1700 IOps per array da 5 dischi con QD=256) nel modello Web Server per array con parità. Sfortunatamente, l'unico neo sono state le prestazioni molto basse del "mirror" a due dischi in tutti questi modelli di server.

Il modello del server Web fa eco al nostro modello, che emula la lettura casuale di file di piccole dimensioni (64 KB) all'interno dell'intero spazio dell'array.

Ancora una volta, i risultati sono stati combinati in gruppi: tutti gli array a 5 dischi sono identici tra loro in termini di velocità e sono leader nella nostra "gara", RAID 0, 5 e 6 a 4 dischi sono anche indistinguibili l'uno dall'altro in termini di prestazioni, e solo le "DSLR" cadono dalla massa generale (a proposito, una "DSLR" a 4 dischi, cioè RAID 10 risulta essere più veloce di tutti gli altri array a 4 dischi - apparentemente a causa della stessa "selezione del algoritmo “disco destro”). Sottolineiamo che questi schemi sono validi solo per una coda di comando ampia, mentre con una coda piccola (QD = 1-2) la situazione e i leader possono essere completamente diversi.

Tutto cambia quando i server lavorano con file di grandi dimensioni. Nelle condizioni dei moderni contenuti “più pesanti” e dei nuovi sistemi operativi “ottimizzati” come Windows 7, 2008 Server, ecc. Lavorare con file megabyte e blocchi di dati da 1 MB sta diventando sempre più importante. In questa situazione, il nostro nuovo pattern, che emula la lettura casuale di file da 1 MB all'interno dell'intero disco (i dettagli dei nuovi pattern saranno descritti in un articolo separato sul metodo), torna utile per valutare in modo più completo il potenziale del server di il controller LSI SAS9260.

Come possiamo vedere, lo "specchio" a 4 dischi qui non lascia speranza di leadership, dominando chiaramente qualsiasi coda di comando. Anche le sue prestazioni crescono inizialmente in modo lineare con l'aumentare della profondità della coda di comando, ma con QD=16 per RAID 1 raggiunge la saturazione (velocità di circa 200 MB/s). Un po' "più tardi" (a QD=32) si verifica la "saturazione" delle prestazioni negli array più lenti in questo test, tra cui "silver" e "bronze" devono essere assegnati a RAID 0, e gli array con controllo di parità si trovano come outsider , perdendo ancor prima il brillante RAID 1 di due dischi, che si rivela inaspettatamente buono. Ciò ci porta alla conclusione che anche durante la lettura, il carico XOR computazionale sul processore LSI SAS2108 quando si lavora con file e blocchi di grandi dimensioni (posizionati casualmente) risulta essere molto gravoso per esso, e per RAID 6, dove effettivamente raddoppia, a volte è addirittura proibitivo - Le prestazioni delle soluzioni superano appena i 100 MB/s, ovvero 6-8 volte inferiori rispetto alla lettura lineare! In questo caso è chiaramente più vantaggioso utilizzare il RAID 10 “ridondante”.

Quando si registrano in modo casuale file di piccole dimensioni, l'immagine è ancora sorprendentemente diversa da quella vista in precedenza.

Il fatto è che qui le prestazioni degli array praticamente non dipendono dalla profondità della coda dei comandi (ovviamente, l'enorme cache del controller LSI SAS9260 e le cache piuttosto grandi dei dischi rigidi stessi hanno un effetto), ma cambia radicalmente con il tipo di array! I leader indiscussi qui sono quelli "semplici" per il processore RAID 0, e il "bronzo" con una perdita più che doppia rispetto al leader è RAID 10. Tutti gli array con controllo di parità formavano un unico gruppo molto vicino con due - DSLR a disco (i dettagli sono forniti in un diagramma separato sotto il principale), perdendo tre volte contro i leader. Sì, questo è sicuramente un carico pesante per il processore del controller. Tuttavia, francamente, non mi aspettavo un simile “fallimento” dal SAS2108. A volte anche il software RAID 5 su un controller SATA "chipset" (con memorizzazione nella cache) utilizzando Windows e calcolo utilizzando il processore centrale del PC) è in grado di lavorare più velocemente... Tuttavia, il controller produce ancora stabilmente i "suoi" 440-500 IOps - confrontalo con il diagramma per il tempo di accesso medio quando scrivi all'inizio della sezione dei risultati.

Il passaggio alla scrittura casuale di file di grandi dimensioni da 1 MB porta ad un aumento degli indicatori di velocità assoluta (per RAID 0 - quasi ai valori per la lettura casuale di tali file, cioè 180-190 MB/s), tuttavia, il il quadro generale rimane pressoché invariato: gli array con parità sono molte volte più lenti di RAID 0.

Un aspetto curioso del RAID 10 è che le sue prestazioni diminuiscono all'aumentare della profondità della coda dei comandi, anche se non di molto. Per altri array non esiste tale effetto. Lo "specchio" a due dischi anche qui sembra modesto.

Consideriamo ora i modelli in cui i file vengono letti e scritti su disco in quantità uguali. Tali carichi sono tipici, in particolare, per alcuni server video o durante la copia/duplicazione/backup attiva di file all'interno di un array, nonché in caso di deframmentazione.

Primo: file da 64 KB in modo casuale nell'array.

Qui è evidente una certa somiglianza con i risultati del modello DataBase, sebbene le velocità assolute degli array siano tre volte superiori e anche a QD=256 sia già evidente una certa saturazione delle prestazioni. Una percentuale maggiore (rispetto al modello DataBase) di operazioni di scrittura in questo caso porta al fatto che gli array con parità e un "mirror" a due dischi diventano evidenti outsider, significativamente inferiori in velocità agli array RAID 0 e 10.

Quando si spostano file da 1 MB, questo schema rimane generalmente lo stesso, anche se le velocità assolute sono circa triplicate e il RAID 10 diventa veloce quanto uno stripe di 4 dischi, il che è una buona notizia.

L'ultimo modello in questo articolo riguarderà il caso della lettura e scrittura sequenziale (anziché casuale) di file di grandi dimensioni.

E qui molti array riescono già ad accelerare fino a velocità molto decenti intorno ai 300 MB/s. E sebbene rimanga un divario più che doppio tra il leader (RAID 0) e l'outsider (RAID 1 a due dischi) (notare che con la lettura o la scrittura lineare questo divario è quintuplicato!), RAID 5 è entrato tra i primi tre e i restanti Gli array XOR non recuperati potrebbero non essere rassicuranti. Dopotutto, a giudicare dall'elenco delle applicazioni di questo controller fornito dalla stessa LSI (vedere l'inizio dell'articolo), molte attività di destinazione utilizzeranno esattamente questo tipo di accesso agli array. E questo è sicuramente da considerare.

In conclusione, fornirò un diagramma finale in cui viene calcolata la media degli indicatori di tutti i pattern di test IOmeter sopra menzionati (geometricamente per tutti i pattern e le code di comando, senza coefficienti di ponderazione). È curioso che se la media di questi risultati all'interno di ciascun modello viene effettuata aritmeticamente con coefficienti di ponderazione di 0,8, 0,6, 0,4 e 0,2 rispettivamente per le code di comando 32, 64, 128 e 256 (che tiene condizionatamente conto del calo del quota di operazioni con elevata profondità della coda di comando lavoro generale unità), l'indice finale delle prestazioni dell'array normalizzato (per tutti i modelli) coinciderà entro l'1% con la media geometrica.

Pertanto, la "temperatura ospedaliera" media nei nostri modelli per il test IOmeter mostra che non c'è scampo da "fisica e matematica" - RAID 0 e 10 sono chiaramente in testa Per gli array con controllo di parità, non è avvenuto un miracolo -. sebbene il processore LSI SAS2108 dimostri in alcuni casi prestazioni decenti, in generale tali array non possono "raggiungere" il livello di una semplice "striscia". Allo stesso tempo, è interessante notare che le configurazioni a 5 dischi aggiungono chiaramente valore rispetto alle configurazioni a 4 dischi. In particolare, il RAID 6 a 5 dischi è decisamente più veloce del RAID 5 a 4 dischi, sebbene in termini di “fisica” (tempo di accesso casuale e velocità di accesso lineare) siano praticamente identici. Deludente anche il “mirror” a due dischi (in media equivale a un RAID 6 a 4 dischi, sebbene il mirror non richieda due calcoli XOR per ogni bit di dati). Tuttavia, un semplice "mirror" ovviamente non è un array target per un controller SAS a 8 porte abbastanza potente con una grande cache e un potente processore integrato. :)

Informazioni sui prezzi

Il controller SAS a 8 porte LSI MegaRAID SAS 9260-8i con set completo viene offerto ad un prezzo di circa 500 dollari, che può essere considerato piuttosto interessante. Il suo analogo semplificato a 4 porte è ancora più economico. Un prezzo al dettaglio medio attuale più accurato del dispositivo a Mosca, rilevante nel momento in cui leggi questo articolo:

LSI SAS9260-8iLSI SAS9260-4i
$571() $386()

Conclusione

Riassumendo quanto detto sopra, possiamo concludere che non rischieremo di fornire raccomandazioni uniformi “per tutti” riguardo al controller LSI MegaRAID SAS9260-8i a 8 porte. Ognuno dovrebbe trarre le proprie conclusioni sulla necessità di utilizzarlo e configurare determinati array con il suo aiuto, rigorosamente in base alla classe di attività che dovrebbero essere avviate. Il fatto è che in alcuni casi (in alcuni compiti) questo economico "mega-mostro" è in grado di mostrare prestazioni eccezionali anche su array con doppia parità (RAID 6 e 60), ma in altre situazioni la velocità del suo RAID 5 e 6 lascia chiaramente molto a desiderare. E l'unica salvezza (quasi universale) sarà un array RAID 10, che può essere organizzato con quasi lo stesso successo su controller più economici. Tuttavia, è spesso grazie al processore e alla memoria cache del SAS9260-8i che l'array RAID 10 non si comporta più lentamente di uno stripe dello stesso numero di dischi, garantendo allo stesso tempo un'elevata affidabilità della soluzione. Ma quello che dovresti assolutamente evitare con il SAS9260-8i è un "mirror" a due dischi e RAID 6 e 5 a 4 dischi: queste sono ovviamente configurazioni non ottimali per questo controller.

Grazie a Hitachi Global Storage Technologies
per i dischi rigidi forniti per il test.

In due anni si sono accumulati pochi cambiamenti:

  • Supermicro si sta allontanando dal fattore di forma UIO "capovolto" proprietario per i controller. I dettagli saranno riportati di seguito.
  • LSI 2108 (RAID SAS2 con cache da 512 MB) e LSI 2008 (HBA SAS2 con supporto RAID opzionale) sono ancora in servizio. I prodotti basati su questi chip, sia di LSI che di partner OEM, sono abbastanza consolidati e sono ancora rilevanti.
  • Apparve LSI 2208 (lo stesso RAID SAS2 con stack LSI MegaRAID, solo con processore dual-core e 1024 MB di cache) e (una versione migliorata di LSI 2008 con un processore più veloce e supporto PCI-E 3.0).

Transizione da UIO a WIO

Come ricorderete, le schede UIO sono normali schede PCI-E x8, in cui l'intera base dell'elemento si trova sul retro, ad es. quando installato nel montante sinistro è in alto. Questo fattore di forma era necessario per installare le schede nello slot più basso del server, il che ha consentito di posizionare quattro schede nel montante sinistro. UIO non è solo un fattore di forma per le schede di espansione, è anche un case progettato per l'installazione di riser, i riser stessi e schede madri fattore di forma speciale, con un ritaglio per lo slot di espansione inferiore e slot per l'installazione di riser.
C'erano due problemi con questa soluzione. In primo luogo, il fattore di forma non standard delle schede di espansione limitava la scelta del cliente, perché Nel fattore di forma UIO sono presenti solo pochi controller SAS, InfiniBand ed Ethernet. In secondo luogo, negli slot per i riser c'è un numero insufficiente di linee PCI-E: solo 36, di cui solo 24 linee per il riser sinistro, il che chiaramente non è sufficiente per quattro schede con PCI-E x8.
Cos'è il WIO? Inizialmente si è scoperto che era possibile posizionare quattro assi nell'alzata sinistra senza la necessità di "girare il sandwich con il lato burroso verso l'alto" e sono comparsi gli alzati per le assi normali (RSC-R2UU-A4E8+). La carenza di linee (ora 80) è stata poi risolta utilizzando slot con maggiore densità di pin.
Montante UIO RSC-R2UU-UA3E8+
Montante WIO RSC-R2UW-4E8

Risultati:
  • I riser WIO non possono essere installati nelle schede madri progettate per UIO (ad esempio, X8DTU-F).
  • I montanti UIO non possono essere installati nelle nuove schede progettate per WIO.
  • Sono presenti riser per WIO (sulla scheda madre) dotati di uno slot UIO per le schede. Nel caso in cui tu abbia ancora controller UIO. Sono utilizzati nelle piattaforme per Socket B2 (6027B-URF, 1027B-URF, 6017B-URF).
  • Non ci saranno nuovi controller nel fattore di forma UIO. Ad esempio, il controller USAS2LP-H8iR sul chip LSI 2108 sarà l'ultimo, non ci sarà LSI 2208 per UIO, solo un normale MD2 con PCI-E x8.

Controller PCI-E

IN al momento Sono rilevanti tre varietà: controller RAID basati su LSI 2108/2208 e HBA basati su LSI 2308. C'è anche un misterioso SAS2 HBA AOC-SAS2LP-MV8 sul chip Marvel 9480, ma dovrei scriverne a causa del suo esotismo. La maggior parte dei casi di utilizzo di HBA SAS interni sono sistemi di storage con ZFS sotto FreeBSD e varie varietà di Solaris. A causa dell'assenza di problemi di supporto in questi sistemi operativi, la scelta nel 100% dei casi ricade su LSI 2008/2308.
LSI2108
Oltre all'UIO "AOC-USAS2LP-H8iR, menzionato in, sono stati aggiunti altri due controller:

AOC-SAS2LP-H8iR
LSI 2108, SAS2 RAID 0/1/5/6/10/50/60, cache da 512 MB, 8 porte interne (2 connettori SFF-8087). È un analogo del controller LSI 9260-8i, ma prodotto da Supermicro, ci sono piccole differenze nel layout della scheda, il prezzo è inferiore di $ 40-50 rispetto a LSI. Sono supportate tutte le opzioni LSI aggiuntive: attivazione, FastPath e CacheCade 2.0, protezione cache della batteria - LSIiBBU07 e LSIiBBU08 (ora è preferibile utilizzare BBU08, ha un intervallo di temperatura esteso e viene fornito con un cavo per l'installazione remota).
Nonostante l'emergere di controller più potenti basati sull'LSI 2208, l'LSI 2108 rimane ancora rilevante grazie al suo prezzo più basso. Le prestazioni con gli HDD convenzionali sono sufficienti in qualsiasi scenario; il limite IOPS per lavorare con gli SSD è 150.000, che è più che sufficiente per la maggior parte delle soluzioni economiche.

AOC-SAS2LP-H4iR
LSI 2108, SAS2 RAID 0/1/5/6/10/50/60, cache da 512 MB, 4 porte interne + 4 esterne. È analogo al controller LSI 9280-4i4e. Conveniente per l'uso negli alloggiamenti di espansione, perché non è necessario portare l'uscita dell'espansore all'esterno per collegare JBOD aggiuntivi o, in casi 1U con 4 dischi, se necessario, fornire la possibilità di aumentare il numero di dischi. Supporta le stesse BBU e chiavi di attivazione.
LSI2208

AOC-S2208L-H8iR
LSI 2208, SAS2 RAID 0/1/5/6/10/50/60, cache da 1024 MB, 8 porte interne (2 connettori SFF-8087). È analogo al controller LSI 9271-8i. LSI 2208 è un ulteriore sviluppo di LSI 2108. Il processore è diventato dual-core, il che ha permesso di aumentare il limite di prestazioni IOPS a 465.000, è stato aggiunto il supporto PCI-E 3.0 e la cache è stata aumentata a 1 GB.
Il controller supporta la protezione della batteria cache BBU09 e la protezione flash CacheVault. Supermicro li fornisce con i codici BTR-0022L-LSI00279 e BTR-0024L-LSI00297, ma è più semplice acquistarli da noi attraverso il canale di vendita LSI (la seconda parte dei codici sono i codici LSI originali). Sono supportate anche le chiavi di attivazione delle opzioni software avanzate MegaRAID, numeri di parte: AOC-SAS2-FSPT-ESW (FastPath) e AOCCHCD-PRO2-KEY (CacheCade Pro 2.0).
LSI 2308 (HBA)

AOC-S2308L-L8i e AOC-S2308L-L8e
LSI 2308, SAS2 HBA (con firmware IR - RAID 0/1/1E), 8 porte interne (2 connettori SFF-8087). Questo è lo stesso controller, viene fornito con firmware diverso. AOC-S2308L-L8e - firmware IT (HBA puro), AOC-S2308L-L8i - firmware IR (con supporto per RAID 0/1/1E). La differenza è che L8i può funzionare con firmware IR e IT, L8e - solo con IT, il firmware in IR è bloccato. È analogo al controller LSI 9207-8 io. Differenze rispetto a LSI 2008: chip più veloce (800 MHz, di conseguenza, il limite IOPS è salito a 650mila), è apparso il supporto per PCI-E 3.0. Applicazione: RAID software (ad esempio ZFS), server economici.
Non ci saranno controller economici con supporto RAID-5 basati su questo chip (stack iMR, controller già pronti - LSI 9240).

Controller di bordo

Negli ultimi prodotti (schede X9 e piattaforme con esse), Supermicro indica la presenza di un controller SAS2 di LSI con il numero "7" nel codice articolo e il numero "3" indica il chipset SAS (Intel C600). Ma non c'è differenza tra LSI 2208 e 2308, quindi fai attenzione quando scegli una tavola.
  • Il controller basato su LSI 2208 saldato sulle schede madri ha una limitazione di un massimo di 16 dischi. Quando aggiungi 17, semplicemente non verrà rilevato e vedrai il messaggio "PD non supportato" nel registro MSM. Ciò è compensato da un prezzo significativamente più basso. Ad esempio, la combinazione “X9DRHi-F + controller esterno LSI 9271-8i” costerà circa 500 dollari in più rispetto all'X9DRH-7F con LSI 2008 a bordo. Non c'è modo di aggirare questa limitazione eseguendo il flashing dell'LSI 9271: eseguire il flashing di un altro blocco SBR, come nel caso dell'LSI 2108, non aiuta.
  • Un'altra caratteristica è la mancanza di supporto per i moduli CacheVault; semplicemente non c'è abbastanza spazio sulle schede per un connettore speciale, quindi è supportato solo BBU09. La possibilità di installare la BBU09 dipende dalla custodia utilizzata. Ad esempio, LSI 2208 viene utilizzato nei server blade 7127R-S6; è presente un connettore per il collegamento di una BBU, ma per installare il modulo stesso sono necessari elementi di fissaggio aggiuntivi MCP-640-00068-0N Staffa porta batteria.
  • Ora è necessario aggiornare il firmware SAS HBA (LSI 2308), poiché sas2flash.exe non si avvia in DOS su nessuna delle schede con LSI 2308 con l'errore "Impossibile inizializzare PAL".

Controller nelle piattaforme Twin e FatTwin

Alcune piattaforme 2U Twin 2 sono disponibili in tre versioni, con tre tipi di controller. Per esempio:
  • 2027TR-HTRF+ - chipset SATA
  • 2027TR-H70RF+-LSI 2008
  • 2027TR-H71RF+-LSI 2108
  • 2027TR-H72RF+-LSI 2208
Tale diversità è assicurata dal fatto che i controller si trovano su un backplane speciale, collegato a uno slot speciale sulla scheda madre e al backplane del disco.
BPN-ADP-SAS2-H6IR (LSI 2108)


BPN-ADP-S2208L-H6iR (LSI 2208)

BPN-ADP-SAS2-L6i (LSI 2008)

Custodie Supermicro xxxBE16/xxxBE26

Un altro argomento direttamente correlato ai controller è la modernizzazione degli involucri con . Sono apparse varietà con una gabbia aggiuntiva per due dischi da 2,5" situata sul pannello posteriore del case. Scopo: un disco dedicato (o mirror) per caricare il sistema. Naturalmente, il sistema può essere caricato selezionando un piccolo volume da un altro gruppo di dischi o da dischi aggiuntivi collegati all'interno del case (in 846 casi è possibile installare elementi di fissaggio aggiuntivi per un'unità da 3,5" o due unità da 2,5"), ma le modifiche aggiornate sono molto più convenienti:




Inoltre, queste unità aggiuntive non devono essere collegate specificatamente al chipset controller SATA. Utilizzando il cavo SFF8087->4xSATA, è possibile connettersi al controller SAS principale tramite l'uscita dell'espansore SAS.
PS Spero che l'informazione sia stata utile. Non dimenticarlo più di tutti informazioni complete E supporto tecnico per i prodotti di Supermicro, LSI, Adaptec di PMC e altri fornitori è possibile ottenerli da True System.

Questo articolo parlerà di ciò che ti consente di connetterti disco rigido al computer, vale a dire sull'interfaccia disco rigido. Più precisamente, sulle interfacce del disco rigido, perché sono state inventate moltissime tecnologie per connettere questi dispositivi nel corso della loro esistenza e l'abbondanza di standard in quest'area può confondere un utente inesperto. Tuttavia, andiamo prima di tutto.

Le interfacce dei dischi rigidi (o, in senso stretto, interfacce delle unità esterne, poiché possono essere non solo unità, ma anche altri tipi di unità, ad esempio unità ottiche) sono progettate per lo scambio di informazioni tra questi dispositivi memoria esterna E scheda madre. Le interfacce dei dischi rigidi, non meno dei parametri fisici delle unità, influiscono su molte delle caratteristiche operative delle unità e sulle loro prestazioni. In particolare, le interfacce delle unità determinano parametri quali la velocità di scambio dei dati tra il disco rigido e la scheda madre, il numero di dispositivi che possono essere collegati al computer, la possibilità di creare array di dischi, la possibilità di hot plug, il supporto per NCQ e tecnologie AHCI, ecc. Dipende anche dall'interfaccia del disco rigido quale cavo, cavo o adattatore sarà necessario per collegarlo alla scheda madre.

SCSI - Interfaccia di sistema per piccoli computer

L'interfaccia SCSI è una delle più antiche interfacce progettate per il collegamento di dispositivi di archiviazione nei personal computer. Questo standard è apparso all'inizio degli anni '80. Uno dei suoi sviluppatori fu Alan Shugart, noto anche come l'inventore dell'unità floppy disk.

Aspetto dell'interfaccia SCSI sulla scheda e cavo ad essa collegato

Lo standard SCSI (tradizionalmente questa abbreviazione viene letta nella trascrizione russa come "skazi") era originariamente destinato all'uso nei personal computer, come evidenziato dal nome stesso del formato: Small Computer System Interface, o interfaccia di sistema per piccoli computer. Tuttavia, è successo che unità di questo tipo fossero utilizzate principalmente nei personal computer di alta classe e successivamente nei server. Ciò era dovuto al fatto che, nonostante l'architettura di successo e un'ampia gamma di comandi, l'implementazione tecnica dell'interfaccia era piuttosto complessa e non era alla portata dei PC di massa.

Tuttavia, questo standard presentava una serie di funzionalità che non erano disponibili per altri tipi di interfacce. Ad esempio, il cavo per collegare i dispositivi Small Computer System Interface può avere una lunghezza massima di 12 m e la velocità di trasferimento dati può essere di 640 MB/s.

Come l'interfaccia IDE apparsa poco dopo, l'interfaccia SCSI è parallela. Ciò significa che l'interfaccia utilizza bus che trasmettono informazioni su più fili. Questa caratteristica è stata uno dei fattori limitanti per lo sviluppo dello standard e pertanto è stato sviluppato uno standard SAS più avanzato e coerente (da Serial attached SCSI) in sua sostituzione.

SAS: SCSI collegato in serie

Ecco come appare l'interfaccia del disco del server SAS

Serial attached SCSI è stato sviluppato come miglioramento della piuttosto vecchia Small Computers System Interface per il collegamento dei dischi rigidi. Nonostante il fatto che Serial attached SCSI utilizzi i principali vantaggi del suo predecessore, presenta comunque molti vantaggi. Tra questi vale la pena notare quanto segue:

  • Utilizzo di un bus comune da parte di tutti i dispositivi.
  • Il protocollo di comunicazione seriale utilizzato da SAS consente di utilizzare meno linee di segnale.
  • Non è necessaria la terminazione del bus.
  • Numero virtualmente illimitato di dispositivi collegati.
  • Throughput più elevato (fino a 12 Gbit/s). Si prevede che le future implementazioni del protocollo SAS supporteranno velocità di trasferimento dati fino a 24 Gbit/s.
  • Possibilità di collegare unità con interfaccia Serial ATA al controller SAS.

Di norma i sistemi Serial attach SCSI sono costruiti sulla base di diversi componenti. I componenti principali includono:

  • Dispositivi di destinazione. Questa categoria include le unità effettive o gli array di dischi.
  • Gli iniziatori sono chip progettati per generare richieste ai dispositivi di destinazione.
  • Sistema di consegna dati: cavi che collegano dispositivi di destinazione e iniziatori

I connettori SCSI Serial attach sono disponibili in diverse forme e dimensioni, a seconda del tipo (esterno o interno) e delle versioni SAS. Di seguito sono riportati il ​​connettore interno SFF-8482 e il connettore esterno SFF-8644 progettati per SAS-3:

Sulla sinistra c'è un connettore SAS interno SFF-8482; Sulla destra c'è un connettore SAS SFF-8644 esterno con un cavo.

Alcuni esempi dell'aspetto dei cavi e degli adattatori SAS: cavo SAS HD-Mini e cavo adattatore SAS-Serial ATA.

A sinistra c'è il cavo HD Mini SAS; Sulla destra c'è un cavo adattatore da SAS a Serial ATA.

Firewire-IEEE 1394

Oggi è spesso possibile trovare dischi rigidi con interfaccia Firewire. Sebbene l'interfaccia Firewire possa collegare qualsiasi tipo di periferica a un computer e non sia un'interfaccia specializzata progettata esclusivamente per il collegamento di dischi rigidi, Firewire dispone comunque di una serie di funzionalità che lo rendono estremamente conveniente per questo scopo.

FireWire - IEEE 1394 - visualizza su un laptop

L'interfaccia Firewire è stata sviluppata a metà degli anni '90. Lo sviluppo è iniziato con la nota azienda Apple, che necessitava di un proprio bus, diverso da USB, per il collegamento di apparecchiature periferiche, principalmente multimediali. La specifica che descrive il funzionamento del bus Firewire si chiama IEEE 1394.

Firewire è uno dei formati di bus esterni seriali ad alta velocità più comunemente utilizzati oggi. Le caratteristiche principali della norma includono:

  • Possibilità di connessione a caldo dei dispositivi.
  • Architettura a bus aperto.
  • Topologia flessibile per il collegamento dei dispositivi.
  • Le velocità di trasferimento dei dati variano ampiamente: da 100 a 3200 Mbit/s.
  • La possibilità di trasferire dati tra dispositivi senza computer.
  • Possibilità di organizzazione reti locali utilizzando un pneumatico.
  • Trasmissione di potenza tramite bus.
  • Un gran numero di dispositivi collegati (fino a 63).

Per collegare i dischi rigidi (solitamente tramite edifici esterni per dischi rigidi) tramite il bus Firewire, di norma viene utilizzato uno speciale standard SBP-2, che utilizza il set di comandi del protocollo Small Computers System Interface. È possibile collegare i dispositivi Firewire a un normale connettore USB, ma ciò richiede un adattatore speciale.

IDE - Elettronica di azionamento integrata

L'abbreviazione IDE è senza dubbio nota alla maggior parte degli utenti di personal computer. Lo standard di interfaccia per il collegamento dei dischi rigidi IDE è stato sviluppato da un noto produttore di dischi rigidi: Digitale occidentale. Il vantaggio dell'IDE rispetto ad altre interfacce esistenti all'epoca, in particolare alla Small Computers System Interface e allo standard ST-506, era che non era necessario installare un controller del disco rigido sulla scheda madre. Lo standard IDE implicava l'installazione di un controller dell'unità sull'unità stessa e sulla scheda madre rimaneva solo un adattatore di interfaccia host per il collegamento delle unità IDE.

Interfaccia IDE sulla scheda madre

Questa innovazione ha migliorato i parametri operativi dell'azionamento IDE grazie al fatto che la distanza tra il controller e l'azionamento stesso è stata ridotta. Inoltre, l'installazione del controller IDE all'interno del case del disco rigido ha permesso di semplificare in qualche modo sia le schede madri che la produzione dei dischi rigidi stessi, poiché la tecnologia ha dato libertà ai produttori in termini di organizzazione ottimale della logica del disco.

Inizialmente la nuova tecnologia si chiamava Integrated Drive Electronics. Successivamente è stato sviluppato uno standard per descriverlo, chiamato ATA. Questo nome deriva dall'ultima parte del nome della famiglia di computer PC/AT aggiungendo la parola Allegato.

Per connettersi duramente unità o altro dispositivo, ad esempio un'unità ottica che supporta la tecnologia Integrated Drive Electronics, alla scheda madre utilizza uno speciale cavo IDE. Poiché ATA si riferisce a interfacce parallele (per questo viene chiamata anche Parallel ATA o PATA), cioè interfacce che prevedono la trasmissione simultanea di dati su più linee, il suo cavo dati ha gran numero conduttori (di solito 40, e in ultime versioni protocollo, era possibile utilizzare un cavo a 80 conduttori). Cavo dati normale per questa norma ha un aspetto piatto e largo, ma esistono anche cavi rotondi. Il cavo di alimentazione per le unità Parallel ATA ha un connettore a 4 pin ed è collegato all'alimentazione del computer.

Di seguito sono riportati esempi di cavo IDE e cavo dati PATA rotondo:

Aspetto del cavo di interfaccia: a sinistra - piatto, a destra in una treccia rotonda - PATA o IDE.

Grazie al costo relativamente basso delle unità Parallel ATA, alla facilità di implementazione dell'interfaccia sulla scheda madre, nonché alla facilità di installazione e configurazione dei dispositivi PATA per l'utente, le unità di tipo Integrated Drive Electronics sono state a lungo escluse dispositivi di altri tipi di interfaccia dal mercato dei dischi rigidi per personal computer di livello economico.

Tuttavia, lo standard PATA presenta anche una serie di svantaggi. Innanzitutto, questa è una limitazione alla lunghezza che può avere un cavo dati Parallel ATA: non più di 0,5 m. Inoltre, l'organizzazione parallela dell'interfaccia impone una serie di restrizioni sulla velocità massima di trasferimento dei dati. Non supporta lo standard PATA e molte delle funzionalità avanzate di altri tipi di interfacce, come l'hot plug dei dispositivi.

SATA: ATA seriale

Vista dell'interfaccia SATA sulla scheda madre

L'interfaccia SATA (Serial ATA), come suggerisce il nome, è un miglioramento rispetto a ATA. Questo miglioramento consiste innanzitutto nel convertire la tradizionale interfaccia ATA parallela (Parallel ATA) in un'interfaccia seriale. Le differenze tra lo standard Serial ATA e quello tradizionale però non si limitano a questo. Oltre a cambiare il tipo di trasmissione dei dati da parallela a seriale, sono cambiati anche i connettori dati e di alimentazione.

Di seguito è riportato il cavo dati SATA:

Cavo dati per interfaccia SATA

Ciò ha permesso di utilizzare un cavo molto più lungo e di aumentare la velocità di trasferimento dei dati. Tuttavia, lo svantaggio era il fatto che i dispositivi PATA, presenti sul mercato in grandi quantità prima dell'avvento del SATA, diventavano impossibili da collegare direttamente ai nuovi connettori. È vero, la maggior parte delle nuove schede madri ha ancora vecchi connettori e supporta il collegamento di dispositivi più vecchi. Tuttavia, l'operazione inversa, ovvero il collegamento di un nuovo tipo di unità a una vecchia scheda madre, di solito causa molti più problemi. Per questa operazione, l'utente solitamente necessita di un adattatore Serial ATA-PATA. L'adattatore del cavo di alimentazione ha solitamente un design relativamente semplice.

Adattatore di alimentazione da Serial ATA a PATA:

A sinistra c'è una vista generale del cavo; Ingrandito a destra aspetto Connettori PATA e Serial ATA

Tuttavia, la situazione è più complicata con un dispositivo come un adattatore per collegare un dispositivo di interfaccia seriale ad un connettore di interfaccia parallela. Di solito, un adattatore di questo tipo è realizzato sotto forma di un piccolo microcircuito.

Aspetto di un adattatore bidirezionale universale tra le interfacce SATA - IDE

Attualmente l'interfaccia Serial ATA ha praticamente sostituito Parallel ATA e i drive PATA si trovano ormai soprattutto solo nei computer abbastanza vecchi. Un'altra caratteristica del nuovo standard che ne ha assicurato l'ampia popolarità è stato il supporto.

Tipo di adattatore da IDE a SATA

Puoi dirci qualcosa in più sulla tecnologia NCQ. Il vantaggio principale di NCQ è che consente di utilizzare idee implementate da tempo nel protocollo SCSI. In particolare, NCQ supporta un sistema per sequenziare le operazioni di lettura/scrittura su più unità installate in un sistema. Pertanto, NCQ può migliorare significativamente le prestazioni delle unità, in particolare degli array di dischi rigidi.

Tipo di adattatore da SATA a IDE

Per utilizzare NCQ, è necessario il supporto tecnologico sul lato del disco rigido e sull'adattatore host della scheda madre. Quasi tutti gli adattatori che supportano AHCI supportano anche NCQ. Inoltre, anche alcuni adattatori proprietari meno recenti supportano NCQ. Inoltre, affinché NCQ funzioni, richiede il supporto del sistema operativo.

eSATA: SATA esterno

Vale la pena menzionare separatamente il formato eSATA (External SATA), che all'epoca sembrava promettente, ma non si è mai diffuso. Come puoi intuire dal nome, eSATA è un tipo di Serial ATA progettato per collegare esclusivamente unità esterne. Lo standard eSATA offre per dispositivi esterni la maggior parte delle capacità di quello standard, ad es. Serial ATA interno, in particolare, lo stesso sistema di segnali e comandi e la stessa alta velocità.

Connettore eSATA su un laptop

Tuttavia, eSATA presenta anche alcune differenze rispetto allo standard del bus interno da cui è nato. In particolare, eSATA supporta un cavo dati più lungo (fino a 2 m) e ha anche requisiti di alimentazione più elevati per le unità. Inoltre, i connettori eSATA sono leggermente diversi dai connettori Serial ATA standard.

Rispetto ad altri bus esterni, come USB e Firewire, eSATA presenta però uno svantaggio significativo. Mentre questi bus consentono di alimentare il dispositivo tramite il cavo bus stesso, l'unità eSATA richiede connettori speciali per l'alimentazione. Pertanto, nonostante la velocità di trasferimento dati relativamente elevata, eSATA attualmente non è molto popolare come interfaccia per il collegamento di unità esterne.

Conclusione

Le informazioni memorizzate sul disco rigido non possono diventare utili per l'utente e accessibili programmi applicativi finché il processore centrale del computer non riesce ad accedervi. Le interfacce del disco rigido forniscono un mezzo di comunicazione tra queste unità e la scheda madre. Oggi esistono molti tipi diversi di interfacce per dischi rigidi, ognuna delle quali presenta vantaggi, svantaggi e caratteristiche peculiari. Ci auguriamo che le informazioni fornite in questo articolo siano ampiamente utili al lettore, poiché la scelta di un moderno disco rigido è in gran parte determinata non solo dalle sue caratteristiche interne, come capacità, memoria cache, velocità di accesso e rotazione, ma anche da l'interfaccia per la quale è stato sviluppato.

Brevemente sui moderni controller RAID

Attualmente, i controller RAID come soluzione separata si rivolgono esclusivamente al segmento di mercato dei server specializzati. In effetti, tutte le moderne schede madri per PC consumer (non schede server) dispongono di controller RAID SATA software e hardware integrati, le cui capacità sono più che sufficienti per gli utenti di PC. È vero, devi tenere presente che questi controller si concentrano esclusivamente sull'utilizzo del funzionamento Sistemi Windows. Nei sistemi operativi Linux, gli array RAID vengono creati nel software e tutti i calcoli vengono trasferiti dal controller RAID al processore centrale.

I server utilizzano tradizionalmente controller RAID software-hardware o puramente hardware. Un controller RAID hardware consente di creare e mantenere un array RAID senza la partecipazione del sistema operativo e del processore centrale. Tali array RAID vengono visti dal sistema operativo come un unico disco (disco SCSI). In questo caso non è necessario alcun driver specializzato: viene utilizzato un driver del disco SCSI standard (incluso nel sistema operativo). A questo proposito, i controller hardware sono indipendenti dalla piattaforma e l'array RAID viene configurato tramite il BIOS del controller. Un controller RAID hardware non utilizza il processore centrale durante il calcolo di tutti i checksum, ecc., poiché utilizza il proprio processore specializzato e la RAM per i calcoli.

I controller hardware-software richiedono un driver specializzato, che sostituisce il driver del disco SCSI standard. Inoltre, i controller hardware e software sono dotati di utilità di gestione. A questo proposito, i controller software e hardware sono legati a un sistema operativo specifico. Tutti i calcoli necessari in questo caso vengono eseguiti anche dal processore del controller RAID stesso, ma l'uso di un driver software e di un'utilità di gestione consente di controllare il controller tramite il sistema operativo e non solo tramite il BIOS del controller.

Considerando il fatto che le unità SCSI per server sono già state sostituite da unità SAS, tutti i moderni controller RAID per server sono progettati per supportare unità SAS o SATA, che vengono utilizzate anche nei server.

L'anno scorso hanno cominciato ad apparire sul mercato unità con la nuova interfaccia SATA 3 (SATA 6 Gb/s), che ha iniziato a sostituire gradualmente l'interfaccia SATA 2 (SATA 3 Gb/s). Ebbene, i dischi con interfaccia SAS (3 Gbit/s) sono stati sostituiti da dischi con interfaccia SAS 2.0 (6 Gbit/s). Naturalmente, nuova norma SAS 2.0 è pienamente compatibile con il vecchio standard.

Di conseguenza, sono comparsi i controller RAID con supporto per lo standard SAS 2.0. Sembrerebbe che senso abbia passare allo standard SAS 2.0 se anche i dischi SAS più veloci hanno una velocità di lettura e scrittura dei dati non superiore a 200 MB/s e il throughput del protocollo SAS (3 Gbit/s o 300 MB/s) è sufficiente per loro?

Infatti, quando ciascuna unità è collegata a una porta separata del controller RAID, 3 Gbps di throughput (che in teoria sono 300 MB/s) sono sufficienti. Ad ogni porta del controller RAID è però possibile collegare non solo singoli dischi, ma anche disk array (gabbie per dischi). In questo caso un canale SAS viene condiviso tra più unità contemporaneamente e una velocità di trasmissione di 3 Gbit/s non sarà più sufficiente. Ebbene, inoltre, bisogna tenere conto della presenza di unità SSD, le cui velocità di lettura e scrittura hanno già superato il livello di 300 MB/s. Ad esempio, la nuova unità Intel SSD 510 ha velocità di lettura sequenziale fino a 500 MB/s e velocità di scrittura sequenziale fino a 315 MB/s.

Dopo una breve introduzione alla situazione attuale del mercato dei controller RAID per server, diamo un'occhiata alle caratteristiche del controller LSI 3ware SAS 9750-8i.

Caratteristiche del controller RAID 3ware SAS 9750-8i

Questo controller RAID si basa su un processore XOR specializzato LSI SAS2108 con una frequenza di clock di 800 MHz e architettura PowerPC. Questo processore utilizza 512 MB RAM DDRII 800 MHz con correzione errori (ECC).

Il controller LSI 3ware SAS 9750-8i è compatibile con unità SATA e SAS (sono supportate sia unità HDD che SSD) e consente di connettere fino a 96 dispositivi utilizzando espansori SAS. È importante che questo controller supporti unità con interfacce SATA 600 MB/s (SATA III) e SAS 2.

Per collegare le unità, il controller dispone di otto porte, che sono fisicamente combinate in due connettori Mini-SAS SFF-8087 (quattro porte in ciascun connettore). Cioè, se le unità sono collegate direttamente alle porte, è possibile collegare un totale di otto unità al controller e quando le gabbie disco sono collegate a ciascuna porta, il volume totale delle unità può essere aumentato a 96. Ciascuno degli otto le porte del controller hanno una larghezza di banda di 6 Gbps, che corrisponde agli standard SAS 2 e SATA III.

Naturalmente, quando si collegano dischi o gabbie disco a questo controller, saranno necessari cavi specializzati, che a un'estremità hanno un connettore interno Mini-SAS SFF-8087 e all'altra estremità un connettore che dipende da cosa è collegato esattamente al controller. controllore. Ad esempio, quando si collegano le unità SAS direttamente al controller, è necessario utilizzare un cavo dotato di un connettore Mini-SAS SFF-8087 su un lato e quattro connettori SFF 8484 sull'altro, che consentono di collegare direttamente le unità SAS. Si prega di notare che i cavi stessi non sono inclusi nella confezione e devono essere acquistati separatamente.

Il controller LSI 3ware SAS 9750-8i dispone di un'interfaccia PCI Express 2.0 x8, che fornisce un throughput di 64 Gbps (32 Gbps in ciascuna direzione). È chiaro che questo throughput è abbastanza sufficiente per otto porte SAS a pieno carico rendimento 6 Gbps ciascuno. Si noti inoltre che il controller dispone di un connettore speciale al quale è possibile collegare facoltativamente una batteria di riserva LSIiBBU07.

È importante che questo controller richieda l'installazione del driver, ovvero sia un controller RAID hardware-software. Sistemi operativi come Windows Vista, Windows Server 2008, Windows Server 2003 x64, Windows 7, Windows 2003 Server, MAC OS X, LinuxFedora Core 11, Red Hat Enterprise Linux 5.4, OpenSuSE 11.1, SuSE Linux Enterprise Server (SLES) 11, OpenSolaris 2009.06, VMware ESX/ESXi 4.0/4.0 update-1 e altri sistemi della famiglia Linux. Il pacchetto include anche software 3ware Disk Manager 2, che consente di gestire gli array RAID tramite il sistema operativo.

Il controller LSI 3ware SAS 9750-8i supporta i tipi di array RAID standard: RAID 0, 1, 5, 6, 10 e 50. Forse l'unico tipo di array che non è supportato è RAID 60. Ciò è dovuto al fatto che questo controller è in grado di creare un array RAID 6 con solo cinque unità collegate direttamente a ciascuna porta del controller (in teoria, RAID 6 può essere creato su quattro unità). Di conseguenza, per un array RAID 60, questo controller richiede almeno dieci dischi, che semplicemente non esistono.

È chiaro che il supporto per un array RAID 1 è irrilevante per un controller di questo tipo, poiché questo tipo di array viene creato solo su due dischi e l'utilizzo di un controller di questo tipo solo per due dischi è illogico ed estremamente dispendioso. Ma il supporto per gli array RAID 0, 5, 6, 10 e 50 è molto rilevante. Anche se forse siamo stati troppo frettolosi con l'array RAID 0. Tuttavia, questo array non ha ridondanza e quindi non fornisce un'archiviazione affidabile dei dati, quindi viene utilizzato molto raramente nei server. Tuttavia, teoricamente questo array è il più veloce in termini di velocità di lettura e scrittura dei dati. Tuttavia, ricordiamo cosa diversi tipi Gli array RAID sono diversi l'uno dall'altro e da cosa sono.

Livelli RAID

Il termine “RAID array” è apparso nel 1987, quando i ricercatori americani Patterson, Gibson e Katz dell’Università della California a Berkeley nel loro articolo “A case for redundant arrays of cheap discs, RAID” hanno descritto come In questo modo è possibile combinare diversi dischi rigidi a basso costo in un unico dispositivo logico in modo che la capacità e le prestazioni del sistema risultino aumentate e il guasto delle singole unità non porti al guasto dell'intero sistema. Sono trascorsi quasi 25 anni dalla pubblicazione di questo articolo, ma la tecnologia di costruzione di array RAID non ha perso la sua rilevanza oggi. L'unica cosa che è cambiata da allora è la decodifica dell'acronimo RAID. Il fatto è che inizialmente gli array RAID non erano affatto costruiti su dischi economici, quindi la parola Poco costoso ("economico") è stata cambiata in Indipendente ("indipendente"), che era più in linea con la realtà.

La tolleranza agli errori negli array RAID viene ottenuta attraverso la ridondanza, ovvero parte della capacità dello spazio su disco viene allocata per scopi di servizio, diventando inaccessibile all'utente.

L'aumento delle prestazioni del sottosistema del disco è assicurato dal funzionamento simultaneo di più dischi e, in questo senso, maggiore è il numero di dischi nell'array (fino a un certo limite), meglio è.

Il funzionamento congiunto dei dischi in un array può essere organizzato utilizzando l'accesso parallelo o indipendente. Con l'accesso parallelo, lo spazio su disco viene suddiviso in blocchi (strisce) per la registrazione dei dati. Allo stesso modo, le informazioni da scrivere su disco vengono divise negli stessi blocchi. Durante la registrazione vengono scritti i singoli blocchi dischi diversi e registrando diversi blocchi su vari dischi si verifica simultaneamente, con conseguente aumento delle prestazioni nelle operazioni di scrittura. Le informazioni necessarie vengono lette anche in blocchi separati contemporaneamente da più dischi, il che aumenta anche le prestazioni in proporzione al numero di dischi nell'array.

È bene notare che il modello di accesso parallelo viene implementato solo se la dimensione della richiesta di scrittura dei dati è maggiore della dimensione del blocco stesso. Altrimenti la registrazione parallela di più blocchi è quasi impossibile. Immaginiamo una situazione in cui la dimensione di un singolo blocco sia di 8 KB e la dimensione di una richiesta di scrittura di dati sia di 64 KB. In questo caso, le informazioni sulla fonte vengono suddivise in otto blocchi da 8 KB ciascuno. Se si dispone di un array di quattro dischi, è possibile scrivere quattro blocchi, o 32 KB, alla volta. Ovviamente, nell'esempio considerato, le velocità di scrittura e lettura saranno quattro volte superiori rispetto a quando si utilizza un disco singolo. Ciò è vero solo in una situazione ideale, ma la dimensione della richiesta non è sempre un multiplo della dimensione del blocco e del numero di dischi nell'array.

Se la dimensione dei dati registrati è inferiore alla dimensione del blocco, viene implementato un modello fondamentalmente diverso: accesso indipendente. Inoltre, questo modello può essere utilizzato anche quando la dimensione dei dati da scrivere è maggiore della dimensione di un blocco. Con l'accesso indipendente, tutti i dati di una singola richiesta vengono scritti su un disco separato, ovvero la situazione è identica a quella con un disco. Il vantaggio del modello di accesso indipendente è che se arrivano più richieste di scrittura (lettura) contemporaneamente, verranno tutte eseguite su dischi separati indipendentemente l'una dall'altra. Questa situazione è tipica, ad esempio, per i server.

A seconda dei diversi tipi di accesso esistono diversi tipi di array RAID, che di solito sono caratterizzati da livelli RAID. Oltre al tipo di accesso, i livelli RAID differiscono nel modo in cui allocano e generano informazioni ridondanti. Le informazioni ridondanti possono essere posizionate su un disco dedicato o distribuite su tutti i dischi.

Attualmente esistono diversi livelli RAID ampiamente utilizzati: RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID 50 e RAID 60. In precedenza venivano utilizzati anche RAID 2, RAID 3 e RAID 4. i livelli non sono attualmente utilizzati e i moderni controller RAID non li supportano. Tieni presente che tutti i controller RAID moderni supportano anche la funzione JBOD (Just a Bench Of Disks). In questo caso non stiamo parlando di un array RAID, ma semplicemente del collegamento dei singoli dischi a un controller RAID.

RAID0

RAID 0, o striping, non è, in senso stretto, un array RAID, poiché tale array non ha ridondanza e non fornisce un'archiviazione affidabile dei dati. Tuttavia, storicamente viene anche chiamato array RAID. Un array RAID 0 (Fig. 1) può essere costruito su due o più dischi e viene utilizzato quando è necessario garantire prestazioni elevate del sottosistema del disco, ma l'affidabilità dell'archiviazione dei dati non è fondamentale. Quando si crea un array RAID 0, le informazioni vengono divise in blocchi (questi blocchi sono chiamati strisce), che vengono scritti contemporaneamente su dischi separati, ovvero viene creato un sistema con accesso parallelo (se, ovviamente, la dimensione del blocco lo consente). Consentendo I/O simultanei da più unità, RAID 0 fornisce le velocità di trasferimento dati più elevate e la massima efficienza dello spazio su disco poiché non è richiesto spazio di archiviazione per i checksum. L'implementazione di questo livello è molto semplice. RAID 0 viene utilizzato principalmente in aree in cui è richiesto il trasferimento rapido di grandi quantità di dati.

Riso. 1. Array RAID 0

In teoria, l'aumento della velocità di lettura e scrittura dovrebbe essere un multiplo del numero di dischi nell'array.

L'affidabilità di un array RAID 0 è ovviamente inferiore all'affidabilità di qualsiasi disco individualmente e diminuisce con l'aumentare del numero di dischi inclusi nell'array, poiché il guasto di uno qualsiasi di essi porta all'inoperabilità dell'intero array. Se l'MTBF di ciascun disco è un disco MTTF, l'MTBF di un array RAID 0 costituito da N dischi è uguale a:

MTTF RAID0 = disco MTTD /n.

Se indichiamo la probabilità di guasto di un disco in un certo periodo di tempo come P, quindi per un array RAID 0 di N dischi, la probabilità che almeno un disco si guasti (la probabilità di un crash dell'array) sarà:

P (eliminazione dell'array) = 1 – (1 – p) n.

Ad esempio, se la probabilità di guasto di un disco entro tre anni di funzionamento è del 5%, la probabilità di guasto di un array RAID 0 composto da due dischi è già del 9,75% e di otto dischi del 33,7%.

RAID1

RAID 1 (Figura 2), chiamato anche mirror, è un array a due dischi con ridondanza del 100%. Cioè, i dati sono completamente duplicati (mirrorati), per cui molto alto livello affidabilità (oltre che costo). Si noti che per implementare RAID 1 non è necessario prima partizionare i dischi e i dati in blocchi. Nel caso più semplice, due dischi contengono le stesse informazioni e costituiscono un disco logico. Se un disco si guasta, le sue funzioni vengono eseguite da un altro (il che è assolutamente trasparente per l'utente). Il ripristino di un array viene eseguito mediante semplice copia. Inoltre, in teoria, un array RAID 1 dovrebbe raddoppiare la velocità di lettura delle informazioni, poiché questa operazione può essere eseguita contemporaneamente da due dischi. Questo schema di archiviazione delle informazioni viene utilizzato principalmente nei casi in cui il costo della sicurezza dei dati è molto più elevato del costo di implementazione di un sistema di archiviazione.

Riso. 2. Array RAID 1

Se, come nel caso precedente, indichiamo la probabilità di guasto di un disco in un certo periodo di tempo come P, quindi per un array RAID 1 la probabilità che entrambi i dischi si guastino contemporaneamente (la probabilità che l'array si blocchi) sarà:

P (eliminazione dell'array) = P 2.

Ad esempio, se la probabilità di guasto di un disco entro tre anni di funzionamento è del 5%, la probabilità di guasto simultaneo di due dischi è già dello 0,25%.

RAID5

L'array RAID 5 (Fig. 3) è un array di dischi tollerante agli errori con archiviazione distribuita dei checksum. Durante la scrittura, il flusso di dati viene diviso in blocchi (strisce) a livello di byte, che vengono scritti contemporaneamente su tutti i dischi dell'array in ordine ciclico.

Riso. 3. Array RAID 5

Supponiamo che l'array contenga N dischi e la dimensione della striscia è D. Per ogni porzione di N– Viene calcolato il checksum di 1 striscia P.

Banda d1 registrato sul primo disco, stripe d2- sul secondo e così via fino alla striscia d n–1, che viene scritto sul (n–1)esimo disco. Avanti l'ennesimo disco viene scritto il checksum pn, e il processo si ripete ciclicamente dal primo disco su cui viene scritta la stripe d n.

Processo di registrazione ( N–1) le strisce e la loro checksum vengono prodotte simultaneamente per tutti N dischi.

Il checksum viene calcolato utilizzando un'operazione OR esclusivo bit per bit (XOR) applicata ai blocchi di dati da scrivere. Quindi, se c'è N dischi rigidi e D- blocco dati (stripe), quindi il checksum viene calcolato utilizzando la seguente formula:

pn=d1d2 ⊕ ... dn–1.

Se un disco si guasta, i dati su di esso possono essere ripristinati utilizzando i dati di controllo e i dati rimanenti sui dischi funzionanti. Anzi, utilizzando le identità (UNB) UN B= un E UNUN = 0 , otteniamo che:

pn⊕ (non sopn) = dld n⊕ ...⊕ ...⊕ dn-l⊕ (non sop.s.).

dk = d1d n⊕ ...⊕ dk–1dk+1⊕ ...⊕ pn.

Pertanto, se un disco con un blocco fallisce non so, quindi può essere ripristinato utilizzando il valore dei blocchi rimanenti e il checksum.

Nel caso di RAID 5, tutti i dischi dell'array devono avere la stessa dimensione, ma la capacità totale del sottosistema di dischi disponibile per la scrittura diventa esattamente un disco in meno. Ad esempio, se cinque dischi hanno una dimensione di 100 GB, la dimensione effettiva dell'array sarà di 400 GB poiché 100 GB sono allocati per le informazioni di controllo.

Un array RAID 5 può essere creato su tre o più dischi rigidi. All'aumentare del numero di dischi rigidi in un array, la sua ridondanza diminuisce. Si noti inoltre che un array RAID 5 può essere ripristinato se si guasta solo un disco. Se due dischi si guastano contemporaneamente (o se il secondo disco si guasta durante il processo di ripristino dell'array), l'array non potrà essere ripristinato.

RAID6

È stato dimostrato che RAID 5 è recuperabile quando un'unità si guasta. Tuttavia, a volte è necessario garantire un livello di affidabilità più elevato rispetto a un array RAID 5. In questo caso è possibile utilizzare un array RAID 6 (Fig. 4), che consente di ripristinare l'array anche in caso di guasto di due dischi. allo stesso tempo.

Riso. 4. Array RAID 6

RAID 6 è simile a RAID 5, ma utilizza non uno, ma due checksum distribuiti ciclicamente sui dischi. Primo checksum P viene calcolato utilizzando lo stesso algoritmo di un array RAID 5, ovvero è un'operazione XOR tra blocchi di dati scritti su dischi diversi:

pn=d1d2⊕ ...⊕ dn–1.

Il secondo checksum viene calcolato utilizzando un algoritmo diverso. Senza entrare nei dettagli matematici, anche questa è un'operazione XOR tra blocchi di dati, ma ogni blocco di dati viene prima moltiplicato per un coefficiente polinomiale:

q n = g 1 d 1g2d2⊕ ...⊕ g n–1 d n–1 .

Di conseguenza, la capacità di due dischi dell'array viene allocata per i checksum. In teoria, un array RAID 6 può essere creato su quattro o più unità, ma in molti controller può essere creato su un minimo di cinque unità.

Tieni presente che le prestazioni di un array RAID 6 sono tipicamente inferiori del 10-15% rispetto a quelle di un array RAID 5 (assumendo lo stesso numero di unità), a causa della grande quantità di calcoli eseguiti dal controller (è necessario calcolare il secondo checksum, nonché leggere e sovrascrivere più blocchi del disco ogni volta che viene scritto un blocco).

RAID 10

Un array RAID 10 (Figura 5) è una combinazione dei livelli 0 e 1. Questo livello richiede un minimo di quattro unità. In un array RAID 10 di quattro unità, queste vengono combinate a coppie in array RAID 1 ed entrambi gli array sono unità logiche sono combinati in un array RAID 0 È anche possibile un altro approccio: inizialmente i dischi vengono combinati in array RAID 0, quindi le unità logiche basate su questi array vengono combinate in un array RAID 1.

Riso. 5. Array RAID 10

RAID50

Un array RAID 50 è una combinazione dei livelli 0 e 5 (Figura 6). Il requisito minimo per questo livello è di sei dischi. In un array RAID 50, vengono innanzitutto creati due array RAID 5 (con un minimo di tre unità ciascuno), che vengono poi combinati come unità logiche in un array RAID 0.

Riso. 6. Array RAID 50

Metodologia per testare il controller LSI 3ware SAS 9750-8i

Per testare il controller RAID LSI 3ware SAS 9750-8i, abbiamo utilizzato un pacchetto di test specializzato IOmeter 1.1.0 (versione 2010.12.02). Il banco prova aveva la seguente configurazione:

  • processore - IntelCore i7-990 (città del Golfo);
  • scheda madre - GIGABYTE GA-EX58-UD4;
  • memoria: DDR3-1066 (3 GB, modalità operativa a tre canali);
  • disco di sistema-WD Caviale SE16 WD3200AAKS;
  • scheda video - GIGABYTE GeForce GTX480 SOC;
  • Controller RAID: LSI 3ware SAS 9750-8i;
  • Le unità SAS collegate al controller RAID sono Seagate Cheetah 15K.7 ST3300657SS.

Il test è stato effettuato sotto il controllo del sistema operativo Microsoft Windows 7 Ultimo (32 bit).

Abbiamo utilizzato la versione 5.12.00.007 del driver del controller RAID di Windows e abbiamo anche aggiornato il firmware del controller alla versione 5.12.00.007.

L'unità di sistema era collegata a SATA, implementata tramite un controller integrato ponte sud Il chipset Intel X58 e le unità SAS sono stati collegati direttamente alle porte del controller RAID utilizzando due cavi Mini-SAS SFF-8087 -> 4 SAS.

Il controller RAID è stato installato nello slot PCI Express x8 sulla scheda madre.

Il controller è stato testato con i seguenti array RAID: RAID 0, RAID 1, RAID 5, RAID 6, RAID 10 e RAID 50. Il numero di dischi combinati in un array RAID varia per ciascun tipo di array da un valore minimo a otto.

La dimensione dello stripe su tutti gli array RAID non è cambiata ed è pari a 256 KB.

Ricordiamo che il pacchetto IOmeter consente di lavorare sia con dischi su cui è stata creata una partizione logica, sia con dischi senza partizione logica. Se un disco viene testato senza che sia stata creata una partizione logica su di esso, IOmeter funziona a livello di blocchi di dati logici, ovvero, invece del sistema operativo, trasmette comandi al controller per scrivere o leggere blocchi LBA.

Se sul disco viene creata una partizione logica, inizialmente l'utilità IOmeter crea un file sul disco che, per impostazione predefinita, occupa l'intera partizione logica (in linea di principio, la dimensione di questo file può essere modificata specificandola nel numero di 512 settori di byte), e poi funziona con questo file, cioè legge o scrive (sovrascrive) i singoli blocchi LBA all'interno di questo file. Ma ancora una volta, IOmeter funziona bypassando il sistema operativo, ovvero invia direttamente richieste al controller per leggere/scrivere dati.

In generale, quando si testano i dischi HDD, come dimostra la pratica, non c'è praticamente alcuna differenza tra i risultati del test di un disco con una partizione logica creata e senza di essa. Allo stesso tempo, riteniamo che sia più corretto condurre test senza creare una partizione logica, poiché in questo caso i risultati del test non dipendono dalla partizione utilizzata file system(NTFA, FAT, esterno, ecc.). Questo è il motivo per cui abbiamo eseguito i test senza creare partizioni logiche.

Inoltre l'utility IOmeter permette di impostare la dimensione del blocco di richiesta (Transfer Request Size) per la scrittura/lettura dei dati, ed il test può essere effettuato sia in lettura che in scrittura sequenziale, quando i blocchi LBA vengono letti e scritti in sequenza uno dopo l'altro e per casuale (Random), quando i blocchi LBA vengono letti e scritti in ordine casuale. Quando si crea uno scenario di carico, è possibile impostare il tempo di test, il rapporto percentuale tra operazioni sequenziali e casuali (Distribuzione percentuale casuale/sequenziale), nonché il rapporto percentuale tra operazioni di lettura e scrittura (Distribuzione percentuale lettura/scrittura). Inoltre, l'utilità IOmeter consente di automatizzare l'intero processo di test e di salvare tutti i risultati in un file CSV, che può poi essere facilmente esportato in un foglio di calcolo Excel.

Un'altra impostazione che l'utility IOmeter ti consente di fare è il cosiddetto allineamento dei blocchi di richieste di trasferimento dati (Align I/Os on) lungo i confini settori di duro disco. Per impostazione predefinita, IOmeter allinea i blocchi di richiesta ai limiti del settore del disco da 512 byte, ma puoi specificare un allineamento personalizzato. In realtà, la maggior parte dei dischi rigidi ha una dimensione del settore di soli 512 byte ultimamente Cominciarono ad apparire dischi con una dimensione di settore di 4 KB. Ricordiamo che nei dischi HDD, un settore è la dimensione minima indirizzabile dei dati che possono essere scritti o letti dal disco.

Durante il test, è necessario impostare l'allineamento dei blocchi di richiesta di trasferimento dati alla dimensione del settore del disco. Poiché le unità Seagate Cheetah 15K.7 ST3300657SS hanno una dimensione del settore di 512 byte, abbiamo utilizzato l'allineamento dei limiti del settore di 512 byte.

Utilizzando la suite di test IOmeter, abbiamo misurato la velocità di lettura e scrittura sequenziale, nonché la velocità di lettura e scrittura casuale dell'array RAID creato. Le dimensioni dei blocchi di dati trasferiti erano 512 byte, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 e 1024 KB.

Negli scenari di carico elencati, il tempo di test con ciascuna richiesta di trasferimento di un blocco dati è stato di 5 minuti. Si noti inoltre che in tutti i test elencati, abbiamo impostato la profondità della coda delle attività (numero di I/O eccezionali) su 4 nelle impostazioni IOmeter, che è tipica per le applicazioni utente.

Risultati dei test

Dopo aver analizzato i risultati del test, siamo rimasti sorpresi dalle prestazioni del controller RAID LSI 3ware SAS 9750-8i. E così tanto che hanno iniziato a rivedere i nostri script per identificare gli errori in essi contenuti, quindi hanno ripetuto i test molte volte con altre impostazioni del controller RAID. Abbiamo modificato la dimensione dello stripe e la modalità operativa della cache del controller RAID. Ciò, ovviamente, si è riflesso nei risultati, ma non ha modificato la natura generale della dipendenza della velocità di trasferimento dati dalla dimensione del blocco dati. Ma non siamo riusciti a spiegare questa dipendenza. Il funzionamento di questo controller ci sembra del tutto illogico. Innanzitutto, i risultati sono instabili, ovvero per ogni dimensione fissa del blocco dati, la velocità cambia periodicamente e il risultato medio presenta un errore significativo. Tieni presente che in genere i risultati del test di dischi e controller utilizzando l'utilità IOmeter sono stabili e differiscono leggermente.

In secondo luogo, all'aumentare della dimensione del blocco, la velocità di trasferimento dei dati dovrebbe aumentare o rimanere invariata in modalità saturazione (quando la velocità raggiunge il suo valore massimo). Tuttavia, nel caso del controller LSI 3ware SAS 9750-8i, si osserva un forte calo della velocità di trasferimento dati a determinate dimensioni di blocco. Inoltre, per noi rimane un mistero il motivo per cui, con lo stesso numero di dischi per array RAID 5 e RAID 6, la velocità di scrittura è superiore alla velocità di lettura. In una parola, non possiamo spiegare il funzionamento del controller LSI 3ware SAS 9750-8i - possiamo solo riportare i fatti.

I risultati dei test possono essere classificati in diversi modi. Ad esempio, per scenari di avvio, in cui per ciascun tipo di avvio vengono forniti risultati per tutti i possibili array RAID con diversi numeri di dischi collegati, o per tipi di array RAID, quando per ciascun tipo di array RAID vengono visualizzati risultati con numeri diversi di dischi in lettura sequenziale scenari, scrittura sequenziale, lettura casuale e scrittura casuale. È inoltre possibile classificare i risultati in base al numero di dischi nell'array, quando per ogni numero di dischi collegati al controller vengono forniti i risultati per tutti i possibili array RAID (per un dato numero di dischi) negli scenari di lettura sequenziale e sequenziale. scrittura, lettura casuale e scrittura casuale.

Abbiamo deciso di classificare i risultati per tipo di array perché, a nostro avviso, nonostante il numero piuttosto elevato di grafici, questa presentazione è più chiara.

RAID0

È possibile creare un array RAID 0 con da due a otto dischi. I risultati del test per l'array RAID 0 sono mostrati in Fig. 7-15.

Riso. 7. Velocità di lettura e scrittura sequenziale
con otto dischi in un array RAID 0

Riso. 8. Velocità di lettura e scrittura sequenziale
con sette dischi in un array RAID 0

Riso. 9. Velocità di lettura sequenziale
e registrazione con sei dischi in un array RAID 0

Riso. 10. Velocità di lettura e scrittura sequenziale
con cinque dischi in un array RAID 0

Riso. 11. Velocità di lettura e scrittura sequenziale
con quattro dischi in un array RAID 0

Riso. 12. Velocità di lettura e scrittura sequenziale
con tre dischi in un array RAID 0

Riso. 13. Velocità di lettura e scrittura sequenziale
con due dischi in un array RAID 0

Riso. 14. Velocità di lettura casuale
in un array RAID 0

Riso. 15. Velocità di scrittura casuale nell'array RAID 0

È chiaro che le velocità di lettura e scrittura sequenziali più elevate in un array RAID 0 si ottengono con otto dischi. Vale la pena prestare attenzione al fatto che con otto e sette dischi nell'array RAID 0, le velocità di lettura e scrittura sequenziali sono quasi identiche tra loro e con meno dischi la velocità di scrittura sequenziale diventa superiore alla velocità di lettura.

Va inoltre notato che vi sono cali caratteristici nella velocità di lettura e scrittura sequenziale a determinate dimensioni di blocco. Ad esempio, con otto e sei dischi nell'array, tali guasti si osservano con blocchi di dati di dimensioni pari a 1 e 64 KB e con sette dischi con dimensioni di 1, 2 e 128 KB. Guasti simili, ma con blocchi di dati di dimensioni diverse, si verificano anche con quattro, tre e due dischi nell'array.

In termini di velocità di lettura e scrittura sequenziale (come caratteristica media su tutte le dimensioni dei blocchi), l'array RAID 0 supera tutti gli altri array possibili nelle configurazioni con otto, sette, sei, cinque, quattro, tre e due dischi.

Anche l'accesso casuale in un array RAID 0 è piuttosto interessante. La velocità di lettura casuale per ciascuna dimensione del blocco dati è proporzionale al numero di dischi nell'array, il che è abbastanza logico. Inoltre, con una dimensione del blocco di 512 KB, con qualsiasi numero di dischi nell'array, si osserva un calo caratteristico nella velocità di lettura casuale.

Con la registrazione casuale per qualsiasi numero di dischi nell'array, la velocità aumenta con la dimensione del blocco di dati e non si verificano cali di velocità. Va notato che la velocità massima in questo caso non viene raggiunta con otto, ma con sette dischi nell'array. Successivamente, nella velocità di scrittura casuale, c'è una serie di sei dischi, poi cinque e solo poi otto dischi. Inoltre, in termini di velocità di scrittura casuale, un array di otto dischi è quasi identico a un array di quattro dischi.

In termini di velocità di scrittura casuale, RAID 0 supera tutti gli altri array disponibili nelle configurazioni a otto, sette, sei, cinque, quattro, tre e due dischi. Ma in termini di velocità di lettura casuale in una configurazione con otto dischi, RAID 0 è inferiore agli array RAID 10 e RAID 50, ma in una configurazione con meno dischi, RAID 0 è il leader in velocità di lettura casuale.

RAID5

È possibile creare un array RAID 5 con da tre a otto dischi. I risultati del test per l'array RAID 5 sono mostrati in Fig. 16-23.

Riso. 16. Velocità di lettura e scrittura sequenziale
con otto dischi in un array RAID 5

Riso. 17. Velocità di lettura e scrittura sequenziale
con sette dischi in un array RAID 5

Riso. 18. Velocità di lettura e scrittura sequenziale
con sei unità in un array RAID 5

Riso. 19. Velocità di lettura e scrittura sequenziale
con cinque dischi in un array RAID 5

Riso. 20. Velocità di lettura e scrittura sequenziale
con quattro unità in un array RAID 5

Riso. 21. Velocità di lettura e scrittura sequenziale
con tre dischi in un array RAID 5

Riso. 22. Velocità di lettura casuale
in un array RAID 5

Riso. 23. Velocità di scrittura casuale
in un array RAID 5

È chiaro che le velocità di lettura e scrittura più elevate si ottengono con otto dischi. Vale la pena prestare attenzione al fatto che per un array RAID 5 la velocità di scrittura sequenziale è in media superiore alla velocità di lettura. Tuttavia, a determinate dimensioni della richiesta, le velocità di lettura sequenziale possono superare le velocità di scrittura sequenziale.

Non si può fare a meno di notare i caratteristici cali nelle velocità di lettura e scrittura sequenziale a determinate dimensioni di blocco per qualsiasi numero di dischi nell'array.

Nelle velocità di lettura e scrittura sequenziale su otto unità, RAID 5 è inferiore a RAID 0 e RAID 50, ma superiore a RAID 10 e RAID 6. Nelle configurazioni a sette unità, RAID 5 è inferiore a RAID 0 e RAID 5 nella lettura e scrittura sequenziale. velocità di scrittura superiori all'array RAID 6 (altri tipi di array non sono possibili con questo numero di dischi).

Nelle configurazioni a sei unità, RAID 5 è inferiore in velocità di lettura sequenziale a RAID 0 e RAID 50 e secondo solo a RAID 0 in velocità di scrittura sequenziale.

Nelle configurazioni a cinque, quattro e tre unità, RAID 5 è secondo solo a RAID 0 in termini di velocità di lettura e scrittura sequenziale.

L'accesso casuale in un array RAID 5 è simile all'accesso casuale in un array RAID 0. Pertanto, la velocità di lettura casuale per ciascuna dimensione del blocco di dati è proporzionale al numero di dischi nell'array e con una dimensione del blocco di 512 KB. qualsiasi numero di dischi nell'array, si verifica un calo caratteristico nella velocità di lettura casuale. Inoltre, va notato che la velocità di lettura casuale dipende debolmente dal numero di dischi nell'array, ovvero per qualsiasi numero di dischi è approssimativamente la stessa.

In termini di velocità di lettura casuale, l'array RAID 5 nelle configurazioni con otto, sette, sei, quattro e tre dischi è inferiore a tutti gli altri array. E solo in una configurazione a cinque unità è leggermente superiore a un array RAID 6.

In termini di velocità di scrittura casuale, un array RAID 5 in una configurazione a otto dischi è secondo solo agli array RAID 0 e RAID 50, mentre in una configurazione con sette e cinque, quattro e tre dischi è secondo solo a un array RAID 0. .

In una configurazione a sei unità, RAID 5 è inferiore in termini di prestazioni di scrittura casuale a RAID 0, RAID 50 e RAID 10.

RAID6

Il controller LSI 3ware SAS 9750-8i consente di creare un array RAID 6 con un numero di dischi da cinque a otto. I risultati del test per l'array RAID 6 sono mostrati in Fig. 24-29.

Riso. 24. Velocità di lettura e scrittura sequenziale
con otto unità in un array RAID 6

Riso. 25. Velocità di lettura e scrittura sequenziale
con sette dischi in un array RAID 6

Notiamo anche cali caratteristici nella velocità di lettura e scrittura sequenziale a determinate dimensioni di blocco per qualsiasi numero di dischi nell'array.

In termini di velocità di lettura sequenziale, l'array RAID 6 è inferiore a tutti gli altri array in configurazioni con qualsiasi numero di dischi (da otto a cinque).

In termini di velocità di registrazione sequenziale, la situazione è leggermente migliore. In una configurazione a otto unità, RAID 6 supera RAID 10 e in una configurazione a sei unità, supera sia gli array RAID 10 che RAID 50. Tuttavia, nelle configurazioni a sette e cinque unità, quando si creano array RAID 10 e RAID 50 è impossibile, questo array supera all'ultimo posto in termini di velocità di registrazione sequenziale.

L'accesso casuale in un array RAID 6 è simile all'accesso casuale negli array RAID 0 e RAID 5. Pertanto, la velocità di lettura casuale con una dimensione di blocco di 512 KB per qualsiasi numero di dischi nell'array presenta un calo caratteristico nella velocità di lettura casuale. Notare che velocità massima La lettura casuale viene ottenuta con sei dischi nell'array. Bene, con sette e otto dischi, la velocità di lettura casuale è quasi la stessa.

Con la registrazione casuale per qualsiasi numero di dischi nell'array, la velocità aumenta con la dimensione del blocco di dati e non si verificano cali di velocità. Inoltre, sebbene la velocità di scrittura casuale sia proporzionale al numero di dischi nell'array, la differenza di velocità è insignificante.

In termini di velocità di lettura casuale, l'array RAID 6 nelle configurazioni con otto e sette dischi è superiore solo all'array RAID 5 ed inferiore a tutti gli altri array possibili.

In una configurazione a sei unità, RAID 6 è inferiore a RAID 10 e RAID 50 in termini di prestazioni di lettura casuale e in una configurazione a cinque unità è inferiore a RAID 0 e RAID 5.

In termini di velocità di scrittura casuale, l'array RAID 6, con qualsiasi numero di dischi collegati, è inferiore a tutti gli altri array possibili.

In generale, si può affermare che l'array RAID 6 ha prestazioni inferiori agli array RAID 0, RAID 5, RAID 50 e RAID 10. Cioè, in termini di prestazioni, questo tipo di array era all'ultimo posto.

Riso. 33. Velocità di lettura casuale
in un array RAID 10

Riso. 34. Velocità di scrittura casuale nell'array RAID 10

È tipico che in array di otto e sei dischi la velocità di lettura sequenziale sia superiore alla velocità di scrittura e in un array di quattro dischi queste velocità siano quasi le stesse per qualsiasi dimensione di blocco di dati.

L'array RAID 10, così come tutti gli altri array considerati, è caratterizzato da un calo delle velocità di lettura e scrittura sequenziale per determinate dimensioni di blocchi di dati per qualsiasi numero di dischi nell'array.

Con la registrazione casuale per qualsiasi numero di dischi nell'array, la velocità aumenta con la dimensione del blocco di dati e non si verificano cali di velocità. Inoltre, la velocità di scrittura casuale è proporzionale al numero di dischi nell'array.

In termini di velocità di lettura sequenziale, l'array RAID 10 segue gli array RAID 0, RAID 50 e RAID 5 nelle configurazioni con otto, sei e quattro dischi, e in termini di velocità di scrittura sequenziale è inferiore anche all'array RAID 6, cioè , segue gli array RAID 0 RAID 50, RAID 5 e RAID 6.

Ma in termini di velocità di lettura casuale, l'array RAID 10 è davanti a tutti gli altri array nelle configurazioni con otto, sei e quattro dischi. Ma in termini di velocità di scrittura casuale, questo array è inferiore agli array RAID 0, RAID 50 e RAID 5 in una configurazione a otto dischi, agli array RAID 0 e RAID 50 in una configurazione a sei dischi e agli array RAID 0 e RAID 5 in una configurazione a quattro dischi.

RAID50

Un array RAID 50 può essere costruito su sei o otto unità. I risultati del test per l'array RAID 50 sono mostrati in Fig. 35-38.

Nello scenario di lettura casuale, come per tutti gli altri array considerati, si verifica un caratteristico calo di prestazioni con una dimensione del blocco di 512 KB.

Con la registrazione casuale per qualsiasi numero di dischi nell'array, la velocità aumenta con la dimensione del blocco di dati e non si verificano cali di velocità. Inoltre, la velocità di scrittura casuale è proporzionale al numero di dischi nell'array, ma la differenza di velocità è insignificante e si osserva solo con blocchi di dati di grandi dimensioni (più di 256 KB).

In termini di velocità di lettura sequenziale, RAID 50 è secondo solo a RAID 0 (configurazioni a otto e sei dischi). In termini di velocità di scrittura sequenziale, RAID 50 è secondo solo a RAID 0 in una configurazione a otto unità, e in una configurazione a sei unità è inferiore a RAID 0, RAID 5 e RAID 6.

Ma in termini di velocità di lettura e scrittura casuale, l'array RAID 50 è secondo solo all'array RAID 0 ed è davanti a tutti gli altri array possibili con otto e sei dischi.

RAID1

Come abbiamo già notato, un array RAID 1, che può essere costruito solo su due dischi, non è pratico da utilizzare su un controller di questo tipo. Tuttavia, per completezza, presentiamo anche i risultati per un array RAID 1 su due dischi. I risultati del test per l'array RAID 1 sono mostrati in Fig. 39 e 40.

Riso. 39. Velocità di scrittura e lettura sequenziale nell'array RAID 1

Riso. 40. Velocità di scrittura e lettura casuale nell'array RAID 1

L'array RAID 10, così come tutti gli altri array considerati, è caratterizzato da un calo delle velocità di lettura e scrittura sequenziale a determinate dimensioni di blocchi di dati.

Nello scenario di lettura casuale, come con altri array, si verifica un calo caratteristico delle prestazioni con una dimensione del blocco di 512 KB.

Con la registrazione casuale la velocità aumenta con la dimensione del blocco dati e non si verificano cali di velocità.

Un array RAID 1 può essere mappato solo su un array RAID 0 (poiché con due dischi non sono possibili altri array). Va notato che RAID 1 ha prestazioni inferiori a RAID 0 con due dischi in tutti gli scenari di carico, tranne le letture casuali.

Conclusioni

Abbiamo avuto impressioni piuttosto contrastanti testando il controller LSI 3ware SAS 9750-8i in combinazione con i drive Seagate Cheetah 15K.7 ST3300657SS SAS. Da un lato, ha funzionalità eccellenti, dall'altro ci sono cali di velocità allarmanti con determinate dimensioni di blocchi di dati, il che, ovviamente, influisce sulle prestazioni di velocità degli array RAID quando funzionano in un ambiente reale.