FileSystem Distribuiti LinuxTrent - 07/07/2011. Cos'è un filesystem distribuito ? Un file system distribuito (in inglese, Distributed File System, o DFS)

Slides:



Advertisements
Presentazioni simili
Remote file access sulla grid e metodi di interconnesione di rete M. Donatelli, A.Ghiselli e G.Mirabelli Infn-Grid network 24 maggio 2001.
Advertisements

Virtualizzazione nell’INFN Andrea Chierici 11 Dicembre 2008.
Panoramica su Koozali SME Server Distribuzione Linux open source, stabile, sicura e versatile rivolta alle Piccole e Medie imprese (Novembrer 2015 v1.2)
PRIN NAPOLI Enzo Capone, Gianpaolo Carlino, Alessandra Doria, Rosario Esposito, Leonardo Merola, Silvio Pardi, Arturo Sanchez Pineda.
+ Call di Big Data (EINFRA- 1). + La call … + + Cosa abbiamo in mano (come INFN) 1. L’infrastruttura 1 Tier Tier2 O(25000) cores O(20) PB di Disco.
Eugenia Franzoni Il software libero Catnic Srl. Si può comprare un software?
Linux Day 2006 – Giornata nazionale dedicata al Software Libero e GNU/ Linux – Come proteggere Windows tm con GNU/Linux Roberto Lacava.
Amministrazione di reti di calcolatori - Massimo Bertozzi Servizi base di rete.
LTSP (Linux Terminal Server Project) GNU/Linux ed Workshop di Enrico Teotti powered with Gentoo Linux Linux Day LUG Mantova.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
Fabrizio Felici Linux e Windows a confronto, perché passare a Linux 27 ottobre 2007.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
Introduzione a GNU/Linux. GNU/Linux Caratteristiche Compatibile con UNIX ® Multitasking Multiutente Libero.
Orientamento. Il Kernel Il Kernel è un programma scritto in linguaggio vicino all'hardware che ha il compito di fornire ai processi in esecuzione sul.
User Mode Linux. Cos'è user mode linux ● User mode linux è un kernel linux che gira come un'applicazione nello spazio utente.
Linux Day 2006 – Giornata nazionale dedicata al Software Libero e GNU/ Linux – Trusted Computing: Ecco il tuo Futuro Antonio Angelotti.
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
AFS NELLA SEZIONE DI PADOVA aree_utenti: attualmente nessuno ha la proria home in AFS e quasi nessuno utilizza l'area utenti di AFS. /usr/local: si preferisce.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
HYSTRIX Dario BRUNO protects your network Cisco ID: CSCO
Corso di Elementi di Informatica
PNSD - Modulo D1A marzo 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
Sistemi e Applicazioni per l’Amministrazione Digitale
Infrastruttura cloud servizi realizzata nella Sezione di Napoli
Synapse Gestione e Flussi documentali
Corso per Webmaster base
NAT, Firewall, Proxy Processi applicativi.
Resoconto delle attività del Gruppo di Lavoro DR
Sale Force Automation.
dCache Test effettuati al CNAF
Compilazione del kernel Linux
WPC069 Il deployment automatizzato di Windows 10
Sistema di Autenticazione unica (Single-Sign-On) (azione #8)
CARATTERISTICHE DI UN DATACENTER
Virtualizzazione Server by Linux
Strategie di BackUp Daniele Piccoli ( - )
Breve report su corso RedHat Enterprise Virtualization (RH318)
REX - Istruzioni tipo IKEA
Gruppo WebTools CCR – 14 Marzo 2007 Dael Maselli.
PNSD - Modulo D1A 27 aprile 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
Terza Lezione → Navigare nel file System → parte 2
Cloud per HA nei Servizi
Analysis framework of distributed thread and malware data-sources
The Virtual Machine Monitor Introduzione. Installazione. Utilizzo.
INFN-TS INFN - Sezione di Trieste - C. Strizzolo - L. Strizzolo.
Sistema Operativo - DietPI
Considerazioni sull'infrastruttura
Job Application Monitoring (JAM)
LA GESTIONE DEI PACCHETTI
Sviluppo di server web e sistema di caching per contenuti dinamici
R.Gomezel Commissione Calcolo e Reti CNAF
Da circa 10 anni il fornisce agli utenti dei labs, che ne facciano richiesta, un servizio di storage via NFS. Come T2 viene fornito da qualche.
ai termini e ai principi informatici utili per utilizzare Linux
LA GESTIONE DEI PACCHETTI
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Managed Workplace RMM Il monitoraggio e la gestione da remoto (Remote Monitoring and Management) resi semplici. Ottieni gli strumenti e le conoscenze necessarie.
Virtualizzazione desktop e server
Domenico Diacono CNAF 22 Marzo 2006
Recupero polizze assicurative
Organizzazione di una rete Windows 2000
© 2007 SEI-Società Editrice Internazionale, Apogeo
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Unità D1 Architetture di rete.
389 Directory Server Dael Maselli.
Gli archivi e le basi di dati
Parti interne del computer
ATLAS PRIN Roma1 - status Alessandro De Salvo
LE PROCEDURE DI EMERGENZA
CLOUD.
Transcript della presentazione:

FileSystem Distribuiti LinuxTrent - 07/07/2011

Cos'è un filesystem distribuito ? Un file system distribuito (in inglese, Distributed File System, o DFS) è un particolare file system che permette la memorizzazioni di files e risorse in dispositivi di archiviazione distribuiti in una rete informatica. A differenza di un comune file system locale, i dati non vengono letti o archiviati su di un dispositivo locale, ma, attraverso un meccanismo client-server, su dispositivi remoti, collegati in maniera trasparente alla propria gerarchia di file. (fonte Wikipedia)

Alcuni esempi di filesystem distribuiti o NFS (file system di rete) o AFS o MooseFS o GlusterFS

NFS Sviluppato da Sun Microsystem (1985) Utilizza il sistema di RPC (Remote Procedure Call) La versione 2 prevedeva solo l'uso del protocollo di rete UDP Il sistema di locking e controllo quota avviene con delle RPC separate Con la versione 3 viene introdotta la possibilità di usare TCP Con la versione 4 di fatto diventa un file system distribuito client-server stateful

NFS... continua Alcune considerazioni: personalmente NON l'ho mai installato alcuni sistemisti con cui ho parlato mi dicono che NON è semplicissimo da installare/configurare altri sistemisti che l'hanno provato mi segnalano che NFS non lavora bene con file di grosse dimensioni

AFS Sviluppato inizialmente dalla Carnegie Mellon University e' stato poi implementato da Transarc(IBM), OpenAFS e Arla Utilizza Kerberos IV per l'autenticazione La struttura prevede diversi servizi per la gestione delle autenticazioni, acl, volume management, file service e backup/restore Multipiattaforma Unix, Linux, Windows, MacOS Access Control List "estese" a livello di directory Creazione e gestione gruppi per username Repliche Volumi, Volumi di Backup Migrazione Volumi "trasparente" all'utenza

AFS... continua Alcune considerazioni: anche questo NON l'ho provato ma ho iniziato quantomento a leggere la documentazione ! pensato principalmente per gestire la geo-replicazionione l'ho scartato a priori per i seguenti motivi: o troppa roba da configurare (kerberos, ldap, pam...) o cercando in rete pareri sulle performance, tra svariati forum, NON ho trovato valori che giustificassero lo sforzo per un'installazione di prova.

MooseFS Questo l'ho provato con mano :-) l'installazione è relativamente semplice: o scaricare i sorgenti o "generare" i pacchetti per la propria distribuzione (es. debian) o installare i pacchetti appena generati sui vari server interessati Gli "oggetti" che compongono un sistema MooseFS sono: o un master server (questo è un single point of failure) o uno o più chunk server o metalogger server (utilizzato come backup server in caso di arresto del master server) o client, sul quale vengono montati i volumi condivisi

MooseFS... continua Alcune caratteristiche interessanti: a differenza di NFS e AFS, questo tipo di filesystem distribuito si appoggia a FUSE (file system in user space) con delle prestazioni "teoriche" inferiori ma che al lato pratico NON "impegnano eccessivamente" l'intero sistema durante un grosso carico di I/O su disco rendendolo in definita più performante di altre soluzioni il sistema ha una certa tolleranza ai guasti o avendo N chunk server (dove N > 1), in caso di guasto di un chunk server l'intero sistema continua a funzionare senza che i client si accorgano di nulla (questo su carta.... NON ho avuto modo di testarlo personalmente) o configurando opportunamente CARP (Common Address Redundancy Protocol) è possibile gestire un eventual fail-over del server master

MooseFS... continua Alcune caratteristiche interessanti: supporta una sorta di snapshot (NON si tratta delle snapshot di LVM !) ha una propria gestione, configurabile, del "cestino" (es. decido di mantenere una copia del file X o della cartella Y quando viene cancellato fino a N giorni) il sistema è scalabile sia in performance che in termini di spazio disco (basta aggiungere nuovi chunk server) le prestazioni sono simili a quelle di GlusterFS

MooseFS... continua Cosa NON mi è piaciuto di questo giochino, che comunque reputo un'ottimo strumento: utilizza una serie di file per la gestione dei METADATA relativi ai file presenti all'interno del filesystem (questi vanno backuppati e ripristinati in caso di problemi con il master, in realtà viene fatto in automatico dal logserver) la cartella in cui vengono memorizzati fisicamente i file è suddivisa in sottocartelle gestite direttamente da MooseFS... risulta pertanto difficile risalire ad un singolo file senza passare attraverso il "sistema" MooseFS è necessario appoggiarsi a sistemi esterni (es. CARP o Heartbeat) per gestire il ripristino del funzionamento del sistema dovuto a eventuali blocchi del server master

MooseFS... continua Cosa invece mi è piaciuto di questo giochino: semplice da configurare (4 file in croce !) anche se pveperf (Proxmox) mi dice che il valore di FSYNC è una schifezza e NON dovrei utilizzare MooseFS per metterci i dischi virtuali delle mie macchine virtuali... a conti fatti le macchine virtuali girano abbastanza bene (anche grazie all'uso intensivo della cache) l'uso di CPU e RAM lato client non è eccessivo gestisce le snapshot a livello di filesystem distribuito (con GlusterFS la cosa va gestita in modo "diverso" !)

MooseFS... continua gestisce un "cestino" configurabile per poter recuperare eventuali file cancellati MooseFS utilizza il concetto dei "goal" che mi consente di mantenere N copie di uno stesso file o di una cartella "mirrorati" su diversi server.... il numero di goal può essere un numero dispari (es. file pippo.txt per il quale voglio mantenere 3 copie, 1 copia per ogni server MooseFS)

GlusterFS GlusterFS è un file system distribuito in grado di scalare fino a molti petabytes ed è in grado di gestire migliaia di client. Anche GlusterFS gira in userspace appoggiandosi a FUSE... vale quanto detto per MooseFS. E' presente nei repository di Debian... consigliato assolutamente scaricare i pacchetti aggiornati per Debian direttamente dal sito Esiste la versione "comunity" e una versione commerciale che "ingloba" glusterfs con un'interfaccia Web da cui è possibile monitorare e configurare l'intero sistema.

GlusterFS... alcuni CONTRO NON esiste un software che mi permetta di "montare direttamente" il cluster da un client Windows. Le alternative sono: utilizzare come client un server Linux e configurare Samba per rendere disponibile il cluster a Windows GlusterFS può "interfacciarsi" direttamente con NFS forse esiste qualche modo per montare un cluster NFS direttamente in un client Windows... qualche idea ?

GlusterFS... alcuni CONTRO NON gestisce nessun tipo di snapshot a livello di cluster, la gestione dei backup dei file contenuti in GlusterFS va di conseguenza "ragionata". Proposta 1 (valida solo per volumi replicati): installo LVM su ogni peer del cluster stoppo eventuali servizi (lato client connesso al cluster) che potrebbero alterare il contenuto dei file presenti nel cluster stesso lancio una snapshot su di un peer qualsiasi riavvio i servizi (lato client connesso al cluster) lancio il backup andando a leggere i dati direttamente dalla snapshot distruggo la snapshot

GlusterFS... alcuni CONTRO Proposta 2: sfrutto la funzionalità di "Geo-replication" presente in GlusterFS per replicare in modo asincrono i dati su di un server esterno lancio una snapshot sul server esterno tramite LVM lancio il backup andando a leggere i dati direttamente dalla snapshot distruggo la snapshot

GlusterFS...continua Installare e configurare GlusterFS è estremamente semplice (almeno a partire dalle ultime versioni !!): - installare GlusterFS su ogni server peer - installare GlusterFS su ogni client che dovrà accedere ai dati resi disponibili dal cluster - definire quali saranno i server che entreranno a far parte del cluster - creare i volumi da un qualsiasi nodo del cluster (peer) - montare il cluster (tramite un semplice comando mount) sui client interessati

GlusterFS... alcuni PRO Tutti i server che compongono il cluster hanno gli stessi "poteri", non esiste potenzialmente un single point of failure Quanto scritto sopra è "verino" :-P dipende dal tipo di volume che andremo a gestire quando un peer NON è più disponibile (si pianta, esplode, si guasta la scheda di rete...) tutti i client connessi al cluster NON hanno più accesso al filesystem per N secondi (parametro configurabile) dopodiche il filesystem risulta nuovamente accessibile continua -->

GlusterFS... alcuni PRO ? quando un peer ritorna ad essere disponbile, ogni file modificato durante la "mancanza" del peer risulta non modificabile fino a che GlusterFS non allinea le varie versioni dei file.... se i file sono di dimensioni consistenti potrebbe essere un problema (es. KVM ?!? :-P ) Parlando con uno degli sviluppatori di GlusterFS, alla domanda "Is this type of behavior normal ?" la risposta è stata: No, that happens because Gluster's self heal is a blocking operation. We are working on a non-blocking self heal, we are hoping to ship it in early September 2011.

GlusterFS - tipologie di volumi REPLICATED: questo tipo di volume mi garantisce che tutti i file resteranno accessibili, in modo completamente trasparente, a fronte di un guasto di un peer: ho bisogno di 2 server da utilizzare come peer sul sito della comunity Gluster consigliano di utilizzare dischi della stessa dimensione su entrambe i nodi (eventualmente sfruttando LVM per dimensionare i logical volume opportunamente) simile ad un RAID1 o forse più a DRDB ?!?

GlusterFS - tipologie di volumi DISTRIBUTED: i file vengono sparsi a caso sui vari peer ho bisogno di 2 o più server da utilizzare come peer sul sito della comunity Gluster consigliano di utilizzare dischi della stessa dimensione su entrambe i nodi (eventualmente sfruttando LVM per dimensionare i logical volume opportunamente) CONTRO: se un peer non è più disponibile (es. guasto) l'intero volume risulta inaccessibile PRO - avrò maggiore spazio disco a disposizione (la somma degli N nodi)

GlusterFS - tipologie di volumi STRIPED: i file vengono divisi in strisce/pezzi e vengono sparsi a caso sui vari peer ho bisogno di 2 o più server da utilizzare come peer sul sito della comunity Gluster consigliano di utilizzare dischi della stessa dimensione su entrambe i nodi (eventualmente sfruttando LVM per dimensionare i logical volume opportunamente) CONTRO: se un peer non è più disponibile (es. guasto) l'intero volume risulta inaccessibile PRO - avrò maggiore spazio disco a disposizione (la somma degli N nodi) PRO - migliori prestazioni, sia in lettura che scrittura, su file di grosse dimensioni

GlusterFS - tipologie di volumi DISTRIBUTED REPLICATED: combina i pregi delle due soluzioni ho bisogno di almeno 4 server da utilizzare come peer (ogni successiva espansione richiede un numero di server PARI) PRO: se un peer non è più disponibile (es. guasto) il volume resta accessibile PRO - avrò maggiore spazio disco a disposizione (la somma degli N nodi / 2) PRO - migliori prestazioni, sia in lettura che scrittura

GlusterFS - tipologie di volumi DISTRIBUTED STRIPED: combina i pregi delle due soluzioni ma in questo caso anche i difetti ho bisogno di almeno 4 server da utilizzare come peer (ogni successiva espansione richiede un numero di server multiplo del valore utilizzato come stripe) CONTRO: se un peer non è più disponibile (es. guasto) il volume non è accessibile dai client PRO - avrò maggiore spazio disco a disposizione PRO - migliori prestazioni, sia in lettura che scrittura su file di grosse dimensioni

GlusterFS - Installazione Pacchetti necessari: aptitute install nfs-common aptitute install python dpkg -i ULTIMAVERSIONEDISPONIBILE.deb Moduli che devono essere caricati nel Kernel a runtime fuse (modprobe fuse e aggiungere fuse al file /etc/modules)

GlusterFS DEMO

GlusterFS - altre funzionalità interessanti Geo-Replication Easily Accessible Usage Quotas Advanced Monitoring Tools

ALCUNI STRUMENTI UTILI PER CAPIRE IL REALE CARICO DEI VOSTRI SERVER: atsar -d (per capire il "carico" sui dischi) vnstat -i ethX -l (per monitorare al volo il carico sulle schede di rete) iftop (per monitorare il traffico di rete) htop (per monitorare al volo il "carico" a livello di CPU) hdparm, dbench, iozone (per il monitoraggio delle prestazioni disco) ALCUNE NOTE RELATIVE A PROXMOX: - utilizzare SOLO file RAW, i file QCOW2 hanno prestazioni inferiori se utilizzati con GlusterFS - aggiungere cache=writeback per i dischi (altrimenti qemu NON riesce a far partire la macchina virtuale... sembra dipenda da una limitazione di FUSE)

Link utili / curiosi ! interview-with-glusters-anand-babu-periasamy