webstat GSMWORLD.it

Introduzione alle reti di calcolatori

Fault-Tolerance

 


Per le workstation adibite a file server di rete (cioè i cui hard-disk sono condivisi dalle altre stazioni collegate ad essa) la rottura di un disco fisso provoca, anche in caso di un backup preventivo dei dati, una sospensione temporanea del servizio di tutta la rete in attesa della sostituzione della parte danneggiata. Da qui si è sviluppata l'idea dei sistemi Fault-tolerance, cioè sistemi che, disponendo di parti hardware ridondanti, riescono a garantire il corretto funzionamento della rete anche in presenza di un certo numero di guasti meccanici. Ad esempio un server che dispone di due alimentatori può continuare a funzionare anche se uno di questi si guasta.

Di seguito vengono presentate alcune soluzioni per aumentare la Fault-tolerance e l'affidabilità di un server specificatamente per il sottosistemi degli hard-disk.

 

Mirroring dei dischi

E' evidente quindi la necessità di salvaguardare i propri dati sia dai problemi hardware che possono affliggere un hard-disk, sia da una cancellazione volontaria o involontaria da parte dell'utente.

Si tiene a precisare che il disco fisso è l'unità componente un computer più importante e preziosa: esso infatti contiene tutti i dati. Mentre la rottura della cpu o di una qualunque scheda necessità soltanto della sua sostituzione con una nuova e funzionante, la rottura di un hard-disk provoca la perdita di tutte le informazioni in esso contenute, sempreché non si sia fatto un backup preventivo.

Un metodo di archiviazione semplice e abbastanza economico per le reti di medie dimensioni è il mirroring o specularizzazione dei dischi. Un sottosistema di dischi "specularizzati" si ottiene semplicemente collegando due drive allo stesso controller. Tutti i dati scritti sul primo disco vengono copiati direttamente sul secondo, con una operazione di backup in tempo reale. Se un disco si guasta, il secondo contiene un'esatta replica delle informazioni, per cui nulla va perduto. Il mirroring è relativamente poco costoso e può essere implementato via software.

 

Duplexing dei controller

Il mirroring ha i suoi limiti. In un array di dischi specularizzati, il controller che lo gestisce diventa l'anello più debole della catena; se il controller si guasta, crolla l'intero array. Un modo per risolvere questo problema è attraverso il duplexing.

Un array di dischi "duplexati" utilizza due o più controller. Ogni adattatore controlla uno o più drive, per cui l'array non smette di funzionare se uno dei controller si guasta. Ad esempio è possibile configurare un array in duplex con due controller, collegando due dischi a ciascun controller. Se il primo disco dei primo array è specularizzato sul primo disco del secondo array, il backup è garantito anche in caso di guasto del primo controller. Mirroring e duplexing possono essere costosi per chi ha la necessità di archiviare grandi volumi di dati. Dovendo raddoppiare tutte le informazioni conservate sul disco, la memoria di massa viene a costare esattamente il doppio dello spazio effettivamente utilizzato.

 

Duplicazione del server

Una terza possibilità consiste nella duplicazione dell'intero server: così facendo un guasto a uno qualsiasi dei componenti di un server (cpu, alimentatore o scheda madre) consente all'utenza di continuare a lavorare sul server gemello. Ovviamente il rovescio della medaglia consiste nell'investimento da sostenere, che è esattamente il doppio poiché le due macchine devono essere identiche.

 

Tecnologia RAID (Redundant Array of Inexpensive Disk)

Queste tre modalità hanno un livello di sicurezza crescente, ma tutte hanno il problema di avere un fattore di ridondanza di 2 a 1, cioè per mettere a disposizione dell'utenza un Gbyte di disco occorre installarne due da un Gbyte. Per reti di dimensioni più estese possono essere adatti altri approcci alla ridondanza delle informazioni: ci si riferisce a un set di dischi configurati secondo la tecnologia RAID (Redundant Array of Inexpensive Disk). Quest'ultima può essere implementata in diversi modi differenti, detti livelli.

Il livello 1 corrisponde al mirroring appena descritto.

Il livello 3 si basa su un insieme di n dischi di cui n-1 disponibili come spazio di memorizzazione utente e l'ultimo utilizzato come disco di parità: i dati sono distribuiti allora, byte per byte, su tutti i drive, scrivendo i dati di parità sul disco dedicato. L'hardware e il software che governano quest'architettura sono in grado di continuare a lavorare anche in caso di un guasto a un disco dell'insieme sfruttano le informazioni residue che, grazie alla parità, permettono di ricostruire per intero ciascun byte. Al momento della sostituzione dell'unità guasta con una funzionante sarà possibile ripristinare la parità utilizzando le informazioni contenute sui dischi superstiti. Per il ripristino delle informazioni sul disco sostituito basterà riapplicare l'algoritmo di parità (normalmente un "or esclusivo" detta anche parità dispari) indifferentemente ai dati e/o al byte di parità superstiti per ottenere il byte da scrivere.

In un RAID di livello 5, i dati sono distribuiti, un settore alla volta, su tutti i drive dell'array, con i dati di parità inframmezzati in modo da evitare l'uso di un disco separato (la parità viene disseminata usando un algoritmo, detto, di stripping).

I sistemi RAID 3 e RAID 5 richiedono soltanto l'acquisto di un 20% di spazio aggiuntivo oltre a quello realmente necessario per l'archiviazione, usato appunto per mantenere le informazione sulla parità (1 byte ogni 8).

Molti sottosistemi RAID supportano il cosiddetto hot-swapping (la sostituzione "a caldo" di un disco danneggiato senza dover disattivare il server), o di hot-sparring (tenere un disco di ricambio on-line, pronto a subentrare se un disco si guasta). Questo significa che in caso di avaria di un drive, il sistema continua a funzionare mentre il sottosistema dischi ricostruisce i dati perduti in background. La Fault-tolerance, tuttavia, non verrà ristabilita fino a che i dati ridondanti non siano stati ricostruiti e il disco guasto non sia stato rimpiazzato. Lo svantaggio di queste soluzioni è il costo.

 

Backup dei dati

Le soluzioni fin qui descritte possono salvaguardare da guasti hardware, ma non possono assolutamente nulla nei confronti di una cancellazione volontaria o involontaria da parte dell'utente. Per fronteggiare quest'ultima eventualità l'unica soluzione è il salvataggio dei dati su supporto magnetico differente dal disco rigido di linea. Esistono differenti tipi di unità di memorizzazione alternativi: i nastri (le unità attualmente più diffuse sono i DAT, Digital Audio Tape, a scansione elicoidale oppure i QIC, Quarter inch cartridge, con scansione a tracce parallele), i dischi magneto-ottici, i dischi WORM (Write Once, Read Many) e i CD-ROM.

Tutti i software di backup implementano diverse politiche di salvataggio, che si possono raggruppare in tre famiglie differenti: full backup (salvataggio di tutti i file selezionati senza effettuare ulteriori controlli), incremental backup (salvataggio dei soli file selezionati che sono stati modificati dall'ultimo salvataggio sia completo che incrementale) e differential backup (salvataggio dei soli file selezionati che sono stati modificati dall'ultimo salvataggio completo).