Università degli Studi di Bologna
                           Facoltà di Ingegneria
                  Corso di Laurea in Ingegneria Informatica
                 Amministrazione di reti di calcolatori




   Analisi ed implementazione di
      file system distribuiti in
           ambiente linux

Tesi di: Raul Cafini                     Relatore: Dott. Ing. Marco Prandini
                                              Correlatori: Ing. Luca Ghedini
Presentazione
        Questa tesi si è posta l’obiettivo dell’analisi e della
      implementazione di file system distribuiti in un ambiente
            cluster basato su sistema operativo linux.
•  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.

22 Giugno 2006                    Raul Cafini                          2
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                          3
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                    4
Red Hat/Fedora - GFS
                     GFS over GNBD-SAN
                        GFS over SAN
                              GNBD-DAS
    (Global Network (Storage Area–Network) Area Network)
     (Global Network Block Device -Direct Attached Storage)
                    Block Device Storage




22 Giugno 2006                Raul Cafini                     5
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   6
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   7
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   8
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   9
Fault Tolerance
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:
•  Multipath (SAN)
    –  Multiported (DAS)
•  Mirroring
    –  Hardware (RAID)
    –  Software (LVM)
•  Channel Bonding




22 Giugno 2006                   Raul Cafini                             10
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                                11
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                          12
Fine.




22 Giugno 2006    Raul Cafini   13

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

  • 1.
    Università degli Studidi Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Amministrazione di reti di calcolatori Analisi ed implementazione di file system distribuiti in ambiente linux Tesi di: Raul Cafini Relatore: Dott. Ing. Marco Prandini Correlatori: Ing. Luca Ghedini
  • 2.
    Presentazione Questa tesi si è posta l’obiettivo dell’analisi e della implementazione di file system distribuiti in un ambiente cluster basato su sistema operativo linux. •  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. 22 Giugno 2006 Raul Cafini 2
  • 3.
    Documentazione, analisi edimplementazione 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 3
  • 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 4
  • 5.
    Red Hat/Fedora -GFS GFS over GNBD-SAN GFS over SAN GNBD-DAS (Global Network (Storage Area–Network) Area Network) (Global Network Block Device -Direct Attached Storage) Block Device Storage 22 Giugno 2006 Raul Cafini 5
  • 6.
    Il cluster 1/2 ProfiloHardware: •  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 6
  • 7.
    Il cluster 2/2 RedHat - 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 7
  • 8.
    Il Logical VolumeManager •  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 8
  • 9.
    Il cluster delLAB4 •  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 9
  • 10.
    Fault Tolerance Tecniche chepermettono 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: •  Multipath (SAN) –  Multiported (DAS) •  Mirroring –  Hardware (RAID) –  Software (LVM) •  Channel Bonding 22 Giugno 2006 Raul Cafini 10
  • 11.
    Conclusioni •  Analisi dellagamma 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 11
  • 12.
    Sviluppi Futuri •  Aggiuntadi 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 12
  • 13.
    Fine. 22 Giugno 2006 Raul Cafini 13