polito.it
Politecnico di Torino (logo)

Sistemi di storage distribuito su Kubernetes = Distributed storage systems on Kubernetes

Salvatore Russo

Sistemi di storage distribuito su Kubernetes = Distributed storage systems on Kubernetes.

Rel. Fulvio Giovanni Ottavio Risso, Pasquale Lepera. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2021

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (7MB) | Preview
Abstract:

Il continuo aumento delle applicazioni a microservizi stateful e la crescita del multi-cloud hanno contribuito alla necessità di trovare un’astrazione dello storage che permetta di garantire determinate proprietà svincolandosi sempre di più dall’hardware sottostante, sfruttando le infrastrutture iperconvergenti e la potenza di strumenti di orchestrazione come Kubernetes. Il lavoro di tesi si pone come obiettivo l’analizzare le soluzioni di storage distribuito presenti sul mercato, ponendo maggiore attenzione sul mondo open source, per poi sceglierne una e misurarne le prestazioni, comparando eventuali differenze nel deploy e nel comportamento su infrastruttura on premise e sul cloud pubblico. Dallo studio delle architetture, dall’analisi del supporto da parte della community open source e del grado di interesse, le due soluzioni maggiormente apprezzate risultano essere MinIO e Ceph. A differenza di MinIO però, che gestisce solamente storage a oggetti, Ceph consente anche la creazione di storage a blocchi e filesystem. Per questa maggiore flessibilità, Ceph viene scelto come argomento di analisi, utilizzando Rook come storage orchestrator su Kubernetes. Il deploy del cluster Rook-Ceph è stato eseguito su tre diverse infrastrutture: la prima soluzione analizzata prevede l’utilizzo di una SAN, la seconda prevede dei dischi direttamente connessi ai nodi, la terza invece ha visto la creazione di un cluster su Azure Kubernetes Service, preso come esempio di soluzione di cloud pubblico. Dopo aver evidenziato le differenze dei file di deploy di Rook-Ceph per i vari ambienti, sono stati creati due filesystem per compararne le performance: il primo filesystem prevede la replica dei dati, il secondo filesystem invece sfrutta la tecnologia Erasure Code, la quale prevede la suddivisione del dato in data chunk e coding chunk, garantendo così la disponibilità del dato utilizzando un’inferiore quantità di storage. Utilizzando il tool open source Fio sono stati effettuati dei test in lettura e in scrittura cambiando la dimensione dei blocchi, e sono stati misurati i valori di IOPS, bandwidth, latenza, percentuale di occupazione di CPU e RAM. Tra gli aspetti più interessanti ottenuti dai test, risaltano le performance migliori ottenute in lettura da Rook-Ceph su AKS se comparate all’accesso diretto ai dischi Azure, e le migliori performance in scrittura ottenute su filesystem con erasure code nei confronti del filesystem replicato, sia su infrastruttura on premise, sia su AKS.

Relatori: Fulvio Giovanni Ottavio Risso, Pasquale Lepera
Anno accademico: 2021/22
Tipo di pubblicazione: Elettronica
Numero di pagine: 80
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: Criticalcase srl
URI: http://webthesis.biblio.polito.it/id/eprint/20617
Modifica (riservato agli operatori) Modifica (riservato agli operatori)