Virtualized Storage Flashcards
Perchè la virtualizzazione dello storage è necessaria?
Come possiamo classificarli?
E’ necessaria perchè nessun disco è in grado di gestire tutte le ingenti richieste dei data center, quindi la usiamo per incrementare le capacità della memoria.
Possiamo classificarla secondo:
- granularità : livello al quale avviene la virtualizzazione, al di sopra del file system (block based) o al di sotto (file based)
- obbiettivo: DAS, SAN o NAS
In cosa consiste la virtualizzazione Block Based?
Come gestiamo i file system distribuiti?
Come identifichiamo i blocchi?
Come possiamo astrarre dal tipo di dischi?
Come vengono tenute le associazioni? A scopo possono essere usati?
Lo storage viene visto come un pool di blocchi logici su cui viene costruito il file system, in questo modo i dischi possono essere anche distribuiti in remoto.
___
Usiamo strumenti come SCSI per gestire file system distribuiti, dove i comandi per i dischi sono incapsulati tramite protocolli di rete come TCP/IP, FCP(Protocolli Canali Fibra) e Infiniband attraverso il remote DMA support.
___
I blocchi sono identificati tramite LUN(Logic Unit Number):LBA(Logical Block Address), LUN rappresenta il nome del dispositivo, mentre il secondo indica dove si trova(es. terna).
__
Per LBA possiamo mapparli con un altro livello d’indirezione con LBA logico usato nella comunicazione e LBA fisico. Usiamo metadati per mantenere la mappatura, possiamo usarlo anche per la ridondanza, un’altra utilità è quella di salvare blocchi contigui in diversi dischi fisici in modo da fare load balancing e accessibili parallelamente.
In cosa consiste LVM?
Quali sono i possibili approcci per accedere ai metadati?
Quali feature sono implementabili grazie all’approccio block based?
Logical Volume Management è una tecnica di gestione della memoria di massa, per mappare eventi logici in estensioni fisiche (blocchi su disco). LVM opera come un livello di astrazione sopra i dispositivi a blocchi tradizionali, fornendo una gestione più flessibile e dinamica dello storage
Costruiamo un file system con dei dispositivi che sono detti volumes, logici LV che contengono LE e volumes fisici PV che contengono i PE, dove un LE è mappato su un PE che può stare un PE diverso. LE e PE sono le unità più piccole.
Costruiamo un file system con vari LE (logical extent) collegati a dei PE (Physical Extents) distribuiti sui dischi diversi.
____
- accesso trasparente: la richiesta viene fatta al LE e sarà il compito del SDN di tradurla in PE
- accesso a metadati tramite API, il filesystem interrogano i metadati per un dato LE e sarà compito loro effettuare la traduzione.
___
Possiamo fare: - snapshooting: Possiamo marchiare come copy on write i blocchi e le modifiche che seguono producono una copia, questo avviene sui metadati non sul blocco effettivo del disco
- de ducuplicazione dei dati: evitare copie dello stesso blocco, per risparmiare memoria
In cosa consiste l’approccio file system based?
Quali sistemi possiamo usare?
Utilizziamo file come unità di base di memorizzazione e sfrutta file system di rete, l’accesso alla directory avviene tramite API di rete che mascherano le syscalls come se avvenissero in locale. La ridondanza viene gestita internamente senza il bisogno di metadati per mappare LE e PE.
NFS: sistema molto veloce basato su RPC (Remote procedure call) con feature aggiunte negli anni
SMB/CIFS: file system più completo, che permette di accedere a delle risorse con vari protocolli (stampanti, porte, files..)
Quali sono gli obbietti?
DAS(Direct Attached Storage) : Identifica un disco collegato localmente ad una macchina host, i volumi logici sono visibili localmente e preso in carico dal SO tramite drivers. Possono essere esposti alla rete.
__
NAS(Network Attached Storage) Identifica un disco visibile a più macchine nella rete.
La comunicazione avviene tramite TCP/IP, il NAS stesso sarà il controller che espone interfacce per accedervi, l’accesso può essere sia file based che block based.
I componenti principali sono
- Memorizzazione: usiamo SSD o HDD, scegliamo in base alla metrica UBER per il tasso di occorrenza di errori dei dati uber = num. of data errors/numer of bits read, più alto più failure
- Controller RAID per gestire i dischi collegati in serie (possono essere sia SW che HW)
- Interfacce di rete: schede di rete ad alta velocità fino 10Gbps
__
SAN (Storage Area Network): Identifica una rete di più dispositivi dedicati allo storage, che appare come un disco locale ai server. Possiamo avere archiviazione dell’ordine degli exabyte e abbiamo vari livelli: - Host Layer: il front end che viene usato per accedere ai dati (tipicamente replicato)
- Fabric Layer: la fibra ottica che collega gli switch e router
- Storage Layer: Dischi di archiviazione per esporre i dati in maniera block based e in JBOD e JBOD. L’accesso avviene tramite simil protocolli SCSI.
In cosa consistono le SDS?
Quali requisiti hanno?
Quali attributi chiave hanno?
Fai un esempio di prodotto
Le Software Defined Storage è un approccio alla gestione dello storage in cui il controllo e la gestione dello storage sono separati dall’hardware sottostante.
___________________
Devono:
- garantire disponibilità e affidabilità dei dati
- gestibili scalabili
- hardware indipendence: abbiamo pool di storage che provengono da vendor differenti, abbiamo bisogno di un layer che li astragga.
_______________
Gli attributi chiave sono:
- Automazione: la gestione semplificata riduce i costi di manuntenzione
Interfacce standard: tramite API per gestione/provisioning/manuntenzione dei dispositivi e sistemi
- Modalità di accesso interfacce block/file/object
- Scalabilità
__
Ceph è un filesystem che permette di distribuire i dati su più dischi tramite algoritmo hash based load balancing chiamato CRUSH, usa i metadati e meccanismi di journaling, tutte le operazioni sono atomiche.
- Meta data server distribuito: con supporto al bilanciamento del carico per le operazioni di appertura/creazione file e lista directory
- Reliable automatic object store: che gestisce il filesystem block based per le operazioni di scrittura/lettura