Atlantis USX (Unified Software-defined Storage) è una soluzione di tipo software-defined storage (SDS) 100% software, che permette di trasformare tradizionali storage o semplici dischi locali in uno storage condiviso di classe enterprise, ricco di funzionalità e con prestazioni molto elevate.
La prima versione del prodotto è stata annunciata un anno fa (nel febbraio 2014) e attualmente siamo arrivati alla versione 2.0 del prodotto (annunciata nell’agosto 2014) con tante funzionalità interessanti.
Le peculiarità del prodotto è che può essere utilizzato come soluzione di storage a sé stante (per implementare una soluzione di storage hyper-converged partendo da server con dischi locali), oppure come strato di virtualizzazione di storage esistenti, portando nuove funzionalità e vantaggi. Ad esempio, è stato annunciato che la prossima versione di USX includerà il supporto per i VMware Virtual Volumes, il che vuol dire che utilizzando questo prodotto qualunque storage può diventare compatibile con i Virtual Volume introdotti in vSphere 6.0. Come già scritto, Atlantis USX è un prodotto 100% software, distribuito nella versione VMware (in futuro dovrebbe anche finalmente arrivare la versione per Hyper-V) sotto forma di di virtual appliance in formato OVF (quindi con i vari file per ogni vmdk).
Questa VM può essere caricata su una qualunque infrastruttura VMware vSphere (a partire dalla versione 5.1) fatti salvi alcuni requisiti minimi (alcuni in realtà non sono bloccanti per un deploy in un lab, come ad esempio la necessità di avere schede di rete a 10 Gbps).
L’installazione e la configurazione non sono proprio con un singolo click, dato che vi sono varie fasi da seguire e un minimo di conoscenza del prodotto è necessario per la comprensione di quello che si sta facendo.
D’altra parte sul blog di Atlantis Computing esistono anche una una serie di post che descrivono in dettaglio queste attività suddividendo il tutto in più post:
- Part 1: Overview and Architecture
- Part 2: Installation and Configuration
- Part 3, Deploying a Hybrid SAN/NAS Volume
- Part 4, Deploying a Hybrid DAS Volume (aka Hyper-Converged)
Il tutto ovviamente in lingua inglese, ma in Italia esistono anche webinar e corsi dei vari distributori (come ad esempio Ready) che possono colmare il “divario” linguistico.
Architettura
Atlantis USX trasforma storage di varia natura (NAS, SAN, DAS) in un pool di risorse, sui quali è possibile implmentare dei volumi (che in VMware diventano poi datastore) con funzoinalità comuni come HA, deduplica, caching, compressione, ….
Deployment
La prima VM che compone Altantis USX può essere importanta in un ambiente VMware vSphere utilizzando la classica funzione di “Deploy OVF Template”. Il processo è abbastanza semplice, ma chiederà subito alcune informazioni che serviranno a parametrizzare la VM:
Queste informazioni sono passare durante il deploy dell’OVF e spiega perché non si possa (almeno non in modo semplice) deployare l’ambiente direttamente su Workstation (almeno per la prima VM).
La prima VM è la management VA (notare che è un sistema a 32 bit), ma non sarà sicuramente l’unica… mano mano saranno istanziate altre VM (ma il processo sarà del tutto automatico):
- Una per ogni host (Ubuntu Linux a 64 bit)
- Una per ogni volume USX (sempre Ubuntu Linux a 64 bit)
- Altre a seconda dei servizi attivati (ad esempio una per l’HA)
Configurazione
Non appena la virtual appliance per la parte di management è stata istanziata e accesa e possibile lavorare poi unicamente da un’interfaccia web, utilizzando il vostro browser preferito. Un browser recente va più che bene e l’interfaccia è molto reattiva e piacevole… forse migliorabile dal punto di vista di interfazione uomo macchina, dato che alcuni pulsanti come il salva o quello per tornare indietro non sono poi così visibili ed immediati. Le credenziali di default sono admin/poweruser.
Vi saranno 5 passi differenti, abbastanza facili, ma alcuni dei quali che richiedono un minimo di conoscenza del prodotto (o pazienda a leggere il manuale): In realtà prima si potrebbero sistemare le impostazioni di tipo global preferences (Settings –> Preferences from the top right corner) e fare qualche aggiustamente, soprattutto se state lavorando in un ambiente con risorse limitate di tipo lab.
Il punto 1 è veramente semplice e banale: specificare il VM Manager mettendo indirizzo IP o nome DNS e le credenziali per accedere (con un giusto set di permessi) al vCenter Server. Il nome “VM Manager” magari non è così intuitivo, ma bisogna ricordarsi che il prodotto è pensato per essere potenzialmente multi-hypervisor, quindi molte volte troverete termini generici che possono poi falmente essere calzati su specifici prodotti e soluzioni.
Anche il punto 2 è molto semplice: bisogna selezionare gli host ESXi e gli storage (specificato i datastore desiderati) che saranno utilizzati da USX:
Notare che, come nell’esempio, sia possibile selezionare anche un datastore di tipo VMware Virtual SAN, oltre che ovviamente a qualunque datastore supportato e riconosciuto da VMware ESXi Server.
Il punto 3 già richiede qualche informazione in più e un minimo di pianificazione. Bisogna specificare le reti da utilizzare, sia per la parte di management che per la parte di storage. Queste due reti possono essere una sola, ma più realisticamente si andranno ad implementare due reti separate.
Per ogni rete bisogna specificare come assegnare gli indirizzi IP necessari per l’infrastruttura (o via DHCP o tramite un pool di IP statici) e quale VMware VM portgroup usare come connettività di rete (può essere un portgroup su un virtual switch tradizionale o anche su un distribuited virtual switch).
Si parte quindi normalmente dalla rete di management:
Per poi specificare quella relativa allo storage:
Il punto 4 richiede di specificare un “template” per le VM che si andranno ad istanziare (automaticamente) nell’infrastruttura. Di fatto bisogna specificare una naming convention su come chiamare queste VA:
A questo punto le varie VA (in realtà solo quelle per ogni host) saranno automaticamente deployate nell’infrastruttura:
E finalmente si arriva al punto 5: la creazione dei volumi!
Tipi di volumi
Prima di implementare i volumi di USX (l’equivalente delle LUN per storage tradizionali), bisogna capire quali tipi diversi esistono in USX 2.0:
- Hybrid (SAN/NAS o Local Storage): volume di default. Utilizza un tier di accelerazione in memoria (o in SSD) e un tier capacitivo su storage tradizionale che può essere condiviso o locale.
- All Flash: come dice il nome un volume realizzato solo con memorie flash, che possono essere locali, oppure condivise derivate da storage full flash.
- In-Memory: i più veloci, di solito utilizzando la memoria locale, ma nella realtà si possono usare anche memorie flash locali. In entrambi i casi diventano risorse di un unico pool.
- Simple Hybrid (Equivalent to disk-backed ILIO): simile al tipo ibrido, ma dove è possibile avere anche un solo host.
- Simple In-Memory (Equivalent to diskless ILIO): simile all’in-memory, ma di tipo statless (in realtà è possibile configurare un backup automatico, di default uno ogni notte).
Gli ultimi due tipi (Simple volume) sono pensati per casi d’uso molto specifici, come ad esempio gli ambienti di tipo Virtual Desktop Infrastructure (VDI) e Server Based Computing (SBC).
Per quanto riguarda la creazione di un volume, le scelte proposte saranno esattamente queste 5:
Naturalmente, a seconda del tipo di volume, vi saranno considerazioni diverse da fare e aspetti progettuali da considerare.
In ogni caso, quando poi si crea un volume (in questo caso in in-memory utilizzando la RAM) saranno accesse le varie VA degli host (se non erano ancora accese) e sarà instanziata una nuova VA per il volume (la scelta di creare una VA per volume può lasciar perplessi, ma può dare diversi vantaggi in quali funzionalità abilitare e anche nelle fasi di migrazione dei volumi):
La guida fornisce un dettaglio maggiore su tutti i tipi di volume e le diverse impostazioni.
Creato il volume è possibile montarlo in vSphere agendo direttamente dall’Atlantis USX manager, cliccando sul pulsante Actions e selezionando ‘Mount Volume’. I diversi nodi VMware ESXi vedranno, a questo punto, un nuovo datastore condiviso e sarà possibile utilizzarlo come qualunque altro datastore.
Lato Atlantis manager vi saranno ovviamente molte più funzionalità, come ad esempio le diverse statistiche sul funzionamento dei volumi, mano mano che saranno riempiti ed usati:
In realtà non si è finito, almeno non ancora. Ogni volume ha varie funzionalità ed almeno la funzionalità di HA andrebbe attivata un un sistema in produzione (a meno di avere già un HA a livello applicativo). Per faro basta cliccare sul pulsante Actions e selezionare ‘Enable HA’:
USX andrà ad istanziare automaticamente una nuova VA: la HA VM.
Per maggiori informazioni di aspetto generale sul prodotto, vedere anche questi post precedenti: