Ingegneria Dalmine “Impianti Informatici” RAID - 1 Dischi RAID M.Arrigoni Neri & P. Borghese 13 /05/13.

Slides:



Advertisements
Presentazioni simili
Gestione dei dischi RAID
Advertisements

Disco magnetico (2) Ciascuna traccia è divisa in settori
1 Alcuni esempi di dispositivi Disco rigido, RAID, video.
Dischi magnetici e scheduling del braccio del disco Pag. 216 – 224.
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
Giuseppe Andronico CCR-WS10 Santa Tecla, 18 Maggio 2010 Introduzione MPI & GPU.
Unità di apprendimento 6 Dal problema al programma.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
RAID Redundant Array of Inexpensive Disks Che cos'è Perché si usa Come funziona I tipi (principali) di RAID.
Huffman Canonico: approfondimento. Come abbiamo visto, Huffman canonico ci permette di ottenere una decompressione più veloce e con un uso più efficiente.
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Somme prefisse Lezione n°2.
CONTROLLO DELLA CONCORRENZA
Organizzazione di un Calcolatore
La chimica della vita Ogni organismo vivente è una macchina sofisticata, risultato di un complesso insieme di reazioni chimiche. La costruzione e il funzionamento.
Sistemi e Applicazioni per l’Amministrazione Digitale
Infrastruttura cloud servizi realizzata nella Sezione di Napoli
Affidabilità M. Arrigoni Neri & P. Borghese
© 2007 SEI-Società Editrice Internazionale, Apogeo
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
dCache Test effettuati al CNAF
CARATTERISTICHE DI UN DATACENTER
Regolatori PID.
Il Sistema Operativo Gestione dei Processi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
rielaborato da Atzeni-etal., Basi di dati, Capitolo 4
Laboratorio II, modulo Conversione Analogico/Digitale (cfr. e
La rappresentazione delle informazioni
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
Offerta in concorrenza perfetta: il lato dei costi
LE ARCHITETTURE NON VON NEUMANN
Microcontrollori e microprocessori
DISTRIBUZIONI TEORICHE DI PROBABILITA’
Metriche SE monitoring G.Donvito G.Cuscela INFN Bari
Unità di apprendimento 7
Considerazioni sull'infrastruttura
Organizzazione fisica
I FILES AD ACCESSO SEQUENZIALE
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
analizzatore di protocollo
Regolatori PID.
Database
MODULO 1 – Computer essentials
Processi e Thread Meccanismi di IPC (1).
Codicfiche Interi Complemento alla base.
Strutture di Controllo
Partizionamento/accorpamento di concetti
PROCEDURA per la misura e la relativa stima
© 2007 SEI-Società Editrice Internazionale, Apogeo
Ordinamento in tempo lineare
Scheduling in Linux (Kernel 2.4 e 2.6)
Codici rilevatori di errori
LE SUCCESSIONI Si consideri la seguente sequenza di numeri:
* 07/16/96 Sez. 2: Ordinamento La consultazione di banche dati è sempre più cruciale in tutte le applicazioni dell’Informatica. Se vogliamo consultare.
Excel 3 - le funzioni.
Teoria della computabilità
Parti interne del computer
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Economia politica Lezione 17
Scheduling (Schedulazione)
Array e Stringhe Linguaggio C.
La programmazione strutturata
Ingegneria Dalmine “Impianti Informatici” Affidabilità - 1 Affidabilità M. Arrigoni Neri & P. Borghese.
Corso di programmazione, Simulazione, ROOT, code, ecc. ecc.
Transcript della presentazione:

Ingegneria Dalmine “Impianti Informatici” RAID - 1 Dischi RAID M.Arrigoni Neri & P. Borghese 13 /05/13

Ingegneria Dalmine “Impianti Informatici” RAID - 2 indice dischi RAID  caratteristiche delle tipologie (livelli) di RAID  prestazioni  affidabilità  qualche esempio di calcolo

Ingegneria Dalmine “Impianti Informatici” RAID a questo indirizzo trovate molte informazioni interessanti compresi: tool di calcolo dell’efficienza di storage tool per la reliability

Ingegneria Dalmine “Impianti Informatici” RAID - 4 Redundant Arrays of Independent (Inexpensive) Disks indipendentiunico disco logico  più dischi fisici indipendenti visti come un unico disco logico di grande capacità ed elevate prestazioni striping parallelo  i dati sono distribuiti su più dischi (striping) che sono acceduti in parallelo ottenendo:  elevato transfer rate  elevato transfer rate per accessi che movimentano grandi quantità di dati (operazioni di I/O pesanti)  elevato I/O rate  elevato I/O rate per accessi in parallelo a piccole quantità di dati (operazioni di I/O leggere)  load balancing  load balancing tra i vari dischi in modo automatico  si utilizzano due tecniche antitetiche  stripingprestazioni  striping dei dati: per aumentare le prestazioni  ridondanzaaffidabilità  ridondanza: per aumentare l’affidabilità

Ingegneria Dalmine “Impianti Informatici” RAID - 5 Redundant Arrays of Independent (Inexpensive) Disks (cont.)  possono essere realizzati sia con hardware dedicato sia con software che usa hardware standard (esistono anche soluzioni ibride)  soluzioni software  soluzioni software richiedono costi aggiuntivi (cicli di CPU)  soluzioni hardware  richiedono unità di controllo specializzate che eseguono i calcoli di parità;  hanno in genere prestazioni migliori (dipendenti dalla dimensione della cache e da quanto rapidamente i dati vengono scaricati sui dischi); hot swapping  supportano hot swapping (i dischi possono essere sostituiti e ricostruiti anche in modo automatico mentre il sistema è in esercizio)

Ingegneria Dalmine “Impianti Informatici” RAID - 6 parallelismo di una operazione di I/O  virtualizzazione dell’I/O trasparente  i dati sono distribuiti su più dischi, in modo trasparente rispetto all’utente che richiede l’operazione e li vede come residenti su un unico disco di grande capacità ed efficienza ABCDEFGH AB.GH EF CD adapter dischi fisici DISK ARRAY DISK ARRAY esempio 2 byte interleaving aumento delle prestazioni disco logico ABCDEFGH

Ingegneria Dalmine “Impianti Informatici” RAID - 7  striping round robin  striping: tecnica di suddivisione dei dati che logicamente appaiono come scritti sequenzialmente (un vettore, un file,... ) in segmenti (unità di stripe: bit, byte, blocchi) che vengono scritti su più dischi fisici con un algoritmo ciclico (round robin)  unità di stripe  unità di stripe: il più piccolo segmento di dati contigui che può essere letto (scritto) da (su) un disco in ogni accesso  stripe width  stripe width: numero di dischi usati dall’algoritmo di striping (non coincide necessariamente col numero di dischi fisici nell’array)  più richieste indipendenti vengono eseguite in parallelo su dischi diversi  si riduce il tempo di accodamento delle richieste di I/O ai dischi  una singola richiesta di I/O per blocchi multipli può essere servita da più dischi che operano in modo coordinato transfer rate  il parallelismo aumenta il transfer rate (numero di byte trasferiti al secondo) per richiesta e, se i dispositivi sono sincronizzati, si riduce la latenza effettiva data striping

Ingegneria Dalmine “Impianti Informatici” RAID - 8 stripe  la dimensione dell’unità di stripe è una caratteristica importante per le prestazioni: prefetching  una unità piccola può dare luogo a singole richieste che si distribuiscono su più dischi con un aumento del numero di operazioni di I/O e di dischi occupati, il prefetching è meno efficace dal momento che dati che sarebbero contigui su un disco si trovano fisicamente dispersi e mescolati con quelli di altri dischi; access skew  d’altronde così diminuisce la probabilità di avere un sottoinsieme di dischi con utilizzo asimmetrico (access skew)  si riduce l’estensione dei seek queste osservazioni spiegano qualitativamente la forma della curva del tempo di risposta dell’operazione di I/O in funzione della unità di stripe l’unità fisica di I/O è la stripe unit non l’intera stripe data striping (cont.)

Ingegneria Dalmine “Impianti Informatici” RAID - 9 parallelismo e affidabilità (reliability) maggiori minoremaggiore più elevato è il numero di dischi dell’array, maggiori sono i benefici prestazionali ma minore è l’affidabilità dell’intero disk array (cioè maggiore è la probabilità di un guasto)  per questo motivo viene introdotta laridondanza se un blocco (o un intero disco fisico) è corrotto (o si è guastato) può essere ricostruito dalle informazioni ridondanti presenti sugli altri dischi un array di 100 dischi ha probabilità di guastarsi uguale a 100 volte quella di un singolo disco

Ingegneria Dalmine “Impianti Informatici” RAID - 10 parallelismo e affidabilità (reliability) (cont.)  se un disco ha un MTTF (Mean Time To Failure) di ore (~23 anni) un array di 100 dischi avrà un MTTF di ore (~ 3 mesi)  ridondanza  ridondanza dei dati scritti: permette la correzione/ricostruzione di eventuali errori/perdite di dati con tecniche di codici a correzione di errore che utilizzano informazioni ridondanti scritte su dischi diversi da quelli sui quali vengono scritti i dati originari  le operazioni di scrittura devono aggiornare anche le informazioni ridondanti, quindi sono generalmente più lente delle tipiche operazioni di write

Ingegneria Dalmine “Impianti Informatici” RAID - 11 esempio di ricostruzione del dato 202guasto dati ridondanti Disco 3Disco 2Disco 1 guasto guasto = 20 – (10 + 2) = 8 (somma aritmetica) 00guasto paritàDisco 3Disco 2Disco 1 parità parità = somma modulo 2 guasto guasto = parità + (1+ 0) = 1 (somma logica)

Ingegneria Dalmine “Impianti Informatici” RAID - 12 tipi di RAID la maggior parte dei RAID può essere classificata secondo le seguenti caratteristiche: granularitàinterleaving  la granularità di interleaving dei dati (unità di stripe)  il metodo per il calcolo delle informazioni ridondanti  scelta del metodo per distribuire le informazioni ridondanti tra i dischi dell’array limitato  distribuzione delle informazioni ridondanti su un numero limitato di dischi uniforme  utilizzo di tutti i dischi disponibili in modo uniforme per allocare le informazioni ridondanti (più difficile da realizzare ma ottimizza il bilanciamento del carico)

Ingegneria Dalmine “Impianti Informatici” RAID - 13 data interleaving: fine grained interleaved  i dati sono interleaved in piccole unità in modo tale che tutte le richieste di I/O (indipendentemente dalle loro dimensioni) possono utilizzare tutti i dischi dell’array  più elevato transfer rate per tutte le richieste di I/O  una sola richiesta logica di I/O può essere servita ad ogni istante di tempo (perché vengono utilizzati molti dischi)  tutti i dischi possono perdere parecchio tempo per motivi di posizionamento ad ogni richiesta

Ingegneria Dalmine “Impianti Informatici” RAID - 14 data interleaving: coarse grained interleaved  i dati sono interleaved in (relativamente) grandi unità in modo tale che tutte le richieste di I/O di piccole dimensioni necessitano soltanto di pochi dischi mentre grandi richieste di I/O possono utilizzare tutti i dischi dell’array piccole  richieste di I/O piccole possono essere eseguite in modo concorrente grandi  richieste di I/O grandi possono avere elevato transfer rate in quanto usano molti dischi in parallelo

Ingegneria Dalmine “Impianti Informatici” RAID - 15 tipologie di RAID

Ingegneria Dalmine “Impianti Informatici” RAID - 16 i livelli di RAID  RAID 0 striping (manca ridondanza)  RAID 1 mirroring (completa duplicazione)  RAID 0+1  RAID 1+0 (ibrido livelli annidati)  RAID 2 bit interleaving (non usato)  RAID 3 byte interleaving - ridondanza (disco di parità)  RAID 4 block interleaving - ridondanza (dischi di parità)  RAID 5 block interleaving - ridondanza (blocchi di parità distribuiti) - il più usato  RAID 5+0 (ibrido livelli annidati)  RAID 6 maggiore ridondanza (tollera 2 dischi guasti)  RAID 7 (soluzioni proprietarie)

Ingegneria Dalmine “Impianti Informatici” RAID - 17 RAID level 0: striping, no ridondanza  i dati scritti su un disco logico sono suddivisi in blocchi sequenziali e distribuiti tra i dischi fisici con un algoritmo di striping  richiede minimo 2 drive costiminimi  massima capacità per i dati, senza ridondanza (costi minimi)  massimeprestazioni  massime prestazioni (parallelismo di dischi e canali)  massimeprestazioni write  massime prestazioni di write (non esistono dati ridondanti da aggiornare)  non si possono usare dischi “hot spares” bassaaffidabilità  senza correzione di errori, no fault tolerant (bassa affidabilità) Block 8 Block 7 Block 6 Block 5 Stripe 2 Block 4 Block 3 Block 2 Block 1 Stripe 1 Disco 4Disco 3Disco 2Disco 1 dati disk array 4 dischi fisici configurati come un unico disco logico RAID 0 usato nei server di dati read-only

Ingegneria Dalmine “Impianti Informatici” RAID - 18 RAID level 1: mirroring duplicati i dati di un disco vengono tutti duplicati integralmente su un altro disco  richiede minimo 2 drive  alta affidabilità; se un disco si guasta si accede al duplicato  read  read veloci (se un disco è occupato si legge dall’altro)  costi elevati (si utilizza solo il 50% della capacità fisica per dati utili) disk array - 2 dischi dati dati duplicati Block 3 Stripe 3 Block 2 Stripe 2 Block 1 Stripe 1 Disco 2Disco 1

Ingegneria Dalmine “Impianti Informatici” RAID - 19 RAID level  prima viene effettuato lo striping (livello 0)  poi viene effettuato il mirroring (livello 1)  elevate prestazioni  richiede un minimo di 4 drive  il guasto di un disco porta nella situazione RAID 0  overhead elevato (duplicazione dischi) stripe width

Ingegneria Dalmine “Impianti Informatici” RAID - 20 RAID level  prima viene effettuato il mirroring (livello 1)  poi viene effettuato lo striping (livello 0) stripe width  elevata affidabilità combinata con elevate prestazioni  richiede un minimo di 4 drive fault tolerance  stessa fault tolerance di RAID 1  impiegato in data base ad elevato carico (write veloci)

Ingegneria Dalmine “Impianti Informatici” RAID - 21 schema RAID 0, 1, 0+1, 1+0 A1 A3 A5 A7 A2 A4 A6 A8 RAID 0 A1 A2 A3 A4 A1 A2 A3 A4 RAID 1 A1 A4 B1 B4 A2 A5 B2 B5 A3 A6 B3 B6 A1 A4 B1 B4 A2 A5 B2 B5 A3 A6 B3 B6 RAID 0 RAID 1 RAID 0+1 A1 A4 B1 B4 A1 A4 B1 B4 RAID 1 A2 A5 B2 B5 A2 A5 B2 B5 A3 A6 B3 B6 A3 A6 B3 B6 RAID 0 RAID 1+0 A1, B1,... rappresenta un blocco di dati

Ingegneria Dalmine “Impianti Informatici” RAID - 22 confronto livelli 0+1, 1+0  la disposizione dei blocchi è identica se non per i dischi che sono in un diverso ordine  alcuni controller 0+1 combinano in un’unica operazione striping e mirroring  0+1  non tollera due guasti simultanei (eccetto nel caso in cui interessino la stessa stripe) single point of failure  nel caso di guasto a un singolo disco, il dato mancante è recuperato dall’altro gruppo RAID 1, ogni meccanismo dell’altra stripe è un single point of failure  il ripristino di un disco richiede la partecipazione di tutti i dischi dell’array  1+0 single point of failure  un disco per ogni gruppo RAID 1 può guastarsi ma se non riparato, il suo mirror diviene single point of failure dell’intero array

Ingegneria Dalmine “Impianti Informatici” RAID - 23 RAID level 2 bit interleaved parity (ramo morto dell’evoluzione)  assunzione: non si conosce quale è il dato errato correzione di errori (Hamming code) del tipo usato nelle memorie  4 dischi dati  3 dischi ridondanti (un disco in meno del mirroring)  num. dischi ridondanti: proporzionale a log num.dischi (con 32 dischi ne occorrono 7 di parità)  si usano blocchi di parità per sottoinsiemi di dati sovrapposti  molti dischi ridondanti sono necessari per individuare il disco guasto, un solo disco è necessario per ripristinare i dati perduti  in lettura viene verificata la correttezza dei dati e corretti gli errori su un singolo drive dati dischi ridondanti

Ingegneria Dalmine “Impianti Informatici” RAID - 24 RAID level 3 bit or byte interleaved parity  assunzione: si conosce quale è il disco guasto  i bit di un dato vengono distribuiti tra i vari dischi  un solo disco per i bit di parità  adatto per applicazioni che richiedono elevata banda ma medio I/O rate  una sola richiesta di I/O viene eseguita per volta  ogni read accede a tutti i dischi dati  ogni write accede a tutti i dischi dati ed al disco di parità disco ridondante dedicato alla parità dati

Ingegneria Dalmine “Impianti Informatici” RAID - 25 RAID level 4: block interleaved parity  i dati sono distribuiti in blocchi  read inferiori ad un blocco usano un solo disco  le write devono scrivere i nuovi dati, leggere i vecchi dati e parità, calcolare il nuovo blocco di parità e scriverlo bottleneck  un solo disco per la ridondanza (acceduto ad ogni write) diventa facilmente bottleneck  si possono usare dischi hot spares due  array RAID4 guasto  due dischi sono guasti contemporaneamente parità datidiscoridondantededicato

Ingegneria Dalmine “Impianti Informatici” RAID - 26 RAID level 4 - esempio  5 dischi fisici, uno usato per i dati ridondanti  scrittura dei blocchi dati e di parità  alta velocità (aggregata) di trasferimento in lettura - ridotta velocità di scrittura per la necessità di scrivere il blocco di parità Parity 9-12 Block 12 Block 11 Block 10 Block 9 Stripe 3 Parity 5-8 Block 8 Block 7 Block 6 Block 5 Stripe 2 Parity 1-4 Block 4 Block 3 Block 2 Block 1 Stripe 1 Disco 5 ridondante Disco 4Disco 3Disco 2Disco 1

Ingegneria Dalmine “Impianti Informatici” RAID - 27 RAID level 5: block interleaved distributed parity  è la soluzione più adottata e versatile: massimi vantaggi (prestazioni e affidabilità) con minimi costi (limitata perdita di capacità, un solo disco)  i blocchi di parità sono distribuiti uniformemente su tutti i dischi fisici (no bottleneck)  le write sono più lente dei RAID0 e RAID1  le read sono più veloci dei RAID1 (parallelismo)  load balancing  load balancing su tutti i dischi  due  due dischi guasti  array RAID5 guastoparità dati

Ingegneria Dalmine “Impianti Informatici” RAID - 28 RAID level 5: esempio Block 11mo metodo esecuzione di una write nel Block 1 (1mo metodo) Block 234 1) read Block 2,3 e 4 Parity Block1-4Block1 2) calcolo nuovo Parity Block1-4 col nuovo Block1 Block 1Parity Block 1-4 3) write Block 1 e Parity Block 1-4 Block 12 Block 11 Parity 9-12 Block 10 Block 9 Stripe 3 Block 8 Parity 5-8 Block 7 Block 6 Block 5 Stripe 2 Parity 1-4 Block 4 Block 3 Block 2 Block 1 Stripe 1 Disco 5Disco 4Disco 3Disco 2Disco 1  5 dischi fisici configurati come un disco logico RAID5  la distribuzione dei blocchi dati e di parità è:

Ingegneria Dalmine “Impianti Informatici” RAID - 29 RAID level 5: esempio (cont.) Block 1 2do metodo: read-modify-write esecuzione di una write nel Block 1 (2do metodo: read-modify-write) Block 1 Parity 1-4 1) read old Block 1, old Parity 1-4 Parity 1-4 old Block 1, new Block 1, old Parity 1-4 2) calcolo del new Parity 1-4 da old Block 1, new Block 1, old Parity 1-4 newBlock 1Parity Block 1-4 3) write new Block 1 e Parity Block 1-4 Block 12 Block 11 Parity 9-12 Block 10 Block 9 Stripe 3 Block 8 Parity 5-8 Block 7 Block 6 Block 5 Stripe 2 Parity 1-4 Block 4 Block 3 Block 2 Block 1 Stripe 1 Disco 5Disco 4Disco 3Disco 2Disco 1

Ingegneria Dalmine “Impianti Informatici” RAID - 30 RAID level 5: esempio (cont.) new Parity 1-4 old Block1, old Parity 1-4, new Block1  WRITE: calcolo new Parity 1-4 da old Block1, old Parity 1-4, new Block new old Parity 1-4 Block 4 Block 3 Block 2 Block 1 stripe 1 Disco 5Disco 4Disco 3Disco 2Disco 1011  READ : I blocchi di parità non sono acceduti nell’operazione di lettura. Tuttavia vengono letti se un settore dà luogo a un errore CRC (cyclic redundancy check), in questo caso il settore errato viene ricostruito dai rimanenti blocchi della stripe e dal blocco di parità

Ingegneria Dalmine “Impianti Informatici” RAID - 31 schema RAID 4, 5, 5+0 A1 B1 C1 D1 A2 B2 C2 D2 RAID 4 A3 B3 C3 D3 Ap Bp Cp Dp A1 B1 C1 Dp A2 B2 Cp D1 RAID 5 A3 Bp C2 D2 Ap B3 C3 D3 A1 B1 Cp D1 A2 Bp C1 D2 Ap B2 C2 Dp A3 B3 Cp D3 A4 Bp C3 D4 Ap B4 C4 Dp A5 B5 Cp D5 A6 Bp C5 D6 Ap B6 C6 Dp RAID 0 RAID 5+0 A1, B1,... rappresenta un blocco di dati Ap,... un blocco di parità

Ingegneria Dalmine “Impianti Informatici” RAID - 32 RAID level 6 fault tolerance  estensione di RAID 5 ma con maggiore fault tolerance  due sistemi di parità (P+Q) distribuiti e indipendenti  tollera il guasto simultaneo di 2 dischi  elevato overhead per calcolo della parità  richiede N + 2 dischi  prestazioni povere in scrittura  adatto per applicazioni molto critiche  difficile da realizzare

Ingegneria Dalmine “Impianti Informatici” RAID - 33 schema RAID 6 A1 B1 C1 Dp A2 B2 Cp Dq RAID 6 A3 Bp Cq D1 Ap Bq C2 D2 Aq B3 C3 D3 A1, B1,... rappresenta un blocco di dati Ap, Aq,... un blocco di parità  inefficiente per un numero piccolo di dischi, ma al crescere di questi la perdita di capacità diviene meno importante e aumenta la probabilità di due guasti simultanei diagonale  esistono anche altri metodi di calcolo di una doppia parità detta diagonale in cui la seconda parità è calcolata da blocchi diversi da quelli usati per la prima

Ingegneria Dalmine “Impianti Informatici” RAID - 34 criteri di scelta del livello di RAID  Prestazioni  I/O di scrittura  I/O di lettura  tempi di recovery  parallelismo  Affidabilità  Fault-tolerance  correzione errori  ridondanza  duplicazione  Costi  sfruttamento della capacità fisica  tipi di soluzione  caratteristiche controller

Ingegneria Dalmine “Impianti Informatici” RAID - 35 criteri di scelta del livello di RAID (cont.) i dischi RAID non proteggono da guasti multipli dei dischi (tranne liv. 6) i dischi RAID non proteggono da guasti multipli dei dischi (tranne liv. 6) regolari operazioni di back-up permettono di ricostruire dati persi non dovuti a guasti di dischi (errori umani, di software di hardware) regolari operazioni di back-up permettono di ricostruire dati persi non dovuti a guasti di dischi (errori umani, di software di hardware)

Ingegneria Dalmine “Impianti Informatici” RAID - 36 prestazioni RAID

Ingegneria Dalmine “Impianti Informatici” RAID - 37 RAID 0: modello semplificato di striping  b: dimensione della richiesta  : flusso di richieste  su: dimensione blocco  m: stripe width (no. dischi)  D: numero di dischi per operazione D = b/su  D rappresenta il flusso totale di operazioni generato dall’algoritmo di striping  flusso di richieste per disco = D/m stripe di m dischi D dischi per operazione tempocontroller tempodisco

Ingegneria Dalmine “Impianti Informatici” RAID - 38 RcRd  il tempo di risposta dell’operazione di I/O è la somma del tempo di controller Rc e del massimo dei tempi di operazione disco Rd  sc: tempo di servizio del controller  tempo di risposta R = S/(1- S) = S/(1-U) (coda M/M/1)  Rc = sc / (1-  sc)  valore medio del max(Rd), dipende dal tipo di distribuzione e comunque cresce col numero D di dischi esponenziale  se esponenziale la prima operazione termina in Rd / D,  la seconda dopo Rd / (D-1) dalla prima e così via  Val.medio del max(Rd) = Rd (1 + 1/2 + 1/ /D) uniforme  se uniforme (fra 0 e 2Rd)  max(Rd) = 2Rd D / (D+1) RAID 0: modello semplificato di striping (cont.)

Ingegneria Dalmine “Impianti Informatici” RAID - 39  uno storage è composto da 10 dischi configurati in RAID 0, con le seguenti caratteristiche:  avg. seek time: 5ms  velocità di rotazione: 7200 RPM  avg. transfer rate: 8 MB/sec  dimensione blocco = stripe unit: 1 KB  stripe width: 4 dischi  dimensione media di un file: 400 KB tempo minimo di accesso a un file  si vuole calcolare il tempo minimo di accesso a un file:  tempo medio di accesso a un blocco = seek + latenza + trasferimento  = 5 + (60  1000/7200)/ /(8  1024) = = 9.29 ms  tempo di accesso al file in sequenza: 400  9.29/1000 = sec sec  tempo minimo (4 blocchi alla volta): 3.716/4 = sec esercizio 1: prestazioni RAID 0 (modello semplificato)

Ingegneria Dalmine “Impianti Informatici” RAID - 40  per il calcolo del tempo di accesso abbiamo ipotizzato:  tempo di controller nullo  tempo di CPU nullo (o sovrapposto a quello di I/O)  non esistono altri processi contemporanei a quello considerato  i tempi di accesso ai blocchi sono costanti e perfettamente sincronizzati  se supponiamo invece che:  il tempo di seek abbia un massimo di 9 ms  il tempo di latenza sia al massimo una rotazione: 8.33 ms  allora il tempo massimo di accesso ad un blocco diviene: ms  se il tempo di trasferimento del gruppo di 4 blocchi si avvicina a quello massimo, i tempi vanno così ricalcolati:  tempo massimo di accesso al file in sequenza: 400  17.45/1000 = 6.98 sec sec  tempo massimo di accesso al file (4 blocchi alla volta): sec esercizio 1: osservazioni

Ingegneria Dalmine “Impianti Informatici” RAID - 41 esercizio 2: prestazioni RAID 1 (modello semplificato)  RAID 1: mirror su due dischi  siano:  s: tempo medio di servizio operazione di I/O  : numero di operazioni al secondo  r / w = 3: rapporto fra read e write  = r + w = r (1 + 1/3) = 4/3 r - situazione iniziale (un disco)  se introduciamo un disco mirror le write si raddoppiano:  = r + 2· w = r (1 + 2/3) = 5/3 r RAID1 (flusso di I/O su 2 dischi)  = r /2 + w = 5/6 r RAID1 (tasso di I/O per disco)  la lettura avviene da un solo disco;  la scrittura viene eseguita su entrambi e termina quando è completata l’ultima operazione

Ingegneria Dalmine “Impianti Informatici” RAID - 42 esercizio 2 (cont.)  lettura (modello M/M/2)  abbiamo due serventi (dischi)  scrittura  viene eseguita contemporaneamente sui due dischi, si conclude quando termina la seconda operazione un modo per calcolare il tempo medio per completare una scrittura

Ingegneria Dalmine “Impianti Informatici” RAID - 43 esercizio 2 (cont.)  i tempi medi di risposta della soluzione RAID 1 dipendono fortemente dal rapporto read/write e sono tanto più favorevoli quanto più questo è maggiore U = 4/3 r s; U(RAID) = 5/6 r s perciò:  a parità di carico (numero read/sec) se U è l’utilizzo iniziale del disco, allora: 8  U(RAID) = 5  U  a parità di utilizzo (su tutti i dischi): 8  r = 5  r (RAID) ( r è riferito alle sole read e il rapporto r/w vale 3/1)

Ingegneria Dalmine “Impianti Informatici” RAID - 44 affidabilità RAID

Ingegneria Dalmine “Impianti Informatici” RAID - 45 metriche utilizzate : Mean Time To Failure  MTTF 1 : Mean Time To Failure, tempo medio che intercorre prima che un disco si guasti Mean Time To Data Loss irrimediabile  MTTDL n : Mean Time To Data Loss, tempo medio prima che si guasti un numero di dischi dell’array di n dischi sufficiente a causare la perdita irrimediabile di dati  l’affidabilità di un RAID livello 0 con n dischi è bassa, infatti: = MTTF 1 / n MTTDL n = MTTF 1 / n

Ingegneria Dalmine “Impianti Informatici” RAID - 46 MTTF - MTTDL di n dischi  assumendo che i tempi tra due guasti successivi siano distribuiti esponenzialmente:  MTTF (array) = MTTF (disco) / numero dischi  Esercizio 3: MTTDL RAID 0  MTTF(disco) = 1000 gg; n = 8  MTTR = 10 gg  MTTDL = MTTF(disco) / n = 125 gg  Nota: MTTDL non dipende da MTTR  solo la disponibilità dipende da MTTR

Ingegneria Dalmine “Impianti Informatici” RAID - 47 MTTF - MTTDL di n dischi (cont.)  P(array RAID 1 guasto) = 1/MTTDL  = P(1° guasto)  P(2° guasto < MTTR)  Esercizio 4: MTTDL RAID 1  MTTF(disco) = gg; numero totale di dischi = 16 (= 2  8)  MTTR = 10 gg  P(1° guasto) = n / MTTF(disco) = 16 / 1000  P(2° guasto: si guasta il disco mirror del 1°) = MTTR / MTTF  MTTDL = 1/(16/1000  10/1000) = 6250 gg  Nota: si considera MTTDL il tempo medio alla perdita di un dato su un qualunque disco dell’array (anche se gli altri sono raggiungibili) lo stesso calcolo vale anche per RAID 1 + 0

Ingegneria Dalmine “Impianti Informatici” RAID - 48 MTTF - MTTDL di n dischi (cont.)  P(array RAID 1 guasto) = 1/MTTDL  = P(1° guasto)  P(2° guasto < MTTR)  Esercizio 5: MTTDL RAID  MTTF(disco) = 1000 gg; numero totale di dischi = 16 (= 2  8)  MTTR = 10 gg  P(1° guasto) = n / MTTF(disco) = 16 / 1000  P(2° guasto: si guasta un disco nell’altro gruppo mirror) = MTTR / (MTTF  2/n)  MTTDL = 1/(16/1000  10  8/1000) = 781 gg

Ingegneria Dalmine “Impianti Informatici” RAID - 49 guasto di un gruppo di parità  G: numero di dischi per gruppo di parità  un gruppo si guasta effettivamente se si guasta un secondo disco durante l’intervallo di tempo (MTTR) necessario alla riparazione del primo

Ingegneria Dalmine “Impianti Informatici” RAID - 50 calcolo MTTDL di un array RAID con parità  allora:  N è il numero totale di dischi dell’array  N/G il numero di gruppi  in modo analogo se ci fossero due dischi di parità per gruppo - caso RAID 6 (cioè i dati si perdono se si guasta anche un terzo disco)

Ingegneria Dalmine “Impianti Informatici” RAID - 51 esercizio 6: calcolo MTTDL di un RAID 5  N=25 dischi totali  5 gruppi da G=5 dischi  ogni gruppo ha un disco ridondante  MTTF(disk)=1000 giorni, MTTR(disk)=10 giorni  MTTF (disco)  MTTF (disco): Mean Time To Failure di un disco  MTTR (disco)  MTTR (disco): Mean Time To Repair di un disco  MTTDL (RAID5)  MTTDL (RAID5): Mean Time To Failure di un RAID5

Ingegneria Dalmine “Impianti Informatici” RAID - 52 esercizio 6 (cont.)  prob. che uno dei 5 dischi di un gruppo si guasti:  prob. che uno dei rimanenti 4 dischi di un gruppo si guasti durante i 10 giorni di riparazione del primo disco guasto:

Ingegneria Dalmine “Impianti Informatici” RAID - 53  probabilità che uno tra i 5 gruppi sia guasto esercizio 6 (cont.)

Ingegneria Dalmine “Impianti Informatici” RAID - 54 esercizio 6: osservazione  il calcolo appena fatto si riferisce più propriamente al caso di RAID  ipotizziamo infatti di partire da 20 dischi (di identiche caratteristiche di affidabilità)  aggiungendo un disco possiamo costruire un array RAID 5,  MTTDL(RAID 5) = MTTF 2 / (21  20  MTTR)  aggiungendo invece 5 dischi possiamo costruire un array RAID 5 + 0,  MTTDL(RAID 5 + 0) = MTTF 2 / (25  4  MTTR)  concludendo: con un costo di altri 4 dischi otteniamo una migliore reliability:  MTTDL(RAID 5 + 0) / MTTDL(RAID 5) = 21/5 = 4.2