Cluster su sistemi Linux per un servizio di condivisione NFS

Laurea liv.I

Facoltà: Ingegneria

Autore: Andrea Battistelli Contatta »

Composta da 103 pagine.

 

Questa tesi ha raggiunto 615 click dal 18/06/2013.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.

 

 

Il presente documento descrive la realizzazione di un cluster di sistemi Linux per l’erogazione di un servizio NFS attraverso l’uso di una tecnologia sviluppata da Red Hat. Tutto questo è stato implementato in ambito virtuale, utilizzando come hypervisor KVM.
Lo sviluppo di questo progetto è avvenuto durante un periodo di stage, della durata di quattro mesi, svolto nella sede centrale del Consiglio Nazionale delle Ricerche. Lo svolgimento di codesto stage è stato necessario per il conseguimento della laurea triennale in Ingegneria Informatica presso l’università di Roma ‘La Sapienza’. L’obiettivo dello stage è stato l’acquisizione di esperienza nella progettazione e realizzazione d’infrastrutture complesse di elaborazione in ambito gestionale. Il suo svolgimento ha previsto una fase iniziale di apprendimento delle tecnologie da utilizzare (Linux, KVM, Clustering, NFS) cui è seguita successivamente analisi, progettazione, implementazione e testing del sistema.
Lo sviluppo di questo progetto ha riguardato, prima di tutto, lo studio dei sistemi Linux così da ottenere una maggiore familiarità con essi. Si è studiato in particolare il funzionamento della shell Linux. Dopodiché sono stati creati e configurati i sistemi virtuali e, su di essi, sono state affrontate delle problematiche relative alla rete, quali la configurazione delle interfacce di rete e la gestione del traffico dei dati tra le macchine virtuali. Dopo uno studio approfondito del concetto di cluster, e in particolare della tecnologia sviluppata da Red Hat, si è configurato l’ambiente virtuale in modo da poter lavorare in cluster. Il cluster non è altro che un sistema di due o più macchine che cooperano per fornire uno o più servizi. In questo progetto si è sviluppato un cluster di sole due macchine che lavorano in modalità Active – Passive. Di conseguenza solo una di esse eroga il servizio NFS mentre l’altra rimane in attesa di prenderlo in carico nell’eventualità che il primo vada in errore. Questo porta all’associazione del concetto di alta affidabilità al cluster sviluppato. Con alta affidabilità s’intende un sistema informatico che fornisce un servizio in maniera continuativa o comunque con un minimo di downtime. L’obiettivo di un tale sistema è di rendere il servizio costantemente utilizzabile dagli host che lo richiedono. Il servizio offerto quindi, si basa sul paradigma client-server. Il cluster, in particolare, è visto come un'unica entità da parte degli host cioè come una singola macchina. Il sistema operativo installato nelle macchine è stato CentOS, una distribuzione di Red Hat, che mantiene un’alta compatibilità con essa. Di conseguenza è stato possibile utilizzare la tecnologia sviluppata da Red Hat per il clustering, la Red Hat Cluster Suite. In base ad essa si è riuscito a configurare, tramite interfaccia web, il servizio di NFS. NFS sta per “Network File System” ed è un protocollo di rete utilizzato per condividere un file system (o una sua parte) tra più computer che appartengono a una stessa rete. E’ un protocollo che si basa sul paradigma client- server. In questo caso il cluster è il server che implementa tale protocollo. In questa maniera, tutti gli host che richiedono il servizio NFS (e che quindi sono i client del protocollo), possono accedere al filesystem esportato in rete come se fosse locale a essi e condividere tra loro file o directory.
La struttura che si è data al presente documento è la seguente: Nel secondo capitolo viene data una prima spiegazione del concetto di clustering, viene descritto l’obiettivo che si vuole raggiungere, i problemi intrinsechi in un sistema di questo genere e le relative soluzioni. Infine viene analizzato il progetto più da vicino, specificando la struttura della rete e dello storage su cui il cluster si basa per fornire il proprio servizio. Nel terzo capitolo sono stati specificati i sistemi operativi installati nelle macchine virtuali e la conseguente tecnologia utilizzata per sviluppare il cluster. Nel quarto capitolo viene descritto, in maniera più specifica, quali sono i componenti software che fanno parte della tecnologia utilizzata per creare il cluster, il loro funzionamento e come si relazionano tra di loro. Nel quinto capitolo vengono descritti i vari passi che sono stati fatti per configurare l’ambiente virtuale in modo tale da poter lavorare in cluster. Nel sesto capitolo viene descritta la metodologia con cui il cluster deve essere creato e configurato tramite l’interfaccia web resa disponibile dalla tecnologia di Red Hat. Nel settimo capitolo vengono descritte le prove utilizzate per testare il cluster e i risultati ottenuti. Infine, nell’ottavo capitolo, viene descritto l’uso che verrà fatto di questo progetto da parte del Consiglio Nazionale delle Ricerche. In appendice si trova il file di configurazione del cluster. Esso rappresenta la situazione finale in cui si trova.

Mostra/Nascondi contenuto.
11 Capitolo 1 - Introduzione 1 - INTRODUZIONE Il presente documento descrive la realizzazione di un cluster di sistemi Linux per l’erogazione di un servizio NFS attraverso l’uso di una tecnologia sviluppata da Red Hat. Tutto questo è stato implementato in ambito virtuale, utilizzando come hypervisor KVM. Lo sviluppo di questo progetto è avvenuto durante un periodo di stage, della durata di quattro mesi, svolto nella sede centrale del Consiglio Nazionale delle Ricerche. Lo svolgimento di codesto stage è stato necessario per il conseguimento della laurea triennale in Ingegneria Informatica presso l’università di Roma ‘La Sapienza’. L’obiettivo dello stage è stato l’acquisizione di esperienza nella progettazione e realizzazione d’infrastrutture complesse di elaborazione in ambito gestionale. Il suo svolgimento ha previsto una fase iniziale di apprendimento delle tecnologie da utilizzare (Linux, KVM, Clustering, NFS) cui è seguita successivamente analisi, progettazione, implementazione e testing del sistema. Lo sviluppo di questo progetto ha riguardato, prima di tutto, lo studio dei sistemi Linux così da ottenere una maggiore familiarità con essi. Si è studiato in particolare il funzionamento della shell Linux. Dopodiché sono stati creati e configurati i sistemi virtuali e, su di essi, sono state affrontate delle problematiche relative alla rete, quali la configurazione delle interfacce di rete e la gestione del traffico dei dati tra le macchine virtuali. Dopo uno studio approfondito del concetto di cluster, e in particolare della tecnologia sviluppata da Red Hat, si è configurato l’ambiente virtuale in modo da poter lavorare in cluster. Il cluster non è altro che un sistema di due o più macchine che cooperano per fornire uno o più servizi. In questo progetto si è sviluppato un cluster di sole due macchine che lavorano in modalità Active – Passive. Di conseguenza solo una di esse eroga il servizio NFS mentre l’altra rimane in attesa di prenderlo in carico nell’eventualità che il primo vada in errore. Questo porta all’associazione del concetto di alta affidabilità al cluster sviluppato. Con alta affidabilità s’intende un sistema informatico che fornisce un servizio in maniera