L’utilizzo di dispositivi
a Stato Solido per l’immagazzinamento dei dati non è un concetto nuovo
nell’Informatica; le prime soluzioni di questo tipo erano basate su memorie di
tipo DRAM e risalgono agli anni ’70 ed anche prima.
Rispetto ai supporti
magnetici, lo Stato Solido presenta molteplici benefici (maggiore compattezza,
minori consumi e soprattutto prestazioni molto più elevate), ma anche costi molto
più elevati che ne hanno storicamente ristretto l’utilizzo ad un ambito
ristretto - tipicamente nel campo dei Super-Computer.
Le cose stanno
rapidamente cambiando con l’introduzione delle Memorie Flash, che hanno prezzi
decisamente più bassi delle DRAM (ed in costante discesa); ciò rende finalmente
possibile l’introduzione dello Stato Solido nel Data Center, anche se il
divario di prezzo tuttora esistente verso i dischi tradizionali impone di motivare
in maniera rigorosa l’investimento al management.
Per questo motivo è necessario un impiego ragionato delle nuove
tecnologie, che riesca a sfruttare nel modo migliore la loro “potenza di
fuoco”.
Figura 1: Densità di I/O al secondo per GB
Le possibilità di impiego
dello Stato Solido come Storage includono:
Gli Storage “ibridi”
Sono Storage che possono
essere configurati con una percentuale variabile di dischi a Stato Solido e
dischi magnetici tradizionali (FC, SA e/o SATA). Questi Storage dispongono
anche di funzionalità software in grado di spostare automaticamente i dati tra
dischi di diversa tecnologia in funzione dei profili di carico, il tutto in
maniera trasparente alle applicazioni.
Le situazioni d’impiego
tipiche per questo tipo di Storage sono i carichi di lavoro di tipo misto (letture
e scritture, random e sequenziali) e variabile nel tempo, e che possono
tollerare occasionali piccole variazioni dei tempi di risposta. Rientrano in
questa casistica i Data Warehouse, i Data Base OLTP, la Posta Elettronica, e
ogni possibile loro combinazione.
Storage “All-flash”
Sono Storage interamente configurati con dischi a Stato Solido, come EMC XtremIO.
Al contrario degli Storage “Ibridi”, EMC XtremIO è ottimizzato per l’utilizzo
esclusivo delle memorie Flash, adottando
una serie di accorgimenti per rendere più efficace l’utilizzo dello spazio
disponibile e ridurre al minimo le scritture fisiche.
Su questo aspetto è utile ricordare che per le memorie Flash le operazioni
di scrittura sono decisamente più onerose delle letture. Le scritture, infatti:
- sono più lente delle letture;
- tendono ad usurare le memorie Flash (la durata di una memoria Flash dipende direttamente da quante volte questa viene riscritta);
- in caso di scrittura su aree già scritte in precedenza richiedono un “erase” preventiva. Anche se l’erase viene svolto in background ed in maniera asincrona rispetto alle scritture (algoritmi di garbage collection), è un processo consuma risorse e può creare temporanei rallentamenti.
Gli accorgimenti adottati da XtremIO per ridurre il numero di scritture fisiche
sono molteplici:
- Deduplica on-line: la deduplica avviene in memoria: XtremIO analizza le scritture in ingresso, riconosce se i dati sono già presenti ed in questo caso si limita a creare un nuovo puntatore al blocco già scritto, senza effettuare nessuna nuova scrittura
- Distribuzione Automatica dei Dati: il posizionamento dei nuovi dati in ingresso è distribuito in modo da utilizzare equamente tutte le memorie Flash, indipendentemente dalla posizione che il blocco ha per il server
- Protezione dei dati ottimizzata per Flash: XtremIO adotta algoritmi proprietari (in attesa di brevetto) che forniscono un livello di protezione analogo al RAID 6, ma che richiedono un numero di scritture inferiore ed hanno prestazioni superiori a qualsiasi algoritmo RAID esistente.
Oltre a questi accorgimenti, XtremeIO presenta altri vantaggi legati
all’adozione della tecnologia Flash: non necessita di Tuning (grazie alla
distribuzione automatica), ha consumi più bassi (grazie all’assenza di
dispositivi rotanti), supporta snapshot estremamente efficienti (grazie alla
deduplica.
Le situazioni d’impiego
tipiche per gli All-Flash riguardano applicazioni che richiedono prestazioni elevate ed
assolutamente costanti nel tempo, con un profilo di carico estremamente
randomico (che potrebbe rende poco efficaci gli algoritmi di spostamento
automatico degli Storage Ibridi). Rientrano in questa casistica ambienti di
Virtual Desktop (VDI), server farm virtuali ad alta densità, database critici
per applicazioni real-time.
Storage Flash installato localmente sui Server
L’ultima tipologia di Storage a Stato Solido è quella delle schede Flash da
installare direttamente sui server, come le EMC XtremSF PCIe flash card. Queste schede fungono da acceleratori
di IO, attraverso due meccanismi:
·
Possono essere utilizzate come dischi locali al server, accessibili
in lettura e scrittura per dati che non hanno necessità di essere immagazzinati
su Storage esterni (configurazione come Direct Attached Storage, o DAS). Questa
soluzione ha il vantaggio di avere i migliori tempi di risposta sia in lettura
che in scrittura, ma impone di rinunciare ai vantaggi degli Storage esterni: maggiore
protezione dei dati, possibilità di far gestire allo Storage i Cloni e le Repliche
Remote senza utilizzare risorse dei server, la possibilità di riallocare lo
spazio disco da un server ad un altro, la possibilità di condividere lo Storage
tra più nodi di uno stesso cluster.
Figura 2: utilizzo di XtremSF come DAS
·
Possono essere utilizzate come Cache di sola lettura a
bassissima latenza per dati che risiedono comunque su Storage esterni. In
questo caso si mantengono tutti i benefici legati all’utilizzo di Storage
centralizzati, ma al contempo si accelerano enormemente le prestazioni delle
applicazioni (tipicamente le letture costituiscono il 70%-80% delle IO
complessive). Nella configurazione come Cache, uno strato Software elabora le
statistiche di accesso ai dati e si preoccupa di gestire la “promozione” dei
dati più acceduti in Cache.
Figura 3: XtremeSF
utilizzato come Cache
E’ anche possibile partizionare la scheda in modo da utilizzarne una parte
come disco locale (DAS), ed una parte come Cache, come descritto nella figura
seguente.
Figura 4: XtremeSF
utilizzato in modalità mista
Le situazioni d’impiego
tipiche per questo tipo di Storage sono i carichi altamente transazionali e che necessitano di
alte prestazioni, di solito associati con applicazioni web 2.0, virtual desktop
(VDI) non persistenti, high-performance computing (HPC), e applicazioni
di trading. Hanno un impiego anche come acceleratori di applicazioni di
reporting, data analytics, data modeling ed altri carichi che possono
determinare picchi periodici sui server.
Conclusioni
Le esigenze delle applicazioni in termini di prestazioni e di affidabilità
dei dati (garantita da ridondanza, repliche locali e repliche) possono essere
molto differenti. Potenzialmente ogni applicazione potrebbe trarre vantaggio
dall’impiego di tecnologia Flash, ma occorre ponderare bene le scelte per
massimizzare il ritorno sull’investimento.
Nel corso degli ultimi anni EMC non solo è stata un pioniere nell’adozione
della tecnologia a Stato Solido nel campo dello Storage, ma ha sviluppato un
portafoglio ampio ed articolato di prodotti per consentire ai clienti di
impiegare questa tecnologia nella maniera più idonea a rispondere alle loro
esigenze.
Icilio Pascucci