Nell’informatica ci sono ambiti in cui preservare i dati è la priorità numero uno. I dati, infatti, sono le informazioni sulle quali praticamente tutte le imprese, grandi o piccole, basano il proprio business e, pertanto, non possono assolutamente rischiare di perderli. Basti pensare alle banche, ai ministeri, agli istituti di sicurezza e in generale a tutto l’universo di piccole, medie e grandi aziende nel mondo, che sfruttano la tecnologia digitale per competere sul mercato.

Per conservare i dati sono necessarie delle memorie. Ce ne sono di varie tipologie e tecnologie, le quali variano per costi, velocità e complessità costruttiva.

I nostri computer desktop o laptop che utilizziamo ogni giorno per lavoro, studio o svago hanno solitamente un hard disk (memoria di massa) su cui risiedono il sistema operativo, i software e tutti i nostri dati. In questi casi avere un solo dispositivo di massa è la norma, poiché è un ottimo compromesso costi/benefici.

In quali situazioni un unico hard disk non va più bene?

Prendiamo come esempio una banca. Riesci a immaginare la quantità di dati necessari e la loro importanza? Abbiamo gli utenti, i conti correnti, le carte di credito, le transazioni monetarie, gli assegni, i bancomat, le filiali, ecc. Sono tantissime informazioni e per loro natura anche dinamiche (cambiano in continuazione) ed estremamente vitali. Il sistema informatico della banca deve ricorrere a una protezione dei dati assolutamente alta. Ricorrere a un singolo hard disk, come nei nostri pc personali, per memorizzare tutti questi dati, sarebbe la ricetta per un vero disastro, poiché i dischi spesso si usurano e si rompono, col rischio poi di non poter più recuperare il loro contenuto. I dischi meccanici sono tutt'altro che robusti, infatti sono perennemente accesi e in movimento, senza interruzioni per anni e anni, per cui è normale che vengano molto stressati e nonostante siano costruttivamente robusti, è relativamente facile che si rompano o si usurino.


La tecnologia RAID

Una modalità molto usata per contenere i rischi visti in precedenza è adottare una configurazione RAID. Questo è l’acronimo di Redundant Array of Independent Disks. Nonostante il nome possa far pensare a qualche complicata tecnica, in realtà il concetto base è molto semplice. Aggiungo al mio sistema informatico altri dischi, che uso per replicare i dati. In sostanza il singolo dato (o se vogliamo, il file), lo memorizzo, ad esempio, due volte, su due dischi separati e indipendenti. L’utente finale non è a conoscenza di questo dettaglio, per lui un file è sempre un file e non gli interessa sapere quante volte è replicato e dove. Il sistema che si occupa della scrittura e lettura sul RAID è il RAID controller. Questo è lo schema:


Le scritture di un file avvengono in contemporanea su tutti i dischi che compongono il RAID, pertanto il contenuto dei dischi è identico su tutti. Se un disco dovesse rompersi, il sistema continuerebbe ad usare il disco rimasto senza alcun problema.

Ovviamente in tal caso, però, non saremmo più coperti da un secondo guasto. Per cui quando un disco va fuori uso, bisogna sostituirlo rapidamente con uno nuovo, così da ripristinare la robustezza dell’infrastruttura. Pertanto il numero di guasti che posso sostenere senza interruzione del servizio è uguale a n-1, dove n è il numero di dischi. Cioè ad esempio se ho un RAID fatto da 3 dischi, se ne possono rompere fino a 2 per poter continuare a lavorare, senza perdere informazioni.

Facciamo qualche ulteriore considerazione. Avere una copia dei dati che mi fa dormire più al sicuro, ovviamente non è gratis. Infatti, maggiore è la tolleranza ai guasti che desisdero, tanti più dischi devo ‘sprecare’. Pertanto ho costi sicuramente più alti.

In termini di tempo di acceso ai dati, ho comunque un rallentamento. Anche se i dischi scrivono indipendentemente e in contemporanea, c’è sempre il RAID controller che si interpone e quindi un certo rallentamento lo devo tenere in conto.

Altri tipi di RAID

Ci sono diversi tipi di RAID, ma il concetto di base rimane lo stesso: preservare i dati da una possibile inaccessibilità dei dischi.

Quello che abbiamo appena visto è conosciuto come RAID 1 ed è la configurazione più semplice. Ce ne sono molti altri che offrono un rapporto costi/benefici diversi a seconda delle esigenze.

Vediamone un altro a titolo di esempio: il RAID 4.

In questo caso il numero minimo di dischi è 3, più un quarto che viene usato come controllo della correttezza dei dati (si usa il bit di parità). La scrittura di un file avviene secondo il seguente algoritmo:

  • Il RAID controller spezzetta il file in n.3 blocchi uguali
  • Ne calcola la parte di controllo
  • Il RAID controller impartisce la scrittura dei n.3 blocchi e della parte di controllo sui 4 dischi

Facciamo anche qui qualche considerazione. Nel RAID 4, come puoi vedere dalla figura, viene 'sprecato' un intero disco solo per contenere delle informazioni (la parte di controllo) che non fanno parte dei miei dati. Infatti il quarto disco ha il compito di prevenire eventuali errori in lettura/scrittura. Inoltre, con questa configurazione posso permettermi di perdere un qualsiasi disco dati o di controllo, perché il RAID controller riuscirebbe comunque a sopperire a tale mancanza. Non posso, però, perderne due o più. Il blocco di controllo viene calcolato dinamicamente ad ogni scrittura a partire dai 3 blocchi che contengono i dati utili. Pertanto ad ogni scrittura il RAID controller deve anche calcolare la parte di controllo destinata al quarto disco. Anche se questa operazione è molto veloce, contribuisce a far lievitare i tempi d'accesso.


Quando dobbiamo usare un RAID

Ricapitolando, ci sono diversi tipi di RAID, alcuni piuttosto articolati perché composti da più livelli, ma la finalità rimane sempre quella di preservare i dati da possibili catastrofi.

In qualsiasi ambito in cui devono essere memorizzate e usate informazioni digitali funzionali a un business, un sistema ridondato di dischi è una scelta imprescindibile. Non dimentichiamo, però, che un RAID introduce anche dei costi in termini di tempi di accesso maggiori, dischi aggiuntivi (quindi anche consumi elettrici) e maggiore complessità generale per la gestione del sistema.


Se ti interessano questi argomenti e ti piace il linguaggio con cui vengono esposti,

ho creato per te un video corso di informatica adatto ai principianti.

Vai alla pagina del corso!