CEPH, una piattaforma di archiviazione distribuita per applicazioni containerizzate

Abstract

In questa tesi vogliamo analizzare il funzionamento della piattaforma di archiviazione distribuita chiamata Ceph. Faremo una breve introduzione in cui parleremo del sempre più crescente utilizzo dei micro-servizi, soprattutto in ambito cloud, e dell’ormai consolidata tecnologia dei container. Mostreremo le loro funzionalità concentrandoci su Docker, uno dei principali container engine, e di Docker Swarm, orchestrator di applicazioni containerizzate in ambienti Linux, cercando anche di portare alla luce le loro problematiche e necessità. Spiegheremo cosa si intende per Software Defined Storage, un’architettura moderna in cui lo spazio di storage viene astratto e definito via software tralasciando all’utente finale tutta la complessità dei dispostivi hardware sottostanti. Passeremo infine a parlare di Ceph, uno dei principali Software Defined Storage che promette diversi tipi di interfacce di utilizzo, per ogni tipo di applicazione e delle sue esigenze. Guarderemo in dettaglio la struttura del cluster e i vari servizi che lo compongono: Manager, OSD, MDS e MON, analizzando i principali algoritmi che sono alla base del suo funzionamento come Paxos e CRUSH. Il primo viene utilizzato in ambienti distribuiti per mantenere la consistenza dei dati tramite un sistema di accettazione tra i nodi del cluster; il secondo, invece, è un algoritmo pseudo-casuale che si occupa di dividere i dati tra i vari nodi del cluster e della loro ridondanza. Parleremo in dettaglio dei tre tipi di interfacce che Ceph mette a disposizione dei propri utilizzatori: ad oggetti, a blocchi ed a file, cercando di mostrare le loro caratteristiche e le loro differenze. Creeremo una piccola implementazione di Ceph, molto basilare, su cui monteremo dei dischi per creare uno spazio di storage ed un file system CephFS da utilizzare su una macchina client. Infine, verrà fatto un piccolo confronto con altri software SDS sul mercato per mostrare pregi e difetti di Ceph rispetto ai suoi concorrenti

    Similar works