Architetture di storage e carichi di lavoro (workload) (it)

Este post también está disponible en Español

La scelta di una determinata architettura storage è importante per consentire ad un carico di lavoro (workload) di essere eseguito nel modo più efficiente possibile.

Anche se i diversi sistemi di array All Flash condividono alcune caratteristiche in comune, essi differiscono nella loro capacità di gestire i vari tipi di carichi di lavoro.

In questo post analizzeremo come partendo dal workload si possa definire l’architettura di archiviazione più appropriata.

Il workload genera I/O

Tecnicamente si parla di carichi di lavoro o workload per riferirsi all’insieme delle attività effettuate dalle applicazioni che hanno come risultato finale quello che viene genericamente chiamata una operazione di I/O. Un workload non è “platform aware”, in teoria può essere eseguito su un ambiente fisico, virtuale o cloud.

Un carico di lavoro genera I/O; I = input, O = output, input = write (inserire informazioni nel sistema), output = read (risultato dell’input, le informazioni che ricevo e leggo come risultato dell’input). Un carico di lavoro produce un I/O costante = ciascun utente x il numero di utenti = “aggregate I/O”. Quando un sistema riceve un input queste informazioni devono essere memorizzate, immaginiamo in un DB. Come ultima istanza, tutto l’I/O viene indirizzato verso un sistema di storage che insieme alle applicazioni sono responsabili del processo di business.

Workload: Caratteristiche e classificazione

Un carico di lavoro può essere caratterizzato in base alla modalità di accesso ai dati. Da questo punto di vista ci sono carichi di lavoro con tipi di accesso sequenziale o casuale (random), con diverse proporzioni di lettura / scrittura e diversi “block sizes”. In entrambi i casi, le percentuali di I/O sequenziale / random variano all’interno dello stesso carico di lavoro. Una nota importante è che la caratterizzazione di un workload basata sul tipo di accesso è, ad oggi, meno appropriata. La ragione di quest’ultima affermazione è semplice: per effetto del consolidamento (storage sempre più capacitivi) oppure per effetto della virtualizzazione, un array riceve un mix di I/O, che viene chiamato un “I/O blend”, che è, per definizione “casuale”. Come sappiamo, la tecnologia flash è perfetta per questo tipo di accesso e quindi, in ambienti altamente consolidati, la terminologia “random” / “sequential” perde il suo valore descrittivo.

storage architectures workloads
storage architectures workloads

Sulla base di queste considerazioni è più conveniente classificare le applicazioni in un data center e quindi i loro carichi di lavoro secondo requisiti di capacità, prestazioni e disponibilità.

Availability: quanto affidabile l’applicazione deve essere? Quali sono gli impatti sul business se l’applicazione non è disponibile? Per quanto tempo il business può tollerare che l’applicazione non sia disponibile? Qual è il tempo massimo necessario per recuperare i dati dopo un errore di sistema? L’applicazione richiede una copia continua con nessuna perdita di dati (RPO=0)? Tali ragionamenti danno un’idea degli investimenti necessari in quest’area.

Prestazioni: quanto velocemente il sistema risponde all’utente? Il tempo di risposta è appropriato alle necessità applicative? Un’applicazione consente di automatizzare un processo aziendale. Quindi se l’applicazione è lenta, lo è anche il business. Quante volte si passa ad un altro sito perché la pagina Web è lenta? Il tempo di risposta è dunque critico.

Capacità: quante informazioni vengono generate e in quale intervallo di tempo? Quando aumenta la capacità del sistema, prestazioni e affidabilità si mantengono costanti?

Questi tre requisiti (disponibilità, prestazioni, capacità) variano ampiamente secondo i carichi di lavoro e ciò rende più difficile ad un’unica architettura di archiviazione di supportare tutte queste caratteristche in modo ottimale. Un’affermazione contraria può essere una dichiarazione poco veritiera, soprattutto quando si considerano architetture di tipo All Flash. Vediamo il perché. L’uso della tecnologia flash in un data center sta diventando uno standard, e come sapete, Dell EMC ha denominato l’anno 2016 come “The year of All Flash”. Dal punto di vista di Dell EMC ciò significa che l’intero portafoglio storage è stato ridisegnato con nuove architetture in grado di utilizzare la tecnologia flash nel miglior modo possibile e che, d’ora in poi, Dell EMC introdurrà i più importanti sviluppi principalmente per le famiglie All Flash.

Architetture flash dual-controller, scale-up

Pensiamo ad uno storage nella sua forma più elementare; 2 controller + una serie di dischi. Per questo tipo di storage ci sono 2 tipi di architetture; 1 controller attivo + 1 secondo controller passivo oppure 2 controller attivo/attivo.

Dual controller (active/passive): Il tipo di architettura 1 controller attivo + 1 controller passivo può funzionare bene con una tecnologia disco “tradizionale” dove la quantità di I/O è dell’ordine di 180 I/O per disco. In uno storage Flash invece, dove il numero di I/O generati da ogni disco flash è molto maggiore, un’architettura basata su due controller di cui solo uno è attivo diventa rapidamente un limite alle prestazioni.
Ricordate che oltre a servire I/O verso gli host, il controller deve allo stesso tempo effettuare tutta una serie di attività quali la creazione di copie locali o remote, thin provisioning, virtualizzazione, eseguire meccanismi di riduzione dei dati (deduplica/compressione) e nel caso particolare di dischi flash, un processo molto oneroso come la garbage collection. Queste attività impegnano notevolmente le CPU dei controller e determinano che se solo uno di loro è attivo, questo diventi un collo di bottiglia.

storage architectures dual controller active passive
storage architectures dual controller active passive

Ad una prima analisi potrebbe sembrare che questo tipo di soluzioni, dual-controller (attive/passive) siano meno costose, in realtà questo non è completamente corretto. Il numero di I/O che uno storage è in grado di sostenere è un fattore che dipende dal numero e dal tipo di CPU presenti nei controller. Con 2 controller dove solo uno è attivo, è necessario aumentare il numero di CPU per evitare di perdere troppo in prestazioni. Logicamente, il controller in stand-by (il controller passivo) deve essere dello stesso tipo. Come risultato finale, si paga per un controller che non viene utilizzato per il 99,999 del tempo.

A causa di queste limitazioni, il tipo di architettura attivo/passivo non è presente in nessuna delle piattaforme di storage Flash di Dell EMC.

Dual controller (active/active): rappresenta un’evoluzione del modello precedente dove i due controller operano allo stesso tempo eliminando in gran parte i problemi sopra citati.
Nelle architetture dual-controller e scale-up (crescita verticale) le performance aumentano con l’aumento della capacità lungo una curva fino a raggiungere la saturazione quando la quantità di I/O generata dal back-end (disco), in aggiunta alle attività eseguite dai controller, superano la potenza di calcolo degli stessi. Questi sistemi sono stati progettati come “general purpose”, multiprotocollo, facilità di utilizzo, supporto simultaneo SAN / NAS e dove le esigenze di consolidamento e protezione dei dati (copie locale/remote) non sono troppo rigide.

storage architectures dual controller active active
storage architectures dual controller active active

Esempi di questo tipo di architetture nel portafoglio All Flash di Dell EMC sono Unity e SC Series

Dell EMC Unity All-Flash Storage

Dell SC Series Storage

Per i casi di uso dove sono necessari maggiori requisiti di scalabilità, prestazioni, consolidamento massivo e servizi di dati evoluti è opportuno valutare un tipo di soluzione scale-out oppure scale-out + scale-up.

Architetture multi-controller, scale-out & scale-up

Presenti in molti ambienti di tipo “enterprise”, queste soluzioni sono caratterizzate da uno sviluppo a nodi dove ogni nodo contiene 2 controller di tipo attivo/attivo e un gruppo di dischi. La scalabilità viene ottenuta aggiungendo gruppi di nodi e capacità storage. I nodi e i gruppi di nodi vengono collegati ad un “back-plane” ad alta velocità come ad esempio Infiniband per permettere la condivisione delle risorse dell’intero sistema. Con questo tipo di configurazione, è possibile creare un’infrastruttura in grado di scalare fino a centinaia di TB di capacità e milioni di I/O. Inoltre, la potenza di calcolo di queste architetture consente di ottenere prestazioni e tempi di risposta prevedibili, maggiore affidabilità, bassa latenza e supportare molteplici copie di dati senza impatto sulle prestazioni mantenendo in ogni momento tutti i data services (compressione/ deduplica) “on line”.

storage architectures multi-controller
storage architectures multi-controller

Esempi di questo tipo di architetture nel portafoglio All Flash di Dell EMC sono il VMAX AF e XtremIO.

Dell EMC VMAX AF

Dell EMC XtremIO

FlashSessments

Identificare l’architettura e dimensionare il sistema che meglio soddisfa i requisiti di disponibilità, prestazioni e capacità in base ai carichi di lavoro presenti nel Data Center garantisce che la nuova soluzione rispetterà ed eventualmente migliorerà i risultati di business.
Un problema comune nel mondo IT è questa analisi propedeutica necessaria ogni volta che prendiamo in considerazione un processo di aggiornamento tecnico (“tech refresh”).

storage architectures workload characterization
storage architectures workload characterization

Prendiamoci un momento per riconoscere il fatto che sono i requisiti delle applicazioni (e quindi dei workload) a determinare quale piattaforma è la più adatta. Spesso, caratterizzare i carichi di lavoro in modo preciso, soprattutto in ambienti con numerose applicazioni, non è un compito facile. Per questo motivo, Dell EMC ha progettato un processo chiamato FlashSessment che, in modo semplice, ci permette non solo di identificare l’architettura Flash che meglio si adatta al carico di lavoro in esame, ma fornisce anche informazioni sui vantaggi che la nuova soluzione avrà rispetto a quella attuale.

storage architectures FlashSessments
storage architectures FlashSessments

Sui FlashSessment ho scritto un post che potete trovare al seguente link:
Dell EMC FlashSessments

Per concludere

La tecnologia flash ci aiuta a trasformare il data center in un data center moderno, mentre rimane ancora critica la comprensione dei carichi di lavoro e dei modelli di implementazione delle applicazioni per determinare l’architettura storage più adatta.

Caratterizzare un workload implica definire con precisione i requisiti di prestazioni, affidabilità e capacità, cosi come determinare gli eventuali “impatti” operativi e di business legati all’attività di “aggiornamento tecnico”.

In questo processo di valutazione, il FlashSessment di Dell EMC fornisce tutte le informazioni necessarie, illustrando in modo chiaro i vantaggi competitivi di una soluzione All Flash.

Storage Architectures Big Picture
Storage Architectures Big Picture

 


Per ulteriori informazioni:

Dell EMC Storage

#IWork4Dell