170 likes | 296 Views
Supporto a servizi di FileHosting. Reti di calcolatori LS Manni Tiziano 0000279932. Contesto. IT e nuovi scenari applicativi … … portabilità dei dati … … condivisione dati … … disponibilità e sicurezza … … gestione utenti e cartelle condivise e/o private. OBIETTIVO.
E N D
Supporto a servizi di FileHosting Reti di calcolatori LS Manni Tiziano 0000279932
Contesto • IT e nuovi scenari applicativi … • … portabilità dei dati … • … condivisione dati … • … disponibilità e sicurezza … • … gestione utenti e cartelle condivise e/o private
OBIETTIVO • Realizzare un file system remoto per garantire al cliente la migliore QoS possibile in base alle risorse dinamicamente disponibili. File System Remoto M I D D L E W A R E
Architettura DATA SERVER LIVELLO DI STORAGE CLIENT SIDE SERVER SIDE LOGIC CLUSTER MIDDLEWARE MANAGER SERVER MIDDLEWARE LIVELLO DI CONTROLLO
Struttura Generale • Struttura ad anello dei manager… • Ogni manager server gestisce e coordina una isola di data server … • … un DB mantiene l’indice logico dei file presenti nel file system globale. • e data server per mantenere i veri file fisici.
Caratteristiche dell’architettura • Logic cluster basato su un modello di high-availability cluster con bilanciamento di carico • Vantaggi • Alta disponibilità • Alte prestazioni • Bilanciamento di carico • Controllo dello stato dei data server a carico del manager (heartbeat) • Failovercontrollato sia dal middleware client che dal manager • Replicazioni con politiche lazy • Velocizzare tempo di risposta all’utente • Possibili casi di non disponibilità dei dati • Scelte implementative • Java versione 6 / Multithread / Socket TCP
Manager Server • Coordina l’intera architettura lato server • Gestisce le richieste dei client bilanciando il carico sul livello di storage • Esegue operazioni di monitoraggio e replicazione • Mantiene un’immagine consistente del livello di storage sottostante e delle sue proprietà (anche con i manager vicini) • Registra i diversi data server e gestisce sia disconnessioni improvvise che terminazioni lecite • Ipotesi • Ipotesi di gusto singolo da parte dei manager (ipotesi restrittiva ) • Almeno un manager raggiungibile dagli indirizzi noti ai client. • Aggiornamento delle locazioni mediante piggybacking da parte dei server
Data Server • Livello di storagedei dati • Effettivo esecutore del servizio • Accetta comandi sia dal manager che dal middleware client • Il loro numero (dinamicamente variabile) determina le “prestazioni” lato server in fatto di: • Capacità di replicazione • Parallelismo di risposta ai diversi client • Spazio disponibile • L’amministratore può gestire le risorse (data server) adattandole al carico richiesto dal servizio
Client middleware • Nasconde i dettagli della comunicazione con l’architettura server ai diversi client • Consente l’integrazione trasparentedi diversi client con il servizio di file hosting tramite un’interfaccia standard • Gestisce eventuali errori di comunicazione (o di protocollo) tramite ritrasmissioni e negoziazioni con i diversi server. • Implementa il loadbalancing fra i vari manager server disponibili.
Protocollo di Up/Down • Ogni cliente sceglie un proprio manager. • Eventuali modifiche sul file system vengono propagate nella struttura mediante l’anello. • → per ogni modifica al file system abbiamo N-1 messaggi (con N il numero di manager partecipanti). ?
Load - Balancing • Obiettivi • Aumentare la velocità di risposta ai client • Caricare al meglio i data server disponibili nel livello di storage • Politiche nel caso di download • Possesso del file • Livello di congestione, cioè numero di connessioni già instaurate • Connessioni massime ammesse, parametro settabile dall’amministratore • Politiche nel caso di upload • Livello di congestione e connessioni massime, come nel caso di download • Spazio disponibile (e sufficiente) • Si usa una media pesata dei due fattori, con lo spazio disponibile predominante • Caricare file su un server con poco spazio limita le possibilità di replicazione
Propagazione dello stato • Propagazione dello stato di carico dei data server isolato alle singole isole dei manager • Propagazione dello stato di carico generale del sistema tra i manager attraverso l’anello con un sistema time-based.
Controllo operatività • Ogni manager server è responsabile di controllare l’operatività … • … dei data server presso lui registrati … • … e del proprio manager successivo.
Join Manager Server • Struttura ad anello dinamico: • ogni manager che vuole partecipare al sistema deve eseguirne la richiesta presso un manager già attivo ed operante. Vettore identificativo ultime modifiche ricevute Locazione dei manager per richiudere l’anello 1,2,3 InfoJoin M1 M2 InfoJoin Manager de nuovo manager
Replicazione • Replicazione time-baseddecisa dal manager ed eseguita un maniera autonoma dai data server coinvolti • Si individuano i file replicabili in base allo stato delle risorse nel livello di storage • Le possibili repliche sono ordinate in base alla maggiore dimensione dei file • Si replicano prima file grandi, ottimizzando lo spazio disponibile nel livello di storage • L’amministratore può controllare il grado di replicazione e quindi l’overhead • Impostando il limite massimo di operazioni di replica per intervallo • Impostando il numero di copie per i file.
Conclusione e sviluppi futuri • L’obiettivo prefissato è stato raggiunto: una infrastruttura di file hosting ad alta disponibilità e scalabilità … • … mantenendo un buon livello di QoS sulla base delle risorse disponibili. • Molte estensioni implementabili: • Supporto multiutente; • Sicurezza; • Piggybacking e smartproxy; • Servizio di nomi; • Dump sincronizzato dei database.