QSan TrioNas U210: il NAS per le PMI

Passiamo ora all’analisi del cuore del NAS, composto da tre principali moduli software, tramite cui è possibile garantire la persistenza dei dati, gestendone ridondanza, sicurezza e prestazioni. Si tratta rispettivamente del modulo per la creazione di Array Raid, del modulo per la creazione di share ZFS e del Target iSCSI Server.

Il fulcro di tutto il sistema è senza alcun ombra di dubbio il modulo dedicato alla configurazione degli array raid. Il TrioNas U210 supporta infatti la creazione di array di dischi in multiple configurazioni: 0, 1, 5, 6, 10, 50, e 60, basati su tecnologia raid-software con pieno supporto al “Thin Provisioning”. Per Thin Provisioning si intende una particolare tecnica che prevede l’allocazione di spazio on-demand piuttosto che riservare fisicamente blocchi a priori. In termini pratici, quando un sistema non supporta il Thin Provisioning, può allocare partizioni di grandezza massima pari allo spazio fisico di cui dispone sui dischi. Viceversa, tramite il Thin Provisioning, è possibile allocare virtualmente partizioni molto più vaste rispetto allo spazio che si ha a disposizione, allocando fisicamente blocchi sui dischi solo nel momento in cui si scrivono dati nelle partizioni. In tal modo, non solo si dispone di un sistema flessibile e scalabile, ma si ottimizza pienamente lo spazio fisico di cui si dispone, evitando la frammentazione dello spazio fisico.

Il TrioNas U210 non impone vincoli espliciti sul numero di array che è possibile creare, tuttavia avendo a disposizione 12 dischi, non prevediamo più di 6 array. Spesso, al fine di aumentare ridondanza e diminuire i tempi di intervento, si mantengono uno o due dischi come “spare” (inutilizzati), pronti per essere usati in caso di “failure” di un altro disco impegnato in un array.

Una interessante funzionalità implementate dal TrioNas U210 è la possibilità di installare dispositivi veloci in cascata ad array di dischi più lenti. Si tratta di un meccanismo di caching che prevede l’impiego di dischi a stato solido in testa ad array, permettendo di rendere più reattiva la lettura di dati oppure la scrittura. È interessante sottolineare che uno stesso disco SSD non può essere usato come cache sia per lettura che per scrittura, ed il motivo è valido. QSan ha deciso di separare la cache si lettura da quella di scrittura, per evitare perdita di dati in caso di failure del disco in cache. Sebbene non si avrebbero perdite di dati in caso di caching lettura (in quanto i dati sono ancora presenti sui dischi dell’array), in caso di scrittura i dati presenti sulla cache non verrebbero scritti sull’array. Per tale motivo, QSan sconsiglia di installare un solo disco come cache di scrittura, ma prevede la possibilità di installare cache complesse: è possibile infatti configurare due o più SSD in raid 1 da anteporre come cache si scrittura ad un differente array raid.

Considerati i numerosi parametri che entrano in gioco nella creazione di un array come spazio, velocità, ridondanza, flessibilità e costi, avere poter sfruttare l’SSD caching aumenta ancora il numero di compromessi che è possibile raggiungere. Un semplice esempio può essere quello relativo ad un’azienda che dispone di un software repository interno. Essa non prevede che il repository cambi di frequente, ma esso è invece soggetto a letture continue in fase di installazione di nuove macchine negli uffici. Si desidera perciò configurare un array di dischi raid in modo da avere sufficiente spazio, robustezza al fail di uno o due dischi e ottime prestazioni in lettura, sacrificando l’aspetto irrilevante della scrittura. In questi casi, sarebbero interessanti i raid 5/6, con SSD in testa per le letture. Si mantiene lo stesso compromesso spazio/prestazioni/costi del raid 5 o del 6, ma si aggiunge un fattore di “boost” in caso un determinato installer sia acceduto più frequentemente o simultaneamente rispetto ad altri (questa è una condizione abbastanza comune nel contesto che abbiamo descritto). Senza l’SSD caching si dovrebbe ricorrere a configurazioni raid più veloci, sacrificando spazio o ridondanza.

Dal punto di vista della sicurezza dei dati, il TrioNas mette a disposizione diversi layer di protezione e controllo. Vedremo successivamente le funzionalità di cifratura dei dischi/array che consentono la cifratura dei dati a livello basso. Ad un livello applicativo più alto, il TrioNas U210 permette gestire un proprio sistema di utenze, in modo da poter specificare permessi specifici per i vari utilizzatori del dispositivo. E’ infatti possibile garantire/negare permessi in lettura/scrittura su particolari share di un volume ZFS oppure per la connessione al target iSCSI.

In particolare, il TrioNas U210 è in grado di gestire le utenze (e quindi i permessi per ogni utente) appoggiandosi su tre differenti database: LDAP, ActiveDirectory oppure attraverso un db interno al nas stesso. Sebbene avessimo incontrato dispositivi NAS basati su sistemi operativi Linux (il QSan OS è Linux based) con supporto a server LDAP, il supporto a Windows ActiveDirectory è più raro. In effetti, il TrioNas U210 è in grado di usare il servizio WinBind (facente parte del pacchetto Samba) per connettersi al dominio Windows e scaricare sulla propria memoria una lista di gruppi/utenti, agendo fondamentalmente come cache (o proxy) di un DomainController. Per tale ragione non è permesso all’amministratore del TrioNas di modificare i gruppi o gli utenti presenti sul DC, in quanto tali informazioni sono di sola lettura per il NAS.

Negli ambienti Linux, l’integrazione per l’autenticazione può essere effettuata tramite la configurazione di un server LDAP, il quale verrà interrogato dal NAS per ottenere informazioni su utenti e permessi relativi. Anche in questo caso, non sarà possibile aggiungere nuovi utenti nel server LDAP dal NAS.

Qualora non si disponesse di nessuno dei due ambienti sopracitati, il TrioNas U210 consente la gestione di utenti e permessi a livello locale, agendo di fatto come server LDAP autonomo. E’ quindi possibile aggiungere utenti/password e gestire i permessi per ognuno di loro, senza dover incorrere in complicate configurazioni di dominio o LDAP. L’aggiunta e la rimozione di gruppi o utenti, in questo caso, viene effettuata tramite l’interfaccia web o il software QCentral.