martedì 5 novembre 2013

ScaleIO ECS: il software Provided Storage di EMC

Nel mese di Luglio di quest’anno (2013) EMC ha siglato un accordo per l’acquisizione di ScaleIO, società che ha sviluppato una soluzione pioneristica di software provided storage.
L’acquisizione di ScaleIO è finalizzata al rafforzamento della strategia e del portfolio della EMC Flash Product Division, che già si compone di  PCIe Flash card EMC XtremSF™ (PCIe Flash card),  EMC XtremSW ™ Suite, XtremIO™ (all-Flash array), oltre alle soluzioni Flash-optimized hibrid arrays con i sistemi EMC VMAX ® and EMC VNX ®.

ScaleIO, tramite un approccio basato esclusivamente su software, è in grado di realizzare di creare un pool virtuale di storage server-based, cioè attraverso nodi composti da singoli server. Quest’architettura permette di ottenere elasticità e scalabilità in termini di capacità e performance. ScaleIO utilizza le risorse elaborative e capacitive di ogni server (nodo) e può scalare da decine a migliaia di nodi.



La soluzione software ScaleIO Elastic Converged Storage (ECS) consentirà ai clienti EMC di implementare pool di storage condiviso e protetto partendo dalla capacità disco interna al server o direttamente connessa ad esso nella modalità DAS (Direct Access Storage).

Ad ogni cambiamento delle risorse computazionali e capacitive, per l’aggiunta o eliminazione di nodi, ScaleIO ECS è in grado di bilanciare automaticamente la distribuzione dello storage e di ottimizzare le performance e l’utilizzo delle capacità. E’ possibile aggiungere o eliminare nodi on-the-fly: in maniera trasparente e senza interruzione di servizio.
ScaleIO è una soluzione agnostica rispetto all’hardware: può utilizzare server di diversi vendor e di diversa configurazione e può essere installata sia su server fisici che su server virtuali.
Il cliente potrà far girare un Data Server (DS) driver su uno qualsiasi nodo e che vuole aggiungere ad un virtual pool; farà poi girare un Data Client (DC) driver su un qualsiasi nodo che dovrà avere accesso al virtual pool creato. Naturalmente, su ogni nodo è possibile far girare contemporaneamente sia il DS che il DC driver in modo che possa contribuire a fornire risorse storage al pool e contemporaneamente fruire delle risorse disponibili nel pool.
Attraverso l’aggregazione delle IO dei diversi nodi, la soluzione garantisce alte performance.

Analizziamo un esempio pratico:

  • consideriamo 10 servers ognuno con accesso a 10 dischi da 1TB: senza senza Scale-IO le performance sono pari a un throughput totale di 2.000 IOPS.
  • considerando la stessa configurazione, utilizzando ScaleIO ECS, ogni server ha accesso a 100 dischi da1TB raggiungendo un throughput totale di 20.000 IOPS.
  • utilizzando ancora ScaleIO ECS, ma questa volta considerando 100 server, ogni server ha accesso a 1000 dischi da 1TB raggiungendo un throughput totale di 200,000 IOPS.

Scale-IO può essere considerato per una ampia varietà di utilizzi, come implementazioni VDI, virtualizzazione, Test & Dev, HPC (High performance Computing), Distributed FileSystems, etc…. Per esempio è possibile utilizzarlo, nel caso di un Service Provider, per fornire un servizio Cloud di storage Flash in modalità flessibile e dinamica.
Sono ovviamente disponibili diversi data service quali ad esempio: Instant Copies, Multi tenancy, Multi-tiering, Quality of Service, Native Data Encryption.

L’implementazione e la gestione sono semplici e veloci. E’ possibile configurare un’architettura di 100 server in meno di due ore. L’aggiunta di un server addizionale richiede qualche minuto.
Di seguito alcune immagini della interfaccia di monitoraggio:
 


Ovviamente da buoni “EMC Geek” non ci siamo fatti sfuggire l’opportunità di installare il prodotto nel nostro Lab. La prima installazione è avvenuta (ovviamente!!) in ambiente VMware: ScaleIO rende disponibile delle virtual machine (in formato OVA) già ottimizzate e pronte per l’installazione in ambiente VMware. Una singola macchina virtuale può essere clonata molteplici volte per creare i diversi server che supporteranno l’installazione multi nodo di ScaleIO. Per la cronaca ogni macchina virtuale richiede 2 vCPU e 1 Gb di RAM nelle impostazioni di default. Le macchine virtuali nel nostro Lab sfruttano partizioni VMFS ricavate sui dischi locali dei server, in questo modo recuperiamo spazio e IOPs da dischi che altrimenti lavorerebbero ben poco dato che contengono solo l’installazione di ESX.
 


Alla prima login le macchine virtuali guidano l’utente nella configurazione di rete.


Una volta messe in rete le diverse macchine virtuali si procede alla configurazione di ScaleIO. E’ disponibile una procedura guidata che aiuta l’installatore a preparare un file di installazione che definisce quali saranno le caratteristiche di ScaleIO nel nostro setup.  


Il processo di installazione viene così guidato ed è immediato capire se tutte le componenti di ScaleIO hanno ricevuto la giusta configurazione. Ogni nodo di ScaleIO contribuisce allo spazio che il cluster renderà disponibile. Nella nostra configurazione abbiamo usato macchine Linux (ovviamente supportiamo anche Windows :) ), quindi si può vedere nello screenshot successivo come abbiamo dedicato un intero drive (/dev/sdb) a ScaleIO. Allo stesso modo sarebbe possibile destinare un singolo file o una partizione disco.


Una volta finita la fase di preparazione si può verificare a colpo d’occhio che tutto sia stato configurato:


Terminato quindi questo processo viene generato automaticamente il file di installazione (site.cfg). A questo punto si lancia uno script di installazione che ricava dal file site.cfg tutte le informazioni necessarie.  


Lo script provvede ad installare tutte le componenti di ScaleIO su tutti i nodi quindi la procedura è molto facilitata. Non è infatti necessario operare su ogni singolo server ma il primo server lancia le installazioni su tutti i nodi: ecco come può essere possibile installare centinaia di nodi in un paio d’ore.


In ultima analisi il processo di configurazione è molto veloce e l’aggiunta di nodi o di singoli dischi (quindi di capacità), anche post installazione, è semplice ed immediato. Presto “metteremo” alla frusta il sistema che abbiamo installato: stay tuned!! :)


Luigi De Meo – Advisory Systems Engineer
Fabio Chiodini - Global Field Technologist

Link:
EMC acquisisce ScaleIO e rafforza il proprio portfolio Flash:
 http://italy.emc.com/about/news/press/2013/20130711-01.htm
EMC to Welcome ScaleIO to the EMC Flash Product Division:
http://pulseblog.emc.com/2013/07/11/emc-to-welcome-scaleio-to-the-emc-flash-product-division/
 

1 commento:

  1. Tecnologia interessante, spiegata con grande chiarezza. Complimenti Luigi

    RispondiElimina