I peggiori guasti o errori sono quelli che passano inosservati e non sono rilevati dall’utente o dal sistema. Nei casi più gravi l’errore si salva nei backup e quando il sistema si ferma è troppo tardi per correggere l’incongruenza.
Questo tipo di corruzione può dipendere da molteplici cause oltre al sistema di archiviazione del disco che può essere in via di danneggiamento:
- Un cavo di collegamento leggermente allentato;
- Il cavo di alimentazione inaffidabile;
- Vibrazioni esterne (anche in presenza di potenti fonti sonore);
- Sbalzi di tensione o di rete;
- Radiazioni cosmiche;
E molte altre cause di errori. Si pensi che in uno studio effettuato dal CERN su circa 40.000 storage solo il 10% degli errori era dovuto a bug del firmware, il resto era dovuto ad altre cause tra cui quelle citate sopra.
Di recente si è dimostrato che il SILENT RAID CORRUPTION di grandi set di dati è una fatalità molto più diffusa di quanto si creda e più di quanto succedesse in passato. Come mai?
Il problema principale deriva dal fatto che la capacità dei dischi rigidi è andata aumentando in maniera considerevole negli ultimi anni, ma il tasso di corruzione dei dati è rimasto pressoché invariato nel tempo, questo significa che in tal senso i dischi attuali non sono migliori dei vecchi dischi. Inoltre su un disco di piccole dimensioni la probabilità di errore è abbastanza bassa mentre sale con l’aumentare della capacità se al contempo non è aumentata la qualità del supporto.
Per chi ha a che fare con una piccola mole di dati il problema non è così preoccupante, ma per chi deve gestire database su larga scala, cloud server e sistemi di data center molto grandi può essere un vero disastro. Alcune società di questo tipo hanno dichiarato che nei loro sistemi la corruzione silenziosa dei dati avviene in media ogni 15 minuti.
In genere poi gli errori causati dal silent data corruption possono essere causa di problemi a cascata su altri file, il sistema quindi continua a funzionare per un po’ di tempo finchè le incongruenze non diventano tali da mandare in crash lo storage.
Soluzioni?
Il data scrubbing
Il Data Scrubbing è una tecnica di correzione degli errori che permette al controller RAID di leggere periodicamente tutti gli hard disk in array e controllare i blocchi difettosi prima che un’applicazione vi acceda. Questo riduce notevolmente le probabilità di Silent data corruption e l’eventuale perdita di dati. Questo metodo è stato implementato efficaciemente negli ambienti RAID Dell PowerEdge e in Linux MD Raid.
Un altro sistema che utilizza a questo scopo il data scrubbing è lo ZFS, una combinazione di file system ed LVM (Logical Volume Manager) che agisce in modo efficacie contro la corruzione dei dati, effettua continuamente il controllo di integrità e la riparazione automatica dei dati. La sua progettazione e sviluppo è stata portata avanti da SUN Microsystems proprio in risposta ai problemi di integrità dati, firmware bug e scritture fantasma.
Advanced Format 4KB
Di cosa si tratta? Una piccola premessa è doverosa in questo caso: negli anni per quanto riguarda gli hard disk è aumentata notevolmente la capacità di memorizzazione e la velocità di lettura/scrittura, ma è rimasto sostanzialmente invariata la dimensione del blocco logico (conosciuto come settore), pari a 512 byte. A partire dagli anni 2009 e 2010 le società produttrici però stanno transitando verso una dimensione più efficiente, ovvero con settori da 4096 byte, chiamato comunemente 4KB o Advanced Format.
Ma quali reali vantaggi porta l’introduzione di questo nuovo formato?
Beh, il miglioramento in termini di capacità del disco è evidente anche dalla figura: in dischi formattati con settori a 512byte lo spazio “sprecato” per l’ECC (Error Correction Code), per la spaziatura tra un settore e l’altro e per la sincronizzazione è maggiore rispetto a dischi con settore 4KB; si passa infatti da un efficienza in termini di spazio dall’88% (512byte) a 97% (4KB).
E per quanto riguarda la correzione degli errori che stiamo esaminando in questo articolo?
Anche qui il miglioramento è importante, infatti il settore ECC dei supporti in 4KB è stato raddoppiato, passando da 50byte a 100byte; questo permette a lungo termine di avere una gestione della correzione degli errori e del silent data corruption più efficiente e fanno del formato 4KB un ottimo investimento per il futuro.