Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

13
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

description

Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

Transcript of Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

Page 1: 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

Page 2: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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.

Page 3: Analisi ed implementazione di file system distribuiti in ambiente GNU/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.

Page 4: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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)

Page 5: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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)

Page 6: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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

Page 7: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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)

Page 8: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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

Page 9: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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).

Page 10: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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:

Page 11: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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…

Page 12: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

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, …).

Page 13: Analisi ed implementazione di file system distribuiti in ambiente GNU/Linux.

22 Giugno 2006 Raul Cafini 13

Fine.