UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN SCIENZE DELL’INFORMAZIONE Emanuele Castronuovo DESCRIZIONE ED IMPLEMENTAZIONE DI IDA IN UN DISK ARRAY DISTRIBUITO
Integrare la Codifica IDA in un Disk Array
Rendere un sistema Affidabile e Flessibile significa: 2) Che si adatti alle esigenze dell’utente 1) Un Sistema capace di prevenire la perdita dei dati
disco virtuale Un Disk Array è un sistema in cui si ha un “disco virtuale” la cui dimensione è la somma delle dimensioni dei dischi effettivamente presenti nel sistema. Disk 1Disk 2Disk 3Disk 4 Disco virtuale Memorizzare un file sul d.v.Memorizzare il file sui dischi fisici
Organizzazione logica di un disco virtuale - Clustering - Declustering - Interleaving Bilanciamento manuale Completa sincronia Bilanciamento automatico RAID Raid 0 Raid 1 Raid 5 Base, semplice divisione del file Mirroring, copia dei dati Introduzione di ridondanza mediante parità Recuperare dell’informazione anche se il disco è guasto per migliorare le prestazioni globali del sistema e renderlo tollerante ai guasti
- Come funziona IDA: File F Dato un File F n e m, m n - Sono fissati n e m, m n k n = k + m - Si introduce della ridondanza k tale che n = k + m Macroblocco m – blocchi - Utilizzare IDA è conveniente perché: fault-tolerance Offre un grado di fault-tolerance selezionabile è diviso in pezzi della stessa dimensione
1) Fase di Dispersione n – pezzi - Divisione del file in n – pezzi n – pezzi - Trasmissione degli n – pezzi ottenuti 2) Fase di Ricostruzione m - pezzi - scelta “random” di m - pezzi - ricostruzione del file iniziale L’informazione è codificata mediante la matrice A(n,m) di vettori l.i. - computazione della matrice T, inversa di A, per decodificare i pacchetti
- I vantaggi offerti dall’uso dei Disk Array - I vantaggi offerti dalla tecnologia IDA Considerando: Considerando: Applicare la tecnologia IDA ai Disk Array Un sistema che offre: - Buon livello di fault-tolerance - Flessibilità
idaconf- idasplit- idarestore- Inizializzazione ( utente root ) - lib Operazione di Dispersione Operazione di Ricostruzione libida.a Libreria Ansi C Scritte in Ansi C per meglio adattarsi al Sistema Operativo idad-Demone Contenuto del Pacchetto Software:
Del DISK ARRAY m2 m3 m4 m5m6 m1 unità centrale idaconf Eseguita da idaconf trasmette i file: - matrice.ida (n, m, cluster) ( matrice A(n,m)) - ida.set idanode - idanode - nome - dim - machine
m2 m3 m4 m5 m6 - Spediamo a tutte le unità un pacchetto con: 1)nome del file 2)dimensione 3)tipo operazione m1 unità centrale idasplit Eseguita da: idasplit
filename m3 IPA m1 m2 m6 m5 m4 A(n,m) * I(m,512) = da ripetere il procedimento per tutti i macroblocchi
m2 m3 m4 m5 m6 m1 unità centrale Trasmettiamo un pacchetto di “terminato” e m - unità Se rispondono più di m - unità commit si è realizzata la fase di commit L’operazione di Split si considera conclusa con successo
m6 m5 m3 m2 m4 machine machine: filename1 filename3 filename5 filename4 * matrice T inversa di A blocco 512 byte macroblocco m1m1 Idanode nome: nome: filename dim: dim: machine: machine: per tutti i blocchi
m1 m4 m3 m5 idanode 1) Aggiornare idanode sull’unità centrale 2) m5 spedisce un pacchetto “terminato” alle unità coinvolte nell’operazione Restore L’operazione di Restore si considera terminata con Successo
Con il lavoro svolto in questa tesi si è realizzata l’integrazione della Codifica IDA in un Disk Array Disk Array garantendo all’utente: - Flessibilità - Il sistema non è penalizzato con sovraccarichi di lavoro - L’esecuzione delle applicazioni risulta semplice ed immediata - Integrità Prevedendo il caso di guasti multipli Adattando il sistema alle esigenze dell’utente