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 LAB logico usato nella comunicazione e LBA fisico. Usiamo metadati per mantenere la mappatura, possiamo usarlo anche per la ridondanza. Oppure possiamo 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 per mappare eventi logici in estensioni fisiche (blocchi su disco). Costruiamo un file system con vari LE (logical extent) collegati a dei PE (Physical Extents) distribuiti sui dischi diversi. Abbiamo PV e PE (Volumes).
____
- 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 ogni volta che viene modificato si crea una copia, questo avviene sui metadati non sul blocco effettivo del disco
- decuplicazione 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 : Identifica un disco collegato localmente ad una macchina
Abbiamo un disco esterno collegato a un host, i volumi logici non sono esposti alla rete ma sono visibili localmente e preso in carico dal SO tramite drivers.
__
NAS Identifica un disco visibile a pi`u macchine.
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 : Identifica pi`u dispositivi dedicati allo storage
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 SDS 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 manuntenzion
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