Newsgroup: it.comp.os.linux.sys
Titolo: [OT] Performance/Ridondanza RAID6

Buongiorno,
se ne č parlato molte volte, eppure ad oggi i controller hanno fatto 
passi da gigante per limitare i problemi di performance del RAID6. Ma č 
sufficiente?
 
Prendiamo una situazione tipo:
Storage dual controller di fascia media (HP MSA P2000, IBM DS3500, 
etc..) collegato in SAS con dischi SAS 10kRPM.
 
 
Personalmente io continuo a prediligere il RAID6 perchč indubbiamente 
affidabile a costi (dischi impiegati nella paritā) ragionevoli.
 
Mi domandavo, tuttavia, se in ambiente virtualizzato il RAID6 non sia 
eccessivamente lento.
 
 
Considerazioni?
 
 
Che grado di influenza hanno i dischi (dual port ovviamente) su un 
collegamento comunque SAS? Utilizzare dei dischi SATA 7,4krpm degrada 
davvero cosė tanto rispetto ai cugini costosi SAS da 10krpm o 15krpm 
(considerando il collegamento in SAS e non in FC)?
 
 
Altri tipi di RAID con doppia paritā possono essere paragonati come 
affidabilitā al RAID6? Parlo di RAID5EE, ad esempio, sulla carta pių 
veloce del 6.
 
 
Insomma, confrontarsi con esperienze dirette sicuramente non fa mai 
male. Che ne pensate?

 Che ne pensate?
 
Penso che se devo mettere in piedi un ambiente, uso RAID10, punto. Per 
quanto possa essere affidabile, il calcolo della doppia parita` nel RAID6 
rimane un collo di bottiglia insormontabile soprattutto nelle scritture. Di 
contro, RAID10 ha un ottimo rapporto affidabilita` / prestazioni che lo 
rendono piu` indicato soprattutto in ambiti dove le performance sono 
richieste per vari fattori (e un ambiente virtualizzato e` uno di questi 
ambiti). In definitiva, la regola che vige e` sempre la stessa:
 
 - Necessito di una buonissima affidabilita`, di buone performance in
   lettura e di spazio su disco? Uso RAID5
 - Necessito di un'ottima affidabilita` e di ottime performance? Uso RAID10
 
Enrico

 veloce del 6.
 
Sono pressochï¿œ tutti identici. Doppia paritï¿œ = penalizzazione in
scrittura di 6.
 
-- 
Flavio Visentin
 
Scientists discovered what's wrong with the female brain: on the left
side, there's nothing right, and on the right side, there's nothing left

 50 a 80 per i dischi da 5.4krpm
[...]
Chiaro ed esaustivo come sempre..
Una cosa: Io ho un raid6, dischi non troppo performanti, un rapporti 
read/write di 1/10 ma una hit ratio della cache in scruttura dal 97 al 100%
Posso stare tranquillo?
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
 
www.robyt.eu
 
 

 Posso stare tranquillo?
 
Se non si discosta da questo valore direi di sï¿œ. Chiaro che non devi
variare in modo consistente l'IO e soprattutto che devi sempre avere la
batteria in buono stato. Se la batteria si scaricasse il controller
disabilita automaticamente la modalitï¿œ write-back (per non rischiare di
perdere dati) ed abilita il direct IO sui dischi; in questo caso
emergerebbero tutti i limiti del raid6 come descritto prima.


 da fare sui dischi a fronte di una richiesta di IO del sistema operativo
 
[megacut]
 
 
che dire, eccezionalmente esaustivo, chiaro e preciso.
 
ancora un dubbio perï¿œ mi assale, hai detto che all'aumentare dei dischi 
le performance del RAID6 migliorano. Poniamo il caso di avere 12 dischi, 
che percentuale di miglioria potrei attendermi?
 
 

 che percentuale di miglioria potrei attendermi?
 
Il miglioramento tendenzialmente ï¿œ lineare con l'aumentare dei dischi,
quindi 12 dischi performeranno circa il doppio di 6.
Subentrano perï¿œ a tal proposito altre due considerazioni. La prima ï¿œ
quella dell'allineamento dei dati.
 
Nei raid i dati sono suddivisi in stripe tra i dischi, e ogni stripe ha
una dimensione che varia da 4k a 256k a seconda del controller o delle
impostazioni, con le dimensioni tra 32k e 128k che sono le piï¿œ comuni.
Il S.O. in genere fa le richieste dati con dimensioni che sono potenze
del 2, quindi per esempio 4k per volta o 64k o 1MB, ecc.ecc., accedendo
quindi a piï¿œ dischi contemporaneamente. Se il numero di dischi su cui
sono suddivisi i dati ï¿œ pari ad una potenza del due, le letture sono
sempre allineate e quindi i dischi lavorano in modo omogeneo.
 
Se il numero di dischi utili non ï¿œ invece una potenza di due, si possono
verificare dei degradi di performance causati dall'accodamento delle
richieste su una singola unitï¿œ, oppure non si sfruttano appieno le
performance che potrebbero offrire.
 
P.es. supponiamo 4 dischi in raid 5 con stripe di 64K e richieste da 256kb
 
I blocchi dei dati saranno disposti cosï¿œ:
 
    A         B         C         D
+------+  +------+  +------+  +------+
|   1  |  |   2  |  |   3  |  |   P  |
|   P  |  |   4  |  |   5  |  |   6  |
|   7  |  |   P  |  |   8  |  |   9  |
|  10  |  |  11  |  |   P  |  |  12  |
|  13  |  |  14  |  |  15  |  |   P  |
|   P  |  |  16  |  |  17  |  |  18  |
 
La prima richiesta dovrï¿œ leggere 4 stripe, da 1 a 4, quindi leggerï¿œ i
dati dai dischi A, B, C e poi ancora B. La seconda richiesta al disco B
chiaramente rappresenta un'ulteriore operazione di IO che introduce la
sua latenza (alcuni ms), ma fino a che tutti i dati non sono letti la
richiesta rimane in wait.
 
Se invece i dischi utili diventano una potenza del 2, quindi 4+1, ogni
richiesta accederï¿œ sempre ad una stripe completa, quindi la latenza
delle operazioni puï¿œ arrivare anche a dimezzarsi.
 
    A         B         C         D         E
+------+  +------+  +------+  +------+  +------+
|   1  |  |   2  |  |   3  |  |   4  |  |   P  |
|   P  |  |   5  |  |   6  |  |   7  |  |   8  |
|   9  |  |   P  |  |  10  |  |  11  |  |  12  |
|  13  |  |  14  |  |   P  |  |  15  |  |  16  |
|  17  |  |  18  |  |  19  |  |   P  |  |  20  |
 
Tornando al tuo esempio quindi per un raid6 ï¿œ meglio usare 6 o 10 dischi
in modo da avere 4 o 8 dischi utili e fare sempre accessi full-stripe.
 
Oltre a questo c'ï¿œ anche il fattore ricostruzione. Con l'aumentare dei
dischi aumenta linearmente anche il tempo di ricostruzione del raid in
caso di guasto di un disco. E' vero che nel caso del raid6 si mantiene
comunque la ridondanza anche senza un disco, e quindi non ï¿œ cosï¿œ
problematico come il raid5, ma in ogni caso ï¿œ un tempo durante il quale
il nostro sistema sarï¿œ molto penalizzato in termini di performance per
il costo della ricostruzione, oltre che comunque aumentare le
probabilitï¿œ di un ulteriore guasto a causa del sovraccarico di lavoro
(quando si rompe un disco ï¿œ facile che un altro segua).
 
P.Q.M. consiglio comunque di limitare l'uso del raid6 a quegli utilizzi
per cui le performance non rappresentano un problema, in modo che anche
in caso di guasto non vi siano particolari penalizzazioni.



 
 
estremamente chiaro, un post da salvare. grazie.