Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.
-
Upload
raul-cafini -
Category
Technology
-
view
288 -
download
0
description
Transcript of Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.
Analisi ed implementazione di file system distribuiti in
ambiente linux
Tesi di: Raul Cafini Relatore: Dott. Ing. Marco Prandini
Correlatori: Ing. Luca Ghedini
Università degli Studi di Bologna Facoltà di Ingegneria
Corso di Laurea in Ingegneria Informatica Amministrazione di reti di calcolatori
22 Giugno 2006 Raul Cafini 2
Presentazione
• Un file system distribuito è uno strumento in grado di gestire una piattaforma dati comune tra più macchine distribuendo il contenuto informativo globale tra di esse, garantendo la consistenza, l’integrità e l’accesso concorrente ai dati anche in caso di guasti (Fault Tolerant).
• L’infrastruttura hardware portante su cui è implemetato il file system prende nome di cluster. Un cluster (dall’inglese grappolo) è un insieme di computer connessi tramite una rete telematica a scopo di incremento prestazionale in termini di calcolo computazionale e/o di risorse distribuite.
Questa tesi si è posta l’obiettivo dell’analisi e della implementazione di file system distribuiti in un ambiente
cluster basato su sistema operativo linux.
22 Giugno 2006 Raul Cafini 3
Documentazione, analisi ed implementazione
Il lavoro si è svolto principalmente in tre fasi:
1. Documentazione: Soluzioni cluster basate sul s.o. linux, file system distribuiti (implementazioni proprietarie e open source come AFS, GPFS, CODA, GFS, LUSTRE, ...) e tecniche di fault tolerance.
2. Analisi: Software di gestione del cluster, software di base dei file system distribuiti, gestore dei volumi logici, topologie e architetture di implementazione.
3. Implementazione: Realizzazione di un piccolo sistema cluster linux con file system distribuito in lab4.
22 Giugno 2006 Raul Cafini 4
Red Hat/Fedora - GFS
La scelta, Perchè Red Hat/Fedora GFS:
• Il primo file system con sviluppo nativo a 64-bit. • Altamente scalabile (fino a 256 nodi) per l'introduzione di
server e device di storage. • Recente apertura verso la comunità open source. • Uso della semantica standard per i file system UNIX/POSIX. • File system di tipo journaled. • Basato su gestore di volumi logici altamente flessibile
– (LVM – Logical Volume Manager)
22 Giugno 2006 Raul Cafini 5
Red Hat/Fedora - GFS
GFS over SAN (Storage Area Network)
GFS over GNBD-SAN (Global Network Block Device - Storage Area Network)
GFS over GNBD-DAS (Global Network Block Device – Direct Attached Storage)
22 Giugno 2006 Raul Cafini 6
Il cluster 1/2 Profilo Hardware: • Desktop HP - AMD64 Caratteristiche tecniche: • Processore:
DualCore AMD Athlon 64 X2 • Memoria Primaria:
512 MB • Memoria Secondaria:
80 GB • Scheda Rete:
Gigabit Ethernet (10-100 MBit/s) Profilo Software: • Sistema operativo:
Fedora Core release 4 • Kernel release:
2.6.11-1.1369_FC4smp
22 Giugno 2006 Raul Cafini 7
Il cluster 2/2 Red Hat - Cluster Suite: Componenti software per l’interazione tra i nodi del cluster: • CCS (Cluster Configuration System)
• CMAN (Cluster MANager)
• Fence (Fencing Mechanism)
• RGManager (Resource Group Manager)
• DLM (Distribuited Lock Manager)
22 Giugno 2006 Raul Cafini 8
Il Logical Volume Manager
• Gestore di volumi logici • Gestione clusterized
(CLVM) • Maggiore flessibilità di
management • Estensione dei concetti di
disco e partizione disco • Layer di astrazione logica
– Physical volumes – Volume groups – Logical volumes
• Mapping linear/striped • Creazione di Snapshots
22 Giugno 2006 Raul Cafini 9
Il cluster del LAB4 • Topologia: GFS over GNBD-DAS
• 3 Nodi
ü 2 GFS nodes (GNBD Clients)
ü 1 GNBD Server
• Connessione tramite sola rete LAN (lab4cluster).
• Import/Export di block device tramite protocollo GNBD (Global Network Block Device).
• Gestione clusterized dei volumi logici (CLVM).
• Creazione e Montaggio del file system tramite comandi standard unix/linux (mkfs, mount).
22 Giugno 2006 Raul Cafini 10
Fault Tolerance
• Multipath (SAN) – Multiported (DAS)
• Mirroring – Hardware (RAID) – Software (LVM)
• Channel Bonding
Tecniche che permettono di far fronte ad un guasto nel sistema (device, nodo, rete, …) senza che la serie di servizi o di risorse che esso rende disponibile ne risenta:
22 Giugno 2006 Raul Cafini 11
Conclusioni • Analisi della gamma di file system distribuiti:
– Analisi di un ampia documentazione sul mondo dei file system distribuiti, concetti e le potenzialità delle varie implementazioni.
• Creazione del cluster: – Studio delle componenti software della infrastruttura cluster su cui
creare il file system distribuito.
• Realizzazione del file system distribuito: – Analisi delle componenti software del file system distribuito (locking) – logical volume manager
• Analisi delle tecnologie di fault tolerance: – Multipath, Mirroring, Channel Bonding…
22 Giugno 2006 Raul Cafini 12
Sviluppi Futuri • Aggiunta di più server GNBD:
– Aumentare lo spazio di storage dedicato al file system dividendo lo spazio su più server GNBD.
• Accesso al file system GFS anche dai nodi GNBD: – Accesso al file system GFS anche dai nodi Server GNBD
(limitazioni).
• Realizzazione di un sistema pienamente fault tolerant: – Implementazione di una delle soluzioni analizzate e relativi
test di tolleranza al failure dei componenti.
• Analisi delle prestazioni: – Tra le varie topologie GFS. – Tra vari file system distribuiti (IBM-GPFS, AFS, …).
22 Giugno 2006 Raul Cafini 13
Fine.