venerdì 21 dicembre 2007

Archiviazione: Nexan e DataDomain

Con il progredire delle tecnologie, la banda larga, la necessità di digitalizzare quello che una volta era esclusivamente cartaceo stà emergendo sempre di più il bisogno di creare sistemi ibridi tra uno "storage comune" (NAS o SAN) e un sistema di archiviazione stile TapeLibrary (o VTL).

Ci sono diverse ragioni per cui può diventare necessario affiancare al backup tradizionale (sempre e comunque fondamentale) un sistema di archiviazione "alternativo"

1) dover tenere in linea file che vengono acceduti in maniera molto sporadica
2) garanzia di integrità del dato nel tempo
3) automatizzare i processi di "pulizia"

Nella ricerca di prodotti che soddisfano queste necessità ho trovato e testato Assureon di nexan e DataDomain due prodotti che, seppur molto diversi tra loro, pongono entrambi molta attenzione ad un aspetto fondamentale: la sicurezza del dato. Il datadomain, inoltre, ha il gran pregio di fornire la tecnologia di deduplicazione su cluster che permette di ridurre impressionantemente la dimensione dei dati stoccati (ho visto un fattore di "compressione" anche di 16.1 su file PDF, quindi già compressi).

Guardiamo nel dettaglio cosa offrono i due prodotti, quali sono i loro pregi e quali i difetti.

Assureon:
Aspetto decisamente accattivante: sata blade per lo storage e un Dell PowerEdge per il sistema non sono niente male.
L'assureon è dotato di un db MS sql "blindato" da nexan sul quale, oltre alle impostazioni di configurazione, viene memorizzato l'hash di ogni file che viene scritto sullo storage.
Uno dei punti di forza del prodotto, infatti, è prorpio che di ogni file viene calcolato l'hash prima e dopo la scrittura (e, se la memoria non mi inganna, anche ricontrollato periodicamente) per garantirne l'integrità.

Altra cosa estremamente interessante (indispensabile per rispondere alle esigenze di cui parlavo prima) è che una volta spostato un file l'assureon lascia un link in formato $nomefile.url che richiama un webservice incaricato di riportare indietro il file originale. In pratica se apro il mio pippo.url mi ritroverò un pippo.txt.

Chiaramente il grande limite di questo metodo è che è necessario convertire in qualche modo il .url in .$EstensioneOriginale. Per fare questo Assureon ha sviluppato un FileSystemWatcher (immagino usi l'omonima classe del Framework .net) che, installato sulle macchine che effettuano la chiamata, la eseguono in maniera totalmente trasparente per l'utente.
Nella mia situazione ho ritenuto la cosa accettabile perchè tutte le chiamate sarebbero arrivate da un limitato numero di macchine (5 server in cluster) ma mi rendo conto che può diventare complicato, fastidioso e, sopratutto, dispendioso dover acquistare una licenza del FileSystemWatcher per ogni macchina che deve accedere al FileSystem (ma va anche detto che realizzarne uno artigianale in casa, con magari solo le funzioni essenziali, non dovrebbe essere cosa troppo ardua).

Altra grande pecca, o, per meglio dire, funzione mancante, è la mancanza di un sistema di compressione veramente efficace. La compressione software basata sull'algoritmo di Huffman non mi ha dato, ovviamente, risultati sui PDF (ovvero sulla gran parte dei dati che a me serviva archiviare) e la deduplicazione è eseguita solo sull'intero file: in pratica se, una volta calcolato l'hash di un file, l'assureon lo trova già nel DB non lo scrive nuovamente sul FileSystem.

Sicuramente degna di nota anche la gestione delle versioni dei file, una sorta di shadow copy evoluta che permette di certificarne l'assoluta "originalità". In pratica se decido di tenere un file per 10 anni posso modificarlo quante volte voglio....ma durante questo periodo potrò sempre recuperarne la versione originale e sicuramente non modificata. Questo aspetto è molto interessante per le implicazioni legali che comporta ma va anche detto che con questa funzione lo spazio che può occupare un file rischia di aumentare in maniera esponenziale: per un file da 1 Mb di cui voglio tenere 3 versioni dovrò prevedere 3 Mb di spazio. E se dovessi decidere che ogni versione va conservata per 10 anni devo prepararmi a veder crescere l'occupazione reale per $N volte...tante quante sono le modifiche apportate. La certezza di avere un dato non corrotto porta a queste conseguenze.

Per gestire tutte le funzioni dell'assureon, dalle politiche di archiviazione, alla definizione del retention period e delle modalità di gestione del file "scaduto", c'è un'interfaccia web che, francamente, mi è sembrato necessiti ancora di tanto lavoro per renderla più user friendly.

Il più grande problema che ho riscontrato nella fase di test è l'assistenza. In Italia esiste praticamente un unico rivenditore e un'unica persona che si occupa dell'assistenza alla clientela. ..un po' poco se ci si aspetta aiuto in tempi celeri in caso di bisogno.

Dopo aver escluso l'acquisto di Assureon ho iniziato la valutazione di DataDomain abbinato al Symantec Enterprise Vault.
Il software è conosciuto (anche perchè symantec lo pubblicizza quasi esclusivamente sotto questo aspetto) in particolare come prodotto per il backup di ms exchange, ma devo dire che ha anche diverse altre funzioni interessanti come, in particolare, la possibilità di gestire l'archiviazione di un filesystem.
Molto banalmente EnterPrise vault può, in base a delle policy che definiamo, spostare dei file da un filesystem (nel mio caso NAS) ad un altro (nel mio caso DataDomain) lasciando sul filesystem originale un "place holder"....in pratica un link che, a differenza di quello lasciato dall'Assureon, ha stesso nome e estensione (e volendo anche dimensione) dell'originale....una sorta di link linux (volendo anche hard link). Enterprise Vault è decisamente più intuitivo dell'interfaccia di Assureon e il db MS SQL utilizzato (va bene anche una express edition) è totalmente accessibile all'utente e la cosa potrebbe rivelarsi estremamente interessante per produrre statistiche e report precisi sull'occupazione del FileSystem. (sto ancora cercando di capire come funziona il db ma sono ottimista).
Lato storage DataDomain è a tutti gli effetti un NAS che però, a differenza di altri storage, ha 2 obiettivi primari:
1) il dato che viene scritto sul DataDomain DEVE rimanere integro
2) ridurre lo spazio occupato su disco

La sicurezza del dato (sicurezza intesa come integrità...non come "non modificabilità") è messa addirittura al primo posto rispetto alla continuità del servizio.
Un esempio abbastanza esplicativo:
Il mio nas NetApp, in caso di fault di 2 dischi continua a funzionare per 76 ore prima di andare in shutdown forzato...e non si riaccende fin quando i dischi non sono stati sostituiti.
Con il DataDomain (stesso RAID 6) in caso di fault di un solo disco il sistema funziona solo 48 ore prima andare in shutdown forzato....e va detto che DataDomain è nata da una costola di NetApp...quindi le logiche di funzionamento sono le stesse.
Inoltre se, per qualsiasi motivo, il datadomain dovesse rilevare qualche anomalia che potrebbe fargli sospettare un bug del suo software interno andrebbe in shutdown forzato.
E' per questo motivo che non credo il miglior utilizzo di DataDomain sia come filesystem di produzione ma come filesystem di archiviazione.

Quello che rende veramente unico DataDomain è la DEDUPLICAZIONE su cluster.In pratica archiviando determinati tipi di dati (i PDF ne sono un esempio lampante) le possibilità di trovare dei cluster da 4 Kb identici sono abbastanza alte. DataDomain non scriverà mai 2 cluster uguali, e questo può portare a ridurre l'occupazione di disco con fattori altissimi.

Oltre alla deduplicazione il DataDomain effettua anche una compressione software che, nel mio caso, si è rilevata utilissima per archiviare svariate migliaia di file di testo di dimensione minore dei 4Kb (quindi praticamente non deduplicabile) ma facilmente comprimibili.

La deduplicazione è infatti possibile solo su file di dimensione > Kb e non compressi o cifrati.
Questo mi porta alla vera nota dolente: Enterprise Vault e DataDomain che a me sembravano nati per lavorare insieme sono in realtà, al momento, incompatibili.

EnterpriseVault ha il grandissimo difetto di tentare una compressione sosftware del dato prima di spostarlo....questa funzione, non disattivabile, rende praticamente inutile la deduplicazione di datadomain :-(

Ad oggi symantec non ha dato ancora certezze ma nella prossima versione (metà 2008) di enterprise vault questa funzione dovrebbe essere disabilitabile.

Concludendo la mia situazione era questa:

un NAS strapieno di PDF e TXT (molto piccoli ma molto numerosi) da tenere tutti circa 10 anni.
un NAS strapieno di TXT (molto piccoli ma molto numerosi) più vecchi di 10 anni ma che, non esistendo automatismo che lo facesse, nessuno ha mai storicizzato / cancellato
un NAS con spazio disco quasi esaurito.
la necessità di avere garanzie sull'integrità del dato...garanzie che ne i tape ne i supporti ottici forniscono.

La soluzione che cercavo era un prodotto che si occupasse di archiviare i file con determinati criteri spostandoli su un filesystem che avesse un costo medio a Tb minore di quello del nas.

Ho trovato tutto questo in DataDomain (costo superiore a quello di una NAS ma considerando un fattore medio di deduplicazione di 4 il costo medio per Tb per me è risultato decisamente inferiore) abbinato all'ottimo enteprise vault...aspettando una patch per pezzare il problema della compressione non disattivabile

Nessun commento: