raid: da “redundant array of inexpensive disks” a ......raid: da “redundant array...

6
RAID: da “Redundant Array of Inexpensive Disks” a “Redundant Array of Independent (expensive?) Disks”. Chi si occupa di sicurezza informatica si è abituato a considerare normale utilizzare metodi di risk management per implementare un moderno sistema di protezione aziendale. L'incessante cronaca di attacchi a siti internet e la possibilità di accedere facilmente a fonti di sapere aperte e attendibili (ad es. i sistemi a codice free o open source) hanno consolidato la consapevolezza che nessun sistema di sicurezza è inviolabile. In ambito storage è ancora comune considerare i sistemi come infallibili poiché altamente resilienti. Probabilmente il ritardo di offerta di storage con software a codice aperto per il mercato aziendale ha limitato la diffusione di notizie e quindi la conoscenza di casi critici, con qualche eccezione 8 (notare che spesso la causa è imputata ad un errore “umano”). Per arrivare a considerare normale 9 che i dati in uno storage in RAID 5/6 abbiano un elevato rischio di corruzione o fault totale è necessario chiarire il contesto dei requisti minimi ricordando che il documento 10 del 1988 in cui viene coniato per la prima volta il termine RAID conclude con una serie di temi su cui investigare e tra questi: “Ho do defective sectors affect RAID?” Facciamo l'ipotesi di uno storage in raid 5 “hardware” costituito da un array di dischi in cui il controller aggrega n dischi che espone al sistema operativo come un singolo volume su cui creare un filesystem. In caso eliminazione (erasure) di un singolo disco il controller entra in modalità “Interim Data Recovery Mode”, ossia ricostruisce al volo il dato mancante in modo che il sistema operativo possa operare senza interruzione di servizio. Appena l'unità guasta viene sostituita con una nuova, parte un processo di ricostruzione per tornare allo stato precedente. Ci sono tre puntualizzazioni importantissime da fare a questo punto: - un sistema RAID5 effettua la ricostruzione del dato mancante solo in Interim o in Rebuild data recovery mode, - il rebuild (re-silver) di un array RAID5 comporta la lettura sequenziale di TUTTI i bit (non è un filesystem) di tutti i dischi rimanenti e, in caso di errore di lettura anche di un solo bit, si interrompe con segnalazione di errore, - in nessun caso lo standard RAID5 effettua il checksum dei dati... 8 http://www.availabilitydigest.com/public_articles/0510/virginia.pdf , https://www.computable.nl/artikel/achtergrond/infrastructuur/4389649/2379248/raadsels-rond-computerstoring- groningen.html 9 http://www.zdnet.com/article/why-raid-5-stops-working-in-2009/ 10 http://www.cs.cmu.edu/~garth/RAIDpaper/Patterson88.pdf U.O.A. Servizio Informatico Via Trento, 4 - 36071 Arzignano (VI) Resp. del Procedimento: dott. Giorgio Roncolato Tel: 0444/479663 Fax: 0444/479654 Resp. Istruttoria: Alessandro Fascina e-mail: uoc. servizio.informatico @ulss5.it Revisione 1.0 del 5 febbraio 2016 C.F.e P.I. 00913220240

Upload: others

Post on 16-Sep-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RAID: da “Redundant Array of Inexpensive Disks” a ......RAID: da “Redundant Array ofInexpensive Disks” a “Redundant Array of Independent (expensive?) Disks”. Chi si occupa

RAID: da “Redundant Array of Inexpensive Disks” a “Redundant Arrayof Independent (expensive?) Disks”.

Chi si occupa di sicurezza informatica si è abituato a considerare normale utilizzare metodidi risk management per implementare un moderno sistema di protezione aziendale.L'incessante cronaca di attacchi a siti internet e la possibilità di accedere facilmente a fontidi sapere aperte e attendibili (ad es. i sistemi a codice free o open source) hannoconsolidato la consapevolezza che nessun sistema di sicurezza è inviolabile. In ambitostorage è ancora comune considerare i sistemi come infallibili poiché altamente resilienti.Probabilmente il ritardo di offerta di storage con software a codice aperto per il mercatoaziendale ha limitato la diffusione di notizie e quindi la conoscenza di casi critici, conqualche eccezione8 (notare che spesso la causa è imputata ad un errore “umano”).

Per arrivare a considerare normale9 che i dati in uno storage in RAID 5/6 abbiano unelevato rischio di corruzione o fault totale è necessario chiarire il contesto dei requistim i n i m i r i c o r d a n d o c h e i ldocumento10 del 1988 in cui vieneconiato per la prima volta il termineRAID conclude con una serie ditemi su cui investigare e tra questi:“Ho do defective sectors affectRAID?”

Facciamo l'ipotesi di uno storage inraid 5 “hardware” costituito da unarray di dischi in cui il controlleraggrega n dischi che espone alsistema operativo come un singolovolume su cui creare unfilesystem. In caso eliminazione(erasure) di un singolo disco ilcontroller entra in modalità “InterimData Recovery Mode”, ossiaricostruisce al volo il dato mancante in modo che il sistema operativo possa operare senzainterruzione di servizio. Appena l'unità guasta viene sostituita con una nuova, parte un processo di ricostruzione per tornare allo stato precedente. Ci sono tre puntualizzazioni importantissime da fare a questo punto:- un sistema RAID5 effettua la ricostruzione del dato mancante solo in Interim o inRebuild data recovery mode,- il rebuild (re-silver) di un array RAID5 comporta la lettura sequenziale di TUTTI i bit(non è un filesystem) di tutti i dischi rimanenti e, in caso di errore di lettura anche di unsolo bit, si interrompe con segnalazione di errore,- in nessun caso lo standard RAID5 effettua il checksum dei dati...

8 http://www.availabilitydigest.com/public_articles/0510/virginia.pdf , https://www.computable.nl/artikel/achtergrond/infrastructuur/4389649/2379248/raadsels-rond-computerstoring-groningen.html

9 http://www.zdnet.com/article/why-raid-5-stops-working-in-2009/ 10 http://www.cs.cmu.edu/~garth/RAIDpaper/Patterson88.pdf

U.O.A. Servizio Informatico Via Trento, 4 - 36071 Arzignano (VI)Resp. del Procedimento: dott. Giorgio Roncolato Tel: 0444/479663 Fax: 0444/479654 Resp. Istruttoria: Alessandro Fascina e-mail: [email protected] 1.0 del 5 febbraio 2016 C.F.e P.I. 00913220240

Page 2: RAID: da “Redundant Array of Inexpensive Disks” a ......RAID: da “Redundant Array ofInexpensive Disks” a “Redundant Array of Independent (expensive?) Disks”. Chi si occupa

Il motivo per cui i sistemi RAID5/6 non effettuano verifiche di integrità (alcuni si basano suquery S.M.A.R.T per verificare lo stato dei dischi!) ad ogni lettura è opinabile in termini diintegrità dei dati enterprise (ma ben argomentato in questo post11 e parzialmenteconfermato da questo paper12 ) mentre il fatto che il rebuild si interrompa in caso di errore,per quanto impressionante, deriva dal fatto che un array RAID (hardware o software senon integrato nel filesystem) è ad un livello inferiore e disgiunto dal filesystem dell' Os equindi non ha nessun mapping/conoscenza di come siano strutturati i dati.E' interessante osservare che il vero scopo di sistemi RAID6/Double Parity non sia quellodi ricostruire un array in caso di rottura contemporanea di due dischi (evento che in sériconduce alle stesse criticità di un Raid5), ma di tollerare la ricostruzione di un disco ela perdita di un bit!Abbiamo stabilito che lo standard Raid5, originariamente progettato per ottenereperformance con un “accettabile” livello di affidabilità, non effettua mai il checksum deidati in lettura e scrittura, delegando tale attività ai controlli ECC integrati nell'elettronica deidischi o del controller. Oggi sul mercato sono già disponibili dischi magnetici SATAconsumer da 8TB13 (al costo di 200€) con frequenze dichiarate dai produttori diunrecoverable error rate di un bit ogni 1014: Lo scenario che andremo a descriveresarà quello di un RAID5 con array didischi ad altissima capacità e URE dicategoria consumer 1x1014 .Prima di proseguire è necessarioricordare che l'indicazione di un URE con frequenza di 1x1014 non significa che si abbia lacertezza che l'evento accada e vale l'occasione per ricordare alcuni elementi del calcolodelle probabilità.La distribuzione binomiale di probabilità è una distribuzione discreta che descrive ilnumero di successi in un processo di Bernoulli.Un tipico processo di Bernoulli è il lancio di una moneta dove il risultato può essere testa ocroce oppure la lettura di un bit da un hard disk che può avere valore 0 o 114, con lacaratteristica che:- p è la probabilità che un evento abbia successo- q è la probabilità che un evento non abbia successo- p = 1 -q

La distribuzione binomiale consente di valutare le probabilità che una modalità di unevento con probabilità individuabile a priori (p) si verifichi un determinato numero di volte(k) entro un numero totale (n) di eventi.

Ad esempio se lancio tre volte15 un dado il numero massimo di combinazioni semplici conripetizioni16 è 56 (n=6, k=3):

11 http://serverfault.com/questions/100301/how-does-raid-detect-a-faulty-hd 12 http://pages.cs.wisc.edu/~bpkroth/cs736/md-checksums/md-checksums-paper.pdf 13 http://www.seagate.com/files/www-content/product-content/hdd-fam/seagate-archive-hdd/en-us/docs/archive-hdd-

dS1834-3-1411us.pdf 14 https://mycourses.aalto.fi/pluginfile.php/42813/course/section/45281/Solution7.pdf 15 http://www.irccsdebellis.it/html/dipuninf/statistica/cap6.pdf 16 https://it.wikipedia.org/wiki/Coefficiente_binomiale

U.O.A. Servizio Informatico Via Trento, 4 - 36071 Arzignano (VI)Resp. del Procedimento: dott. Giorgio Roncolato Tel: 0444/479663 Fax: 0444/479654 Resp. Istruttoria: Alessandro Fascina e-mail: [email protected] 1.0 del 5 febbraio 2016 C.F.e P.I. 00913220240

Page 3: RAID: da “Redundant Array of Inexpensive Disks” a ......RAID: da “Redundant Array ofInexpensive Disks” a “Redundant Array of Independent (expensive?) Disks”. Chi si occupa

Ad ogni lancio la probabilità che esca un certo valore (ad esempio 6) è 1/6, ma qual è laprobabilità che esca 6 almeno una volta dopo tre lanci?

La formula generale B(n,p) ci dice che la somma di tutte le probabilità è uguale a 1:Tra tutte le otto (23) possibili combinazioni dei tre lanci (n=3) vogliamo calcolare quelladove la probabilità che un evento p pari a 1/6 non si verifichi mai ossia k=0, la formulaP(n,k,p) diventa il caso specifico P(3,0,p)

sapendo che il coefficiente si esprime come (nk)= n!k!(n−k )!

p=1/6q= 1-pn (numero di lanci) = 3k (casi di successo) = 0

[ 3!0!⋅(3−0)! ]⋅( 16 )

0

⋅(1−16 )(3−0)

=1⋅1⋅(1− 16 )(3−0)

=(1− 16 )3

=0,579

ossia che nel 57.9% dei casi su tre lanci l'evento p non uscirà mai. A questo puntosapendo che p=1-q possiamo dedurre che tutti i casi rimanenti in cui l'evento p escaalmeno una volta ha una probabilità del 1-0,579= 42,1%.

Dalla letteratura17 sappiamo che durante il rebuild di un array da 100GB in raid5 di dischicon ure 1x10^14 l'eventualità di incorrere in un errore di lettura di bit è assimilabile ad unprocesso di Bernoulli (0,1) possiamo utilizzare la distribuzione binomiale per calcolare laprobabilità di leggere con successo tutti i dati:

p (probabilità di leggere 1 bit errato) = 1/10^14q (probabilità di non leggere 1 bit errato) = 1-p = 1-1/10^14n (numero di letture di bit indipendenti) = 100GB = 8*10^11 bitk (casi di successo) = 0

(8∗1011

0 )[ p0][q(8∗1011−0 )]=1∗1∗[1− 11014 ]

8∗1011

=0,992

che significa che la probabilità di incorrere in almeno un unrecoverable error è dello 0,8%. Il numero di errori attesi si ricava dalla formula

ossia (8*10^11)*(1/(10^14))= 0,008.

17 https://web.eecs.umich.edu/~pmchen/papers/chen94_1.pdf

U.O.A. Servizio Informatico Via Trento, 4 - 36071 Arzignano (VI)Resp. del Procedimento: dott. Giorgio Roncolato Tel: 0444/479663 Fax: 0444/479654 Resp. Istruttoria: Alessandro Fascina e-mail: [email protected] 1.0 del 5 febbraio 2016 C.F.e P.I. 00913220240

Page 4: RAID: da “Redundant Array of Inexpensive Disks” a ......RAID: da “Redundant Array ofInexpensive Disks” a “Redundant Array of Independent (expensive?) Disks”. Chi si occupa

Vediamo ora uno scenario di 6 dischi da 6TB SATA consumer in RAID5 nell'ipotesi direbuild causato dalla rottura di un disco, il processo di lettura dovrà ricostruire i dati viaXOR dai 5 dischi rimanenti:

p (probabilità di leggere 1 bit errato) = 1/10^14q (probabilità di non leggere 1 bit errato) = 1-p = 1-1/10^14n (numero di letture di bit indipendenti) = 5*6TB=30TB = 2,4*10^14 bitk (casi di successo) = 0

C( 2,4*10^14;0)*p^0*q^ 2,4*10^14 = 1*1*(1-1/(10^14))^(2,4*10^14) = 0,090

che significa che la probabilità di incorrere in almeno un unrecoverable error è dello91%!. Il numero di errori attesi si ricava dalla formula: (2,4*10^14)*(1/(10^14)= 2,4 .

Il grafico successivo indica la probabilità di un errore in array di dischi SATA con ure1x1014:

Sono dati che fanno riflettere e che fanno capire come mai ad un certo punto la i diInexpensive sia diventata Indipendent, infatti ora sappiamo che l'unica vera differenza traun disco consumer ed uno enterprise è l' URE, ad esempio con un disco da 10TB“consumer enterprise” HGST HelioSeal18 con URE 1x1015 la probabilità che l' array inrebuild ottenga l'errore scende:1-((1-(1/10^15))^(2,4*10^14))19 = 0,21 , ma il 21% di probabilità di ottenere un blocco nellaricostruzione del raid è ancora un valore inaccettabile. Una possibile soluzione potrebbe essere quella di usare unità con URE 1x1016 :1-((1-1/(10^16))^(2,4*10^14)) = 0,02, ma un tale livello di qualità è presente solo nei dischimagnetici SAS20 (o SSD enterprise) che però vengono venduti a 3.000€ l'uno e concapacità massima di 900GB.

18 https://www.hgst.com/products/hard-drives/ultrastar-archive-ha10 19 La formula equivalente 1-(((10^15-1)/10^15)^(2,4*10^14)) 20 http://www.enterprisestorageforum.com/storage-technology/sas-vs.-sata-1.html

U.O.A. Servizio Informatico Via Trento, 4 - 36071 Arzignano (VI)Resp. del Procedimento: dott. Giorgio Roncolato Tel: 0444/479663 Fax: 0444/479654 Resp. Istruttoria: Alessandro Fascina e-mail: [email protected] 1.0 del 5 febbraio 2016 C.F.e P.I. 00913220240

Page 5: RAID: da “Redundant Array of Inexpensive Disks” a ......RAID: da “Redundant Array ofInexpensive Disks” a “Redundant Array of Independent (expensive?) Disks”. Chi si occupa

I valori di soglia critici in relazione ai parametri ure sono i seguenti:URE 1x1014 12,5 TB.URE 1x1015 125 TB.URE 1x1016 1,25 PB.

La possibilità di un bit URE durante il re-silver di un array RAID5 non è l'unico problema,esiste infatti un elevata correlazione di un secondo fault successivo alla rottura di un discoe quindi è estremamente importante non solo che l'unità difettosa sia sostituitaimmediatamente tramite dischi di spare, ma che il processo di ricostruzione sia minore di10 ore21: “For example, the probability of seeing two drives in the cluster fail within one hour isfour times larger under the real data, compared to the exponential distribution. Theprobability of seeing two drives in the cluster fail within the same 10 hours is twotimes larger under the real data, compared to the exponential distribution. “

Ipotizzando di leggere un intero disco da 10TB ad una velocità ottimistica di 100MB/s(durante un rebuild RAID5 è operativo e quindi esegue le attività di lettura ad una velocitàdel 60-80% del massimo possibile) abbiamo 10TB/100MB/s= 27 ore.

Non è un caso quindi che i produttori di sistemi storage enterprise offranoprevalentemente dischi SAS con URE 1x1016 e di capacità ridotta, molto al di sotto dellamassima capacità disponibile sul mercato, con conseguente esplosione dei costi diacquisto, supporto e manutenzione. Ed è probabilmente per gli stessi motivi che la I diRAID si è trasformata da Inexpensive in Indipendent... Per completare il quadro d'insieme ricordiamo che la letteratura scientifica, sulla base dimisurazioni empiriche, ha ridiscusso la definizione di parametri o concetti noti(MTBF,MTTL,latent sector error, silend data corruption, ecc., ecc), ma anche formule ealgoritmi di analisi e previsione dei guasti22 .

21 https://www.usenix.org/legacy/events/fast07/tech/schroeder/schroeder_html/index.html 22 http://www.cs.cmu.edu/~bianca/fast08.pdf

U.O.A. Servizio Informatico Via Trento, 4 - 36071 Arzignano (VI)Resp. del Procedimento: dott. Giorgio Roncolato Tel: 0444/479663 Fax: 0444/479654 Resp. Istruttoria: Alessandro Fascina e-mail: [email protected] 1.0 del 5 febbraio 2016 C.F.e P.I. 00913220240

Illustrazione 6: Distribution of time between disk replacements across all nodes in HPC1 for only year 3 of operation.

Page 6: RAID: da “Redundant Array of Inexpensive Disks” a ......RAID: da “Redundant Array ofInexpensive Disks” a “Redundant Array of Independent (expensive?) Disks”. Chi si occupa

Nel 2006 Netapp pubblica un articolo “NETAPP RAID-DP™: DUAL-PARITY RAID 6PROTECTION WITHOUT COMPROMISE “ che annuncia che con il proprio RAID-DoubleParity il rischio di perdita di dati in caso di rebuild di un array è 3800 volte piùbasso di un RAID5 (la versione del 2006 WP-7005-1006 è reperibile in altri siti). Nel 2009 Adam Leventhal23, sulla base dei trend di crescita della capacità dello storage,prevede che nel 2019 anche RAID6 non potrà più essere affidabile e suggerisce di iniziarea considerare la strada del RAID Triple Parity. Nel 2013 Netapp, con rara e ammirabileonestà intellettuale, pubblica un documento24 che prende atto dei progressi tecnologici edelle analisi scientifiche e propone una nuova formulazione del calcolo dell'affidabilità deglistorage RAID6 che ricalcola il minor rischio dai 3800x del 2006 ad un valore attorno a300x25 nei confronti di RAID5 (ma anche RAID1+0) e mettendo a disposizione uncalcolatore26. Compariamo quest'ultimo documento27 Netapp con uno Dell28 del 2002 chesostiene che “Mirroring (RAID10 ndr) provides the most reliable RAID system” (tesitutt'ora sostenuta da alcuni produttori):

Poiché sappiamo che la complessità degli argomenti trattati coinvolge anche la scelta deimetodi matematici di analisi è evidente la necessità che i modelli/algoritmi utilizzati dachiunque per calcolare l'affidabilità dei sistemi storage siano resi pubblici o,auspicabilmente, ricollocati nell'ambito del sempre attuale metodo scientifico in modo dafacilitare la discussione e la verifica dalla più amplia platea possibile di soggetti. In casocontrario ogni affermazione è riconducibile a semplice opinione se non ad un meromessaggio pubblicitario.

23 http://queue.acm.org/detail.cfm?id=1670144 24 https://www.usenix.org/system/files/fastpw13-final25.pdf 25 http://www.netapp.com/us/media/wp-7005.pdf 26 http://raideqn.netapp.com/ 27 http://www.netapp.com/us/media/wp-7005.pdf 28 http://www.dell.com/content/topics/global.aspx/power/en/ps1q02_long?c=us&l=en&cs=04

U.O.A. Servizio Informatico Via Trento, 4 - 36071 Arzignano (VI)Resp. del Procedimento: dott. Giorgio Roncolato Tel: 0444/479663 Fax: 0444/479654 Resp. Istruttoria: Alessandro Fascina e-mail: [email protected] 1.0 del 5 febbraio 2016 C.F.e P.I. 00913220240