In un mondo che guarda sempre più ai servizi cloud, l’esigenza di evitare perdite di dati in ambito locale è ancora molto sentita. Nel nostro precedente articolo Testare un hard disk: controllare lo stato di salute e se è danneggiato abbiamo visto quanto siano eventualità poco remote le rotture dei dischi fissi, sia di tipo tradizionale (i classici hard disk magnetomeccanici), sia delle unità SSD di più recente fattura.
È infatti verissimo che le unità SSD (non si usa il termine “dischi” in forza dell’assenza di tutte le componenti – motori, piatti, testine – proprie di un hard disk tradizionale) sono maggiormente resistenti agli urti e producono molto meno calore ma di solito hanno una vita inferiore dovuta al limite di riscritture proprio di tutte le memorie flash (anche se è vero che molti produttori, grazie all’adozione di speciali tecnologie costruttive stanno iniziando a dichiarare una durata delle unità superiore a quella dei dischi magnetomeccanici).
Per maggiori informazioni, suggeriamo di fare riferimento all’articolo Consigli per l’uso dei dischi SSD.
Per evitare di perdere i dati in seguito alla rottura del disco fisso il migliore consiglio è sempre quello di effettuare backup periodici.
È possibile utilizzare le risorse condivise in rete locale (memorizzazione dei dati su altri sistemi o su macchine server utilizzate a fini di storage), salvare tutti i dati su un server NAS (vedere ad esempio l’articolo Server NAS: condividere file in rete locale ed accedervi da remoto per qualche spunto) oppure attivare la configurazione RAID sul sistema locale.
È detto RAID (acronimo di “Redundant Array of Independent Disks“) un sistema informatico che utilizza un insieme di dischi fissi per condividere o creare una copia speculare dei dati utilizzati quotidianamente. La configurazione RAID viene spesso impiegata sui sistemi aziendali per consentire il recupero delle informazioni nel caso in cui un disco dovesse per qualunque motivo danneggiarsi.
Nella concezione iniziale, RAID mirava a sostituire un unico costoso disco di grande capacità con una serie di dischi di dimensioni molto più ridotte ed a costi notevolmente più contenuti. Alla fine si otteneva un sistema che, complessivamente, si rivelava più affidabile, più performante e più economico rispetto all’adozione di un unico disco super-capiente.
Brevettato da IBM nel 1978, a dieci anni di distanza tre ricercatori californiani (Patterson, Gibson e Katz) stilarono un documento che definiva formalmente i livelli RAID compresi tra 1 e 5 ossia differenti approcci per l’utilizzo delle batterie di dischi ridondanti. Uno dei criteri principali che porta alla scelta di un livello piuttosto che di un altro risiede nel tipo di utilizzo al quale dovrà essere destinato il sistema. Ai cinque livelli illustrati dal trio di ricercatori, se ne aggiungono due: il “6” nato nel 1989 e lo “0” che è privo di ridondanza e che quindi non offre alcuna protezione in caso di malfunzionamenti hardware.
I dischi fissi installati in configurazione RAID devono essere gestiti da parte di una funzionalità, implementata a livello software od hardware, che si occupa appunto di “governare” il cosiddetto “disk array”. Di solito questa attività viene svolta per opera di un apposito controller hardware che poggia a sua volta su un proprio firmware e su software aggiuntivi per la diagnostica ed il monitoraggio.
RAID-0 Si occupa di suddividere i dati, in modo automatico, tra più dischi senza ricopiare alcuna informazione e quindi senza alcun approccio ridondante. È un ottimo modo per aumentare il numero dei dischi su un sistema che deve essere dotato di unità particolarmente capienti. Windows può assegnare un numero massimo di 24 lettere di unità differenti alle unità: il RAID-0 permette di fatto di superare questa limitazione “estendendo” la capacità dei dischi già presenti.
RAID-1 Effettua il “mirroring” dei dati: viene cioè creata una copia speculare dei dati su due o più dischi differenti. In questo modo è possibile fidare su un maggior livello di sicurezza grazie ad un’affidabilità raddoppiata (nel caso di due hard disk) del sistema di memorizzazione dei dati.
RAID-2 Identico al RAID-1 eccezion fatta per l’impiego di un algoritmo per la correzione dell’errore (codice di Hamming). È scarsamente usato vista l’elevata affidabilità dei moderni hard disk.
RAID-3 Dischi a trasferimento parallelo con parità. Ogni singolo blocco di dati è distribuito tra tutti i dischi: ogni operazioni di lettura e scrittura richiede l’accesso a tutti gli hard disk. Un disco, inoltre, è impiegato esclusivamente per conservare le informazioni di parità (dati ridondanti che prevengono errori nella memorizzazione dei dati e consentono di effettuare un controllo sulle informazioni gestite). Di fatto il RAID-3 viene implementato davvero raramente.
RAID-4 In questo caso l’approccio è simile al RAID-3: i dati, tuttavia, vengono suddivisi a livello di blocchi anziché di byte. In questo modo, ogni disco può lavorare in maniera indipendente dagli altri quando viene richiesto un singolo blocco. Un disco è dedicato alle informazioni di parità.
RAID-5 È questa una delle implementazioni più diffuse: essa utilizza una suddivisione dei dati a livello di blocchi e memorizza le informazioni di parità su più dischi.
RAID-6 Sostanzialmente identico al livello 5 eccezion fatta per la distribuzione replicata su più dischi dei dati di parità. Questo livello gode di una maggiore ridondanza rispetto al RAID-5 ma può offrire prestazioni decisamente inferiori in scrittura.
RAID-4 e RAID-5, d’altra parte, offrono già prestazioni velocistiche in scrittura molto più contenute rispetto all’adozione di un unico disco tradizionale.
Nelle implementazioni comprese tra la 2 e la 6, le informazioni vengono conservate in maniera ridondante utilizzando vari approcci che consentono di avere certezza anche circa l’integrità dei dati. In tal modo è possibile ricostruire i dati originali anche nel caso si dovesse subire un guasto su uno o più dischi connessi in modalità RAID.
I livelli RAID possono essere “amalgamati” tra loro con lo scopo di creare dei livelli ibridi. Si possono ad esempio utilizzare (questa è una possibilità offerta dal controller hardware) livelli misti RAID 0+1 o RAID 1+0. La prima soluzione è detta stripe of mirrors: è possibile pensare ad un albero che ha, alla sua radice, i dischi RAID disponibili ed installati sul sistema. Parte di essi possono essere configurati tra loro in RAID-0 in modo tale da estendere la capacità della singola unità. Il RAID 1, più in alto nell’albero, provvederà quindi ad effettuare le operazioni di “mirroring” ossia di copia speculare tra la batteria prima batteria di dischi RAID-0 e la seconda sempre RAID-0.
Nell’approccio RAID 1+0, gli elementi che compongono l’albero sono invertiti. Si parte dal basso, da gruppi di due o più dischi configurati in modalità RAID-1 che effettuano il “mirroring” del proprio contenuto; più in alto, il RAID-0 “unisce” le batterie di dischi RAID-1 in modo da raggiungere la capacità complessiva desiderata.
In caso di situazioni critiche, il RAID 1+0 offre maggiori garanzie poiché tutti gli altri dischi rimanenti continueranno ad essere utilizzabili. Inoltre, il “disk array” può sostenere la perdita dovuta a malfunzionamenti di qualsiasi disco fintanto che nessun “mirror” abbia tutti i suoi dischi corrotti. Diversamente rispetto al RAID 0+1, poi, nel caso in cui si debba sostituire un disco, il RAID 1+0 non implica che tutti i sottosistemi RAID-1 debbano essere aggiornati contestualmente.
Nella maggior parte delle applicazioni professionali, comunque, il RAID 1 è una delle configurazioni più utilizzate perché permette di creare, in modo trasparente, una copia di tutto ciò che viene memorizzato sull’hard disk primario all’interno dell’hard disk secondario. Un approccio che permette di mantenere i dati costantemente aggiornati su entrambe le unità quando si aggiungono, cancellano o rimuovono file.
In questo modo, nel momento in cui un hard disk dovesse danneggiarsi, si potrà fare affidamento sulla copia integrale memorizzato nella seconda unità.
In caso di rottura di uno dei due dischi, si potrà provvedere a sostituirlo provvedendo poi ad un riavvio della macchina. Nella maggior parte dei casi, il controller RAID dovrebbe effettuare il mirroring del contenuto del vecchio disco (quello ancora “sano”) all’interno della nuova unità appena aggiunta.
Non tutti i sistemi in commercio supportano il RAID ma, in genere, tutte le macchine desktop non particolarmente datate offrono questa comoda funzionalità.
Qualora RAID non fosse supportato dalla propria scheda madre (di solito la funzionalità RAID è attivabile da BIOS), si potrà eventualmente valutare l’acquisto di una scheda che funga da controller RAID (qualche esempio).
L’attivazione di una configurazione RAID 1 è piuttosto semplice previa verifica della presenza di un controller RAID. La procedura si concretizza con l’installazione di un secondo hard disk che abbia dimensioni uguali o superiori a quello principale, correntemente in uso.
La configurazione RAID dovrà poi essere manualmente abilitata da BIOS.
Sebbene i due dischi utilizzati nella configurazione RAID non debbano essere identici, il quantitativo massimo di spazio a disposizione sarà comunque limitato dalle dimensioni dell’hard disk meno capiente. Inoltre, la velocità di scrittura dei dati sarà limitata dalle prestazioni del disco fisso più lento.
L’utilizzo del RAID, inoltre, comporterà una caduta, seppur lieve e di solito impercettibile, delle performance dal momento che gli stessi dati dovranno essere scritti su due dischi a sé stanti anziché su uno solo.