Esercizio - RAID, capacità, prestazioni e guasti (eserciziario, esercizi 43 e 74)
In questa pagina 6
Testo (eserciziario del corso di Sistemi Operativi, Ing. Informatica UniPD).
- Esercizio 43, parte 1. Due dischi da 200 GB, ciascuno con transfer rate di 200 MB/s, configurabili in RAID 0 o RAID 1. Per ciascuna modalità: (a) capacità complessiva; (b) c'è un miglioramento della tolleranza ai guasti? Detta la probabilità che un disco si guasti, quale diventa dopo il RAID?
- Esercizio 43, parte 2. Array di 4 dischi da 500 GB, ciascuno con transfer rate di 120 MB/s, in modalità RAID 0 o RAID 10. Per ogni configurazione: capacità utilizzabile ; transfer rate teorico in lettura (TRL) e in scrittura (TRS); se c'è perdita di dati o rallentamenti in lettura e/o scrittura, considerando il guasto prima di un disco e poi di un secondo disco.
- Esercizio 74. Illustrare la composizione (memoria complessiva) di un sistema RAID con 8 GB di memoria secondaria effettivamente utilizzabile, con: (a) livello 0 e 4 dischi; (b) livello 1 e 4 dischi; (c) livello 4 e 5 dischi; (d) livello 5 e 3 dischi.
Teoria: Memoria di massa e scheduling del discoLa memoria di massa è fatta di dischi rigidi (HDD: piatti, tracce, cilindri, settori) e memorie non volatili NAND (SSD); tempo di accesso HDD = seek + latenza rotazionale (mezzo giro, 30/RPM secondi), tempo di I/O = accesso + trasferimento + overhead del controller; i blocchi sono indirizzati con un LBA lineare; per l'HDD si minimizza il seek con FCFS, SSTF (rischio di starvation), SCAN (ascensore) e C-SCAN (più uniforme), con le varianti LOOK e C-LOOK e il deadline di Linux; per le NVM contano FTL, garbage collection, overprovisioning e wear leveling; il sistema operativo formatta (fisico e logico), partiziona, gestisce il boot e lo spazio di swap; parità ed ECC rilevano e correggono errori; il RAID usa striping, mirroring e parità (livelli 0, 1, 4, 5, 6, 10) per più velocità e affidabilità, con MTTDL = 1/PDL.Memoria di massa e scheduling del disco →, Memoria esterna - dischi, RAID e memorie otticheDisco magnetico (piatti, facce, tracce, settori, cilindri); tempo di accesso come somma di posizionamento, latenza rotazionale e trasferimento, con formule ed esempio; algoritmi di scheduling FCFS, SSTF e ascensore; livelli RAID da 0 a 6; SSD; CD, DVD e nastri.Memoria esterna - dischi, RAID e memorie ottiche →.
Promemoria
Con dischi uguali da byte e velocità :
| livello | capacità utile | lettura | scrittura | guasto di un disco |
|---|---|---|---|---|
| RAID 0 | dati persi | |||
| RAID 1 (coppie in mirror) | (si può leggere da entrambi) | nessuna perdita | ||
| RAID 4 | nessuna perdita (si ricostruisce dalla parità) | |||
| RAID 5 | nessuna perdita | |||
| RAID 10 | nessuna perdita |
Esercizio 43, parte 1 (due dischi da 200 GB)
RAID 1 (specchio): capacità 200 GB (un disco è la copia dell'altro). Tolleranza ai guasti molto migliore: se la probabilità che un disco si guasti nelle prossime 24 ore è , quella che si guastino entrambi è , molto più bassa (con , ). Il disco guasto va sostituito subito.
RAID 0 (striping): capacità 400 GB. La tolleranza ai guasti peggiora: basta che si guasti uno dei due dischi per perdere i dati (le strisce sono distribuite), quindi la probabilità è
Con : , quasi il doppio di .
Esercizio 43, parte 2 (4 dischi da 500 GB, 120 MB/s)
RAID 0.
- .
- TRL TRS MB/s (tutti i dischi lavorano in parallelo).
- Guasto di un disco: perdita di dati; guasto di due: perdita di dati.
RAID 10 (due coppie in RAID 1, poi striping fra le coppie).
- (in ogni coppia un disco è lo specchio dell'altro).
- TRL MB/s: si può leggere in parallelo da tutti e 4 i dischi.
- TRS MB/s: ogni dato va scritto su entrambi i dischi di una coppia, quindi in scrittura conta la banda di 2 dischi (gli altri due copiano).
- Guasto di un disco: nessuna perdita, rallentamento solo in lettura (il disco guasto non serve più le letture e la sua coppia resta con un solo disco), nessun rallentamento in scrittura.
- Guasto di due dischi: perdita di dati solo se i due dischi sono nella stessa coppia; se sono in coppie diverse i dati ci sono ancora (una copia per coppia), con le stesse conseguenze del caso precedente.
(Una nota della soluzione dice che anche con RAID 0+1 la lettura in parallelo su 4 dischi è possibile. Un'altra soluzione del corso scrive 480 GB/s e 240 GB/s: è un refuso per MB/s, perché i dischi sono da 120 MB/s.)
Esercizio 74 (8 GB utili)
| caso | dischi | capacità di ogni disco | capacità totale | capacità utile |
|---|---|---|---|---|
| (a) RAID 0, 4 dischi | 4 | GB | 8 GB | 8 GB (tutta) |
| (b) RAID 1, 4 dischi | 4 (2 coppie in mirror) | 4 GB | 16 GB | 8 GB (metà) |
| (c) RAID 4, 5 dischi | 5 (4 dati + 1 parità) | 2 GB | 10 GB | GB |
| (d) RAID 5, 3 dischi | 3 (parità distribuita) | 4 GB | 12 GB | GB |
Spiegazione del caso (d): con 3 dischi da GB, la capacità utile è (un terzo della capacità totale è parità distribuita): GB, totale 12 GB. In forma equivalente, dalle slide: GB.
Nel caso (c), il livello 4 ha un disco di parità dedicato; nel caso (d) il livello 5 distribuisce la parità su tutti i dischi, per evitare che un solo disco diventi il collo di bottiglia delle scritture.
Bonus: affidabilità (dalle slide)
RAID 1 con due dischi, MTBF h, MTTR h: probabilità di guasto in un'ora , di riparazione ; probabilità di perdita di dati ; ore anni.
Errori tipici
- Dire che RAID 0 migliora l'affidabilità: la peggiora ().
- Dimenticare che in RAID 10 la scrittura usa metà della banda ( con 4 dischi).
- Scrivere "perdita di dati" per ogni coppia di guasti in RAID 10: dipende da quali dischi.
- Contare per RAID 5 la capacità totale invece di .
- Confondere capacità di ogni disco, totale e utile nell'esercizio 74.
Versione ripasso
Tabella. dischi , : RAID 0 utile , lettura e scrittura , un guasto perdita. RAID 1/10: utile , lettura , scrittura . RAID 4/5: (parità dedicata/distribuita). RAID 6: .
43 (2 dischi da 200 GB). RAID 1: 200 GB, guasto doppio (più affidabile). RAID 0: 400 GB, guasto (meno affidabile).
43 (4 dischi da 500 GB, 120 MB/s). RAID 0: 2 TB, TRL TRS MB/s; un guasto perdita. RAID 10: 1 TB, TRL 480, TRS 240 MB/s; un guasto: nessuna perdita, rallenta la lettura; due guasti: perdita solo se nella stessa coppia.
74 (8 GB utili). (a) 4 dischi da 2 GB; (b) 4 da 4 GB (16 GB totali); (c) 5 da 2 GB (10 totali, 8 utili); (d) 3 da 4 GB (12 totali, utili).
MTTDL. , MTTDL h anni.
Passaggi. Capacità utile: RAID 0 ; 1 e 10 ; 4 e 5 . TRL RAID 10 MB/s, TRS MB/s. Probabilità di guasto con due dischi: RAID 1 , RAID 0 ().
Errori tipici: RAID 0 più affidabile; scrittura RAID 10 a ; due guasti sempre fatali in RAID 10; RAID 5 senza togliere la parità; capacità totale/utile scambiate.